Communitygithub.com

d3v-null/wsclean-skill

WSClean 전파 간섭계 이미징을 위한 포괄적인 Cursor 에이전트 스킬입니다.

wsclean-skill란 무엇인가요?

이 스킬은 WSClean을 활용한 전파 간섭계 이미징 작업을 Cursor 에이전트가 수행할 수 있도록 지원합니다. Measurement Set(.ms) 파일로부터 CLEAN 디컨볼루션, 다중 스케일 세정, 다중 주파수 합성, 편광 이미징, 셀프-캘리브레이션 모델 생성 등 다양한 고급 기능을 제공합니다. LOFAR, MWA, VLA, ASKAP, SKA와 같은 주요 전파 망원경 데이터를 처리할 수 있으며, Docker를 통해 복잡한 컴파일 과정 없이 바로 사용할 수 있습니다. 주요 파라미터 설명, 일반적인 워크플로우 예제, 출력 파일 구조, 문제 해결 가이드를 포함하여 사용자가 효율적으로 WSClean을 활용할 수 있도록 돕습니다.

지원 대상~Claude Code~Codex CLI✓Cursor
npx skills add d3v-null/wsclean-skill

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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-thresholdN×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 일반적
-jCPU 스레드기본값: 모든 코어

일반적인 문제

세정 발산

  • -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 도구를 사용하여 이 파일들에 접근하세요.

모범 사례

  1. 항상 -auto-threshold 사용 (절대 임계값이 아닌)
  2. 높은 -niter 설정하고 임계값이 세정을 멈추도록 함
  3. mgain 0.85 사용하여 강건한 Cotton-Schwab 세정 수행
  4. 분해된 소스에는 다중 스케일 - Högbom보다 항상 우수
  5. 깊은 세정을 위해 -auto-mask 5와 -auto-threshold 1 조합
  6. 이미지 크기는 짝수여야 함 - 가능하면 2의 거듭제곱
  7. 합성 빔당 약 5-6 픽셀이 적절한 샘플링을 위해 필요

문서

관련 스킬