FISS 제어 프로그램 메뉴얼 (v 1.1)
작성자: 강주형
Original Markdwon File download: Korean.md
PDF File Download: Korean.pdf
1. 프로그램 정보
현재 가용 가능한 FISS 제어 프로그램은 기존에 CVI로 작성된 것과 달리 Python을 이용하여 개발되었다. 해당 프로그램은 Python 3.6 버전 이상에서 호환되며, 기존에 CVI로 작성된 제어 툴 중 일부를 동적라이브러리 (dll)로 불러들여 사용 중이다. 카메라 제어는 CCD.dll, 그레이팅과 초점 모터는 gratfocus.dll, 그리고 스캐너와 관측모드 제어는 scanobs.dll 에 들어있다. GUI 등의 주 인터페이스는 Python의 PyQt5 를 활용하여 제작되었고 관측 중 4~5개의 쓰레드가 돌게 설계되었다. 해당프로그램의 초기 버전은 한국 시간 기준 2020년 7월 20일 기준으로 최종 디버깅 완료되었으며, 서울대학교 태양 그룹 구성원 중 한 명인 강주형에 의해 작성되었다.
제어 프로그램은 GitHub를 통해 관리되고 있으며, 현지 컴퓨터에 "C:\Control_Program\fiss_control\new" 디렉토리에 있습니다. 프로그램 수정시 프로그램 관리자인 양희수 또는 강주형에게 연락 바랍니다.
2. 초기화 및 관측 수행
Step 1
Cover 제거 (Grating/ Scanner)
Step 2
서버실 내 FISS control box 및 컴퓨터 켜기 (chrome 원격 데스크톱 지원받기 또는 vnc로 원격 연결)
Step 3
바탕화면의 FISS 구동 프로그램 바로가기 실행 ( 아이콘)
Step 4
Setting Parameter 에서 온도 확인 후 Instrument Setting 에서 Apply 버튼 클릭
Step 5
Power의 On 버튼을 눌러 전원을 킨다 (약 5~10 초 후 CCD, Scanner, Grating and Focus에 connection 불이 들어오면 성공적으로 켜진 것), -30도 기준 CCD 쿨링까지 약 30분 정도 소요되니 광정렬 전에 미리 Power On을 눌러서 쿨링 진행한다.
Step 6
쿠데룸 내에 FISS slit cover가 열렸는지 확인
Step 7
FISS 기기 내 광정렬 확인. 종이로 가려가면서 입사광이 수직으로 들어오는지 (FISS 기기 내 천정으로 빛이 입사. 벽에 ray path가 중심에 오는지 확인), Grating에 제대로 입사하는지 확인 (이전에 VIS를 사용하고 있을 확률이 높으므로 광정렬시 빅베어측에 미리 문의)
Step 8
관측할 파장 free filter 교체
- Set 1 - CamA: H 6563 Å / CamB: Ca II 8542 Å
- Set 2 - CamA: Na I D2 5890 Å / CamB: Fe I 5434 Å
CCD 앞 filter 교체. Filter는 FISS 공구박스에 있음. 유리면이 CCD 바깥쪽, 거울면이 CCD 안쪽을 향하게 부착
Step 9
CCD의 온도가 안정화 되면 Observation Setting에서 Open 버튼을 눌러서 관측 인자 파일 (.par)을 연다. ".par" 파일을 열면 다음 그림과 같다. 관측 인자 파일 설정 방식은 3. 관측 인자 설정에서 확인할 수 있다.
Step 10
Focus 맞추기. 종이로 슬릿 일부를 가린 뒤 display 상에 경계가 명확한지. 혹은 태양의 spectrogram에서 공간방향 (y축)으로 밝기 변화가 sharp하게 변하는지 확인. (AcqMode 를 0 video mode 로 설정한 후 Apply를 누르고 Run 버튼을 눌러 관측되는 spectrogram과 line profile 을 보면서 맞추면 편하다.)
비디오 모드시 다음 그림과 같이 이미지를 출력하는 창이 새로 생성된다.
Step 11
Flat 관측, Flat 관측은 관측 전후로 총 2차례, 그리고 필터를 바꾸면 찍어야한다. 이때 Operator 에게 Flat을 찍자고 요구한다 (Disk center without AO). AcqMode 를 10 Take Flat으로 설정하고 관측한다. 수정완료하면 Apply 버튼을 누른 후 Run 버튼을 눌러 수행한다. Flat 이미지는 C:\Data\YYYY\MM\DD\cal 디렉토리에 저장된다.
Step 12
관측 인자 파일을 open 해서 그대로 사용하거나 또는 열린 파일의 값이 나온 우상단의 표를 직접 수정하여 사용한다 (관측 인자를 설정하는 법을 잘 모르면 3. 관측 인자 설정에서 이를 먼저 확인하기를 추천한다). 일반적인 관측 인자는 sample_files.zip 에서 확인할 수 있다. 관측 전 gain 과 exptime을 조정하여 적어도 한 번 확인해보기를 권고한다. 관측 filter set 별 주요 인자는 다음과 같다.
Filter Set | Set1 - A: H / B: Ca II | Set2 - A: Na I D2 / B: Fe I |
---|---|---|
wvIndex[1] | 1 | 2 |
PGain | A: 2 / B: 2 | A: 2 / B: 1 or 0 |
Exp. Time (ms) | A: 30 / B: 30 | A: 30 / B: 10 |
Step 13
수정이 끝난 후 Apply 버튼을 누르면 /par 디렉토리에 "applied.par" 라는 임시파일이 생성된다 (Apply 버튼을 누르기 전에는 Run 버튼이 활성화 되지 않는다). 그 후 Run 버튼을 눌러 관측을 수행한다. 관측 중 중단하고 싶으면 Stop 버튼을 누르면 된다.
Step 13-1
본 관측에 앞서서 관측 대상이 FOV 중심에 들어오게 하기 위해서 FOV를 넓게 측정하면서 스캐너를 조금씩 움직인다. 이때 nScan은 1로 하도록 한다. 스캔이 완료 되면 Move Scanner 에 값을 입력하고 Go 버튼을 누른다. 원하는 위치에 도달하고 난 후 Home 버튼을 눌러 해당 위치를 원점으로 맞춘다. 얼추 맞은 후 FOV를 원하는 FOV로 수정한 후 다시 한번 관측해 본다. 같은 작업을 반복하여 원하는 위치에 오도록 스캐너 위치를 설정한다.
Step 13-2
이제 본 관측으로 들어가기 위해 관측 인자를 수정한다. 관측 인자에서 nScan을 적당히 크게 한 후 관측을 종료하고 싶을 때 Stop을 눌러 종료하는 것도 좋은 방법 중 하나이다. 관측 인자 중 Target 은 관측 자료가 저장될 디렉토리 이름이기 때문에 이를 꼭 관측 대상에 맞는 이름으로 설정하기를 권고한다. 기본적으로 관측 자료가 저장되는 위치는 C:\Data\YYYY\MM\DD\raw\ {Target} 이다. 관측된 자료는 스캔 시작시간을 파일명으로 갖고 ms 단위 까지 파일명으로 저장된다 (예: FISS_YYYYMMDD_HHMMSS.SSS_A.fts). 자세한 관측인자 설명과 nSteps 별 cadence 는 3. 관측 인자 설정에서 확인할 수 있다.
관측 시 다음 그림과 같이 이미지를 출력하는 창이 새로 생성된다.
Step 14
잊지말고 관측 종료 후 Flat을 찍도록 한다.
Step 15
Flat 까지 찍고 관측이 마무리되면 Power Off 를 누른다. Power Off를 누르면 CCD를 5도 까지 heating 하고 온도가 안정화 된 후 프로그램이 자동으로 꺼진다. Heating 까지 시간이 다소 소요 될 수 있다. 히팅 되는 동안 스캐너 및 그레이팅 커버를 닫는 것을 추천한다.
Step 16
관측 파일을 옮기기 위해 외장하드를 컴퓨터에 꽂고 파일 다운로드를 진행한다. 제어 프로그램이 꺼지면 컴퓨터를 제외한 나머지 컨트롤러는 전원을 끄고 숙소로 돌아가도 무방하다.
3. 관측 인자 설정
기존 관측 프로그램과 달리 관측 인자를 텍스트 형태로 넣을 수 있다. 예제 파일을 sample_files.zip 먼저 확인하여 어떤 방식으로 작성되는 지 확인하기를 바란다. 관측 인자 파일을 만들어주는 프로그램 (mk_obspar.exe)을 다운받아서 이 파일을 만들 수도 있다. 관측 프로그램 내에서도 이를 수정할 수 있지만, 관측 loop 의 개수 (nRun)는 정의할 수 없다. 관측 loop의 개수는 오로지 관측 인자 파일 (.par)에서 nRun 값을 수정하거나 또는 인자 파일 생성 프로그램을 통해서만 설정할 수 있다. 관측 인자 파일과 인자 파일 생성 프로그램은 아래 그림과 같다.
각각의 관측 루프는 begin 과 endbegin 으로 구분 된다. 첫번째 관측 loop에는 모든 관측 인자를 정의하여야 하지만, 이후의 loop 에서는 수정할 관측 인자만 수정하면 된다. sample_files.zip 에 있는 example_nloop.par 파일을 확인하여 어떤식으로 각각의 루프를 정의하는 지 알 수 있다.
.par 파일 내의 관측 인자는 다음과 같은 것들이 있다.
- nRun: 은 총 수행할 관측 loop의 개수이다.
- CameraMode: 는 싱글 카메라로 찍을지 듀얼로 찍을지 설정하는 것이다. 특이한 사항이 없으면 2 (Both) 로 설정하기를 권장한다.
- wvIndex: 는 관측할 파장대역을 선택하는 것으로 1 은 Set1 (A: H / B: Ca II 8542 Å)을 의미하고 2는 Set2 (A: Na I D2 5890 Å / B: Fe I 5434 Å) 를 의미한다. manual 로 설정할 시 (wvIndex = 0)에는 gWv, gOrder, gStep, gAngle 값을 수정해야 한다.
- nSteps: 는 기존의 nFrame과 같은 것으로 총 스캔할 Step (Frame)수를 의미한다. nStep이 1인 경우 스캐너는 정지해 있는다.
- nScan: 은 총 몇번 스캔을 반복할지 설정하는 인자이다.
- CCD1_exptime: 카메라의 노출시간을 설정한다. 단위는 초 (sec) 이다.
- CCD1_PGain: PGain 값을 설정한다. 기본적으로 2를 설정하면 되는데 자세한 것은 Step 12 의 표를 참조하기 바란다. (0-2 의 값, 정수)
- CCD1_Gain: Gain 값을 설정한다. (0-255 의 값, 정수)
- Target: 관측 타겟 이름을 정의한다. 타겟이 바뀔 때 마다 바꿔주는 것을 권고한다.
- Observer: 관측자 이름을 표기한다.
- TelXpos: 망원경의 pointing 위치를 기술한다.
- stepSize: 스캐너가 움직일 간격 (step Size)을 정의한다. 단위는 um 이다.
- HBin: 수평 방향 (스펙트럼 방향) 비닝값
- VBin: 수직 방향 (슬릿 방향) 비닝값
- AcqMode: 촬영 방법으로 일반적인 관측시 1 (Single Step)을 권장한다. 0: Video Focus / 1: Single Step / 5: Scan Stop / 6: Frame Transfer / 8: Scan Continuous / 10: Take Flat. 이 중 0, 1, 10 만 지원 되며 5 와 8은 삭제 예정, 6은 추후 추가될 기능이다.
- ScanMode: 스캔 방식이며 현재 0: spectrograph 모드만 가능
- Trigger: 카메라 트리거 방식. 현재 0: internal 트리거 방식만 가능
- ReadMode: 카메라 readout 방식. 1: full vertical binning, 4: imaging. 기본적으로 4를 사용하면 된다.
- ShutterMode: 카메라 셔터 방식 관측시 1: open을 권장. 0: auto, 1: open, 2: close
4. Cadence
2020년 테스트 관측에서 얻은 nStep 과 노출시간에 따른 cadence는 다음과 같다.
exptime: 30 ms / 30 ms
100 frames (16 arcsec): 13.4 sec
125 frames (20 arcsec): 16.1 sec
150 frames (24 arcsec): 18.8 sec
200 frames (32 arcsec): 24.1 sec
이미 정의된 회절격자 각도 및 해당 각도의 파장 차수로 설정한다. 만약 0으로 설정시 수동으로 이에 해당하는 gWv, gOrder, gStep, gAngle 값을 정의해서 사용하여야한다. 이 중 gStep이 실제 그레이팅이 움직이는 모터의 스텝 카운트 값이다. ↩︎