cosmic_ray_reject — ASTROSTACK cosmic op

• 데이터 종류: image2d → image2d

• 호출: import fullseye as fs; fs.ledger.cosmic_ray_reject(frame, sigma=5.0, f_lim=2.0, replace_box=5, iters=1)(구현을 직접 호출하려면 import astrostack; astrostack.cosmic_ray_reject(frame, sigma=5.0, f_lim=2.0, replace_box=5, iters=1), 원장에서 가져오려면 opsastrostack.get("cosmic_ray_reject"))

• 원장 경유의 반환값: fullseye.ledger.cosmic_ray_reject(...) 는 선언된 out 형 image2d 의 값만 반환합니다(실제 함수는 보조 정보도 반환). 버려진 쪽이 필요하면 fullseye.ledger.cosmic_ray_reject.raw(...) 를 쓰거나 astrostack.cosmic_ray_reject 를 직접 호출하세요.

• 실제 반환: (cleaned, mask) -> image2d

사용법

단일 프레임의 우주선 제거(라플라시안 첨예도).

van Dokkum, *Cosmic-Ray Rejection by Laplacian Edge Detection*, PASP 113, 1420 (2001)의 발상 —— 우주선은 별보다 날카롭다. 별은 PSF로흐려지므로 반드시 여러 화소에 걸치지만, 우주선은 광학계를 거치지 않으므로 1~수 화소 안에서 솟아오른다. 그래서

1. 라플라시안 L의 양의 성분을 잡음으로 정규화한 유의도 S = L / (2 sigma_noise)를 만들고,

2. 미세 구조상 F = median3 - median7(median3)과 비교하여 L / F가 f_lim을 넘는 것만을 우주선으로 한다.

2번째 조건이 없으면 별의 중심이 반드시 우주선으로 보인다(별도 국소적으로는뾰족하다). f_lim은 그 경계이며, 원논문의 권장값은 2.0.

iters를 늘리면 제거 → 재측정을 반복한다(큰 히트의 자락이 남을 때). 치환은 replace_box 창에서의 오염되지 않은 화소의 중앙값.

Returns (cleaned, mask):

• cleaned —— (H, W) float64, 우주선 화소를 치환한 상.

• mask —— (H, W) bool, True = 우주선으로 판정한 화소.

Raises ValueError: 2-D가 아님 / 비유한 값을 포함 / *sigma*가 양수가 아님 / *f_lim*이 양수가 아님 / *replace_box*가 3 미만이거나 짝수인 경우.

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• astro_stacking — py -3.11 examples/astro_stacking.py

타입이 이어지는 다음 연산자(image2d 를 입력으로 받는 것)

frame_quality · noise_sigma · star_detect · psf_fit · aperture_photometry · frame_align

같은 카테고리(cosmic)

cosmic_ray_reject_stack


*Provenance: astrostack.py — ASTROSTACK 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.