sigma_clip_stack — ASTROSTACK stack op

데이터 종류: imagesimage2d

호출: import astrostack; astrostack.sigma_clip_stack(frames, mode='sigma_clip', kappa=3.0, iters=5, center='median', scale='mad')(또는 opsastrostack.get("sigma_clip_stack"))

사용법

프레임 열을 합성합니다(평균 / 중앙값 / κ-σ 클리핑). 채택 마스크 포함.

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

*mode*:

• `"mean" —— 単純平均。雑音は sqrt(N)` で下がるが、外れ値(宇宙線・

人工衛星の航跡)は `1/N` しか薄まらず必ず残る

• `"median"` —— 中央値。外れ値に強い代わりに、正規分布のとき雑音は

平均の `sqrt(pi/2) = 1.2533` 倍しか下がらない(= 実効的に 36 % 枚数を

捨てている)。

• `"sigma_clip" —— 中央値を中心、scale` を尺度として

`|x - center| > kappa * scale` を落とし、残りで平均を取る。これを

`iters` 回。外れ値に強く、かつ生き残った画素は平均されるので雑音も

`sqrt(N_accepted)` で下がる —— 実用の既定。

破綻点は 50 %。 中心を中央値、尺度を MAD で取る以上、汚染フレームが

半数を超えた画素では中央値そのものが汚染側に乗り、クリップは正しい方

捨てる。これはこの実装の不具合ではなく中央値の定義そのもので、

`center="mean"` にすればもっと早く(汚染 1 枚でも)壊れる。テストは

0〜60 % の汚染率で誤差を測り、壊れる側もそのまま残してある

**`scale の既定が "mad" なのは実測の結果。** scale="std"` は

「外れ値を見つけるための尺度を、その外れ値自身が膨らませる」ので、汚染が

増えるとむしろ何も落とさなくなる —— 24x24 の平坦場(真値 100、

σ=2)20 枚のうち 4 枚(20 %)に +500 の汚染を入れた実測では、

`scale="std"` は棄却率 0.0 % で誤差 +99.9975(= 単純平均と

小数点以下まで完全に同じ)、`scale="mad"` は棄却率 22.0 % で誤差

-0.019。破綻点は `std が 10〜20 % の間、mad` がちょうど 50 % で、

5 倍近く違う。

Returns `(stack, accepted)`:

• `stack —— (H, W)` float64。

• `accepted —— (N, H, W) bool、True` = 採用した画素。

`mode="mean" / "median" では全 True`(どちらもクリップしない

ので、「採否」の概念が無いことを `False` が 1 つも無いことで示す)。

Raises `ValueError`: *frames* が list / tuple でない / 枚数が 2 未満 /

形が揃っていない / *mode* が :data:STACK_MODES にない / *kappa* が非正 /

*center* が `"median" / "mean" 以外 / *scale* が "std"` /

`"mad"` 以外の場合。

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

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

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

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

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

astro_stackingpy -3.11 examples/astro_stacking.py

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

frame_quality · noise_sigma · cosmic_ray_reject · star_detect · psf_fit · aperture_photometry · frame_align

같은 카테고리(stack)

drizzle_resample


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

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