WSClean 스킬
WSClean은 Measurement Set에서 정리된 이미지를 생성하는 전파 간섭계 이미징 도구입니다. LOFAR, MWA, VLA, ASKAP, SKA와 같은 전파 망원경 데이터를 다룰 때 이 스킬을 사용하세요.
사용 시점
- Measurement Set (.ms) 파일로부터 전파 간섭계 데이터 이미징
- 가시도 데이터의 CLEAN 디컨볼루션
- 분해된 소스에 대한 다중 스케일 세정
- 다중 주파수 합성 (광대역 이미징)
- 편광 이미징
- 방향 의존적 보정이 포함된 패싯 기반 이미징
- 셀프-캘리브레이션 루프 (모델 생성)
Docker 접근
WSClean은 컴파일이 복잡합니다. Docker를 사용하세요:
docker run --rm -it d3vnull0/rapthor-mildtec:smoke wsclean [옵션] <입력.ms>
데이터 디렉토리 마운트: -v /호스트/경로:/컨테이너/경로:rw
기본 명령 구조
wsclean [옵션] <입력-ms> [<두번째-ms> [...]]
중요: 여러 개의 measurement set은 반드시 동일한 위치로 위상 회전되어야 합니다.
필수 파라미터
이미지 설정 (항상 필요)
-size <너비> <높이>- 이미지 픽셀 크기 (짝수여야 함)-scale <값>- 픽셀 스케일 (예:2asec,1amin,0.01deg)-name <접두사>- 출력 파일명 접두사 (기본값: 'wsclean')
디컨볼루션 제어
-niter <n>- 최대 반복 횟수 (크게 설정, 예: 1000000)-auto-threshold <시그마>- sigma×RMS에 도달하면 중지 (권장: 1-5)-mgain <이득>- 메이저 루프 이득: 0.85 (안전), 0.95 (공격적)- 중요: mgain=1.0이면 셀프-캘리브레이션 불가 (MODEL_DATA 업데이트 없음)
-auto-mask <시그마>- 자동 마스킹 임계값 (-auto-threshold와 함께 권장)
가중치
-weight briggs <로버스트>- Briggs 가중치 (-2 ~ +2, 일반적: -0.5, 0, 0.5)-weight uniform- 최대 분해능-weight natural- 최대 감도
고급 기능
-multiscale- 분해된 소스에 대한 다중 스케일 CLEAN-channels-out <n>- 대역폭을 N개의 이미지로 분할-join-channels- 다중 주파수 디컨볼루션-pol <목록>- 편광: I, Q, U, V 또는 XX, XY, YX, YY-join-polarizations- 편광 디컨볼루션
일반적인 워크플로우
1. 빠른 더티 이미지 (세정 없음)
docker run --rm -v $(pwd):/data:rw d3vnull0/rapthor-mildtec:smoke \
wsclean -size 2048 2048 -scale 5asec -name quick /data/obs.ms
2. 표준 세정
wsclean -size 4096 4096 -scale 2asec \
-niter 100000 -auto-threshold 3 \
-weight briggs 0 -mgain 0.85 \
-name standard obs.ms
3. 심층 다중 스케일 세정 (최고 품질)
wsclean -size 8192 8192 -scale 1asec \
-multiscale -multiscale-scale-bias 0.7 \
-niter 1000000 -auto-threshold 1 -auto-mask 5 \
-weight briggs -0.5 -mgain 0.85 \
-name deep obs.ms
4. 다중 주파수 합성 (4채널)
wsclean -size 4096 4096 -scale 2asec \
-channels-out 4 -join-channels \
-multiscale -niter 500000 \
-auto-threshold 3 -mgain 0.85 \
-name mfs obs.ms
5. 편광 이미징
wsclean -size 4096 4096 -scale 2asec \
-pol xx,yy -join-polarizations \
-niter 100000 -auto-threshold 3 \
-mgain 0.85 -name pol obs.ms
6. 셀프-캘리브레이션 이미징
# 중요: MODEL_DATA 업데이트를 위해 mgain < 1.0
wsclean -size 4096 4096 -scale 2asec \
-niter 100000 -auto-threshold 3 \
-mgain 0.85 -multiscale -auto-mask 5 \
-name selfcal obs.ms
출력 파일
-name myimage 사용 시:
myimage-dirty.fits- 더티 이미지myimage-image.fits- 세정/복원된 이미지myimage-model.fits- 모델 (CLEAN 구성 요소)myimage-residual.fits- 세정 후 잔여물myimage-psf.fits- 점 확산 함수
다중 채널: myimage-0000-image.fits, myimage-0001-image.fits 등
다중 편광: myimage-I-image.fits, myimage-Q-image.fits 등
빠른 참조 - 주요 파라미터
| 파라미터 | 목적 | 일반적인 값 |
|---|---|---|
-niter | 최대 반복 횟수 | 100000-1000000 |
-auto-threshold | N×sigma에서 중지 | 1-5 (낮을수록 깊게) |
-mgain | 메이저 루프 이득 | 0.85 (안전), 0.95 (빠름) |
-auto-mask | 마스킹 임계값 | 3-5 sigma |
-weight briggs | 가중치 로버스트성 | -0.5 (분해능), 0 (균형), 0.5 (감도) |
-multiscale-scale-bias | 스케일 선호도 | 0.6-0.7 |
-channels-out | 출력 채널 | 4-16 일반적 |
-j | CPU 스레드 | 기본값: 모든 코어 |
일반적인 문제
세정 발산
-mgain을 0.7 또는 0.8로 낮춤- 다중 스케일 사용 시
-multiscale-gain 0.1사용 -major-iteration-mode single시도
메모리 부족
-abs-mem 32사용 (또는 적절한 GB)-size줄이거나-scale증가- 분광 이미징 시
-deconvolution-channels사용
셀프-캘리브레이션 불가
mgain < 1.0인지 확인 (1.0이 아님!)- MODEL_DATA 컬럼은 mgain < 1.0일 때만 업데이트됨
이미지 품질 저하
- 분해된 소스에 대해
-multiscale사용 - 깊은 세정을 위해
-auto-mask 5추가 - 가중치 확인:
-weight briggs 0시도
상세 참조가 필요한 경우
복잡한 시나리오의 경우, 이 디렉토리의 참조 파일을 참조하세요:
- reference/parameters.md - 완전한 파라미터 문서
- reference/workflows.md - 고급 워크플로우 (패싯, 주 빔 등)
- reference/troubleshooting.md - 상세 문제 해결 가이드
필요 시 Read 도구를 사용하여 이 파일들에 접근하세요.
모범 사례
- 항상
-auto-threshold사용 (절대 임계값이 아닌) - 높은
-niter설정하고 임계값이 세정을 멈추도록 함 - mgain 0.85 사용하여 강건한 Cotton-Schwab 세정 수행
- 분해된 소스에는 다중 스케일 - Högbom보다 항상 우수
- 깊은 세정을 위해
-auto-mask 5와-auto-threshold 1조합 - 이미지 크기는 짝수여야 함 - 가능하면 2의 거듭제곱
- 합성 빔당 약 5-6 픽셀이 적절한 샘플링을 위해 필요
문서
- 전체 문서: https://wsclean.readthedocs.io/
- 알고리즘 논문: Offringa & Smirnov 2017 (https://arxiv.org/abs/1706.06786)