Fast Imaging Solar Spectrograph

FISS 제어 프로그램 메뉴얼 (v 1.1)


작성자: 강주형
Original Markdwon File download: Korean.md
PDF File Download: Korean.pdf

정보: 본 메뉴얼은 2020년 컴퓨터 업그레이드 이후 개발된 제어 프로그램에 해당하는 메뉴얼 입니다.

현재 가용 가능한 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" 디렉토리에 있습니다. 프로그램 수정시 프로그램 관리자인 양희수 또는 강주형에게 연락 바랍니다.

위험: 2020년 7월 기준으로 간혹 30초에서 1분 가량 GUI가 멈추는 상황이 발생하고 있다. 관측에는 크게 영향을 주지 않으니 무방할 것으로 생각되지만 혹여라도 프로그램이 멈췄다고 생각해서 강제 종료 하지 않기를 권고한다.

Step 1
Cover 제거 (Grating/ Scanner)

Step 2
서버실 내 FISS control box 및 컴퓨터 켜기 (chrome 원격 데스크톱 지원받기 또는 vnc로 원격 연결)

Step 3
바탕화면의 FISS 구동 프로그램 바로가기 실행 (FISS 아이콘)

FISS Control Program Main Window

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가 열렸는지 확인

위험: 2020년 현재 슬릿 커버 모터의 오동작으로 손으로 직접 열어야 함.

Step 7
FISS 기기 내 광정렬 확인. 종이로 가려가면서 입사광이 수직으로 들어오는지 (FISS 기기 내 천정으로 빛이 입사. 벽에 ray path가 중심에 오는지 확인), Grating에 제대로 입사하는지 확인 (이전에 VIS를 사용하고 있을 확률이 높으므로 광정렬시 빅베어측에 미리 문의)

Step 8
관측할 파장 free filter 교체

CCD 앞 filter 교체. Filter는 FISS 공구박스에 있음. 유리면이 CCD 바깥쪽, 거울면이 CCD 안쪽을 향하게 부착

Step 9
CCD의 온도가 안정화 되면 Observation Setting에서 Open 버튼을 눌러서 관측 인자 파일 (.par)을 연다. ".par" 파일을 열면 다음 그림과 같다. 관측 인자 파일 설정 방식은 3. 관측 인자 설정에서 확인할 수 있다.

정보: 기본적으로 Power를 키면 C:\Data\YYYY\MM\DD\par 디렉토리에 sample 파일이 생성된다.

Par File Open

Step 10
Focus 맞추기. 종이로 슬릿 일부를 가린 뒤 display 상에 경계가 명확한지. 혹은 태양의 spectrogram에서 공간방향 (y축)으로 밝기 변화가 sharp하게 변하는지 확인. (AcqMode 를 0 video mode 로 설정한 후 Apply를 누르고 Run 버튼을 눌러 관측되는 spectrogram과 line profile 을 보면서 맞추면 편하다.)

History: scan mirror 앞 flat mirror로 조정가능, 2017년 focus위치 = 23.

비디오 모드시 다음 그림과 같이 이미지를 출력하는 창이 새로 생성된다.

Focus mode

Step 11
Flat 관측, Flat 관측은 관측 전후로 총 2차례, 그리고 필터를 바꾸면 찍어야한다. 이때 Operator 에게 Flat을 찍자고 요구한다 (Disk center without AO). AcqMode 를 10 Take Flat으로 설정하고 관측한다. 수정완료하면 Apply 버튼을 누른 후 Run 버튼을 눌러 수행한다. Flat 이미지는 C:\Data\YYYY\MM\DD\cal 디렉토리에 저장된다.

정보: 시스템 구조상 Flat 이미지는 실시간으로 출력되지 않는다 다만 Take(nScan) 장 수 가 7장까지 변하는 것을 보고 몇번 째 Flat frame을 찍는지 알 수 있다.
History: 기존 Flat은 100장을 찍고 평균했는데 스캔 마지막 frame이 빌 때가 있어서 이것이 에러로 들어갈 여지가 있다. 따라서 이 프로그램에서는 총 101장을 찍고 마지막 한 장을 버린 후 평균함으로써 이를 회피한다.

Step 12
관측 인자 파일을 open 해서 그대로 사용하거나 또는 열린 파일의 값이 나온 우상단의 표를 직접 수정하여 사용한다 (관측 인자를 설정하는 법을 잘 모르면 3. 관측 인자 설정에서 이를 먼저 확인하기를 추천한다). 일반적인 관측 인자는 sample_files.zip 에서 확인할 수 있다. 관측 전 gain 과 exptime을 조정하여 적어도 한 번 확인해보기를 권고한다. 관측 filter set 별 주요 인자는 다음과 같다.

Filter Set Set1 - A: Hα\alpha / 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
경고: 중요한 인자 중 하나는 Target 이다. 이 Target의 이름이 관측 데이터가 저장될 디렉토리 이름이 된다. 따라서 띄어쓰기 없이 이를 매 관측 target이 바뀔 때 마다 수정하여 사용하기를 권장한다.

Step 13
수정이 끝난 후 Apply 버튼을 누르면 /par 디렉토리에 "applied.par" 라는 임시파일이 생성된다 (Apply 버튼을 누르기 전에는 Run 버튼이 활성화 되지 않는다). 그 후 Run 버튼을 눌러 관측을 수행한다. 관측 중 중단하고 싶으면 Stop 버튼을 누르면 된다.

Step 13-1
본 관측에 앞서서 관측 대상이 FOV 중심에 들어오게 하기 위해서 FOV를 넓게 측정하면서 스캐너를 조금씩 움직인다. 이때 nScan은 1로 하도록 한다. 스캔이 완료 되면 Move Scanner 에 값을 입력하고 Go 버튼을 누른다. 원하는 위치에 도달하고 난 후 Home 버튼을 눌러 해당 위치를 원점으로 맞춘다. 얼추 맞은 후 FOV를 원하는 FOV로 수정한 후 다시 한번 관측해 본다. 같은 작업을 반복하여 원하는 위치에 오도록 스캐너 위치를 설정한다.

History: 2017년 기준 약 -3500 정도 했을 때 얼추 맞았다.

Step 13-2
이제 본 관측으로 들어가기 위해 관측 인자를 수정한다. 관측 인자에서 nScan을 적당히 크게 한 후 관측을 종료하고 싶을 때 Stop을 눌러 종료하는 것도 좋은 방법 중 하나이다. 관측 인자 중 Target 은 관측 자료가 저장될 디렉토리 이름이기 때문에 이를 꼭 관측 대상에 맞는 이름으로 설정하기를 권고한다. 기본적으로 관측 자료가 저장되는 위치는 C:\Data\YYYY\MM\DD\raw\ {Target} 이다. 관측된 자료는 스캔 시작시간을 파일명으로 갖고 ms 단위 까지 파일명으로 저장된다 (예: FISS_YYYYMMDD_HHMMSS.SSS_A.fts). 자세한 관측인자 설명과 nSteps 별 cadence 는 3. 관측 인자 설정에서 확인할 수 있다.

관측 시 다음 그림과 같이 이미지를 출력하는 창이 새로 생성된다.

Focus mode

정보: 이미지 출력 창은 관측 중단 혹은 종료 후 약 15 초 후에 꺼지고 이후 부터 다음 관측이 가능하다.

Step 14
잊지말고 관측 종료 후 Flat을 찍도록 한다.

Step 15
Flat 까지 찍고 관측이 마무리되면 Power Off 를 누른다. Power Off를 누르면 CCD를 5도 까지 heating 하고 온도가 안정화 된 후 프로그램이 자동으로 꺼진다. Heating 까지 시간이 다소 소요 될 수 있다. 히팅 되는 동안 스캐너 및 그레이팅 커버를 닫는 것을 추천한다.

위혐: Heating 이 되기 전에 프로그램을 강제종료 하지 않도록 주의한다.

Step 16
관측 파일을 옮기기 위해 외장하드를 컴퓨터에 꽂고 파일 다운로드를 진행한다. 제어 프로그램이 꺼지면 컴퓨터를 제외한 나머지 컨트롤러는 전원을 끄고 숙소로 돌아가도 무방하다.

기존 관측 프로그램과 달리 관측 인자를 텍스트 형태로 넣을 수 있다. 예제 파일을 sample_files.zip 먼저 확인하여 어떤 방식으로 작성되는 지 확인하기를 바란다. 관측 인자 파일을 만들어주는 프로그램 (mk_obspar.exe)을 다운받아서 이 파일을 만들 수도 있다. 관측 프로그램 내에서도 이를 수정할 수 있지만, 관측 loop 의 개수 (nRun)는 정의할 수 없다. 관측 loop의 개수는 오로지 관측 인자 파일 (.par)에서 nRun 값을 수정하거나 또는 인자 파일 생성 프로그램을 통해서만 설정할 수 있다. 관측 인자 파일과 인자 파일 생성 프로그램은 아래 그림과 같다.

Parameter File

mk_obspar.exe 프로그램

각각의 관측 루프는 begin 과 endbegin 으로 구분 된다. 첫번째 관측 loop에는 모든 관측 인자를 정의하여야 하지만, 이후의 loop 에서는 수정할 관측 인자만 수정하면 된다. sample_files.zip 에 있는 example_nloop.par 파일을 확인하여 어떤식으로 각각의 루프를 정의하는 지 알 수 있다.


.par 파일 내의 관측 인자는 다음과 같은 것들이 있다.

경고: 이 인자가 데이터가 저장될 디렉토리 이름이 되므로 특수문자 및 띄어쓰기를 엄격히 금한다.

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


  1. 이미 정의된 회절격자 각도 및 해당 각도의 파장 차수로 설정한다. 만약 0으로 설정시 수동으로 이에 해당하는 gWv, gOrder, gStep, gAngle 값을 정의해서 사용하여야한다. 이 중 gStep이 실제 그레이팅이 움직이는 모터의 스텝 카운트 값이다. ↩︎