align_frames — ASTROSTACK align op

데이터 종류: imagesimages

호출: import astrostack; astrostack.align_frames(frames, reference=0, order=3, **align_kw)(또는 opsastrostack.get("align_frames"))

사용법

프레임 열을 기준 한 장에 정합합니다.

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

各フレームについて :func:frame_align で変換を推定し、

:func:scipy.ndimage.affine_transform で逆写像・再標本化する。

正直な注意: 補間は像を保存しない。ノイズ無しの 64x64 / 12 星を

`(0.5, 0.5)` px だけずらして戻した実測::

order=1 (双一次) 総フラックス -0.016 % 星のピーク -11.437 %

order=3 (スプライン) 総フラックス -0.016 % 星のピーク -0.312 %

総フラックスはどちらでもほぼ保たれるのに、**星のピークは双一次だと 1 割

以上落ちる** —— 0.5 px ずらしは双一次にとって最悪の位相で、隣り合う

4 画素の単純平均になるからである。既定を `order=3` にしてあるのはこの

実測による(`order=3` は星の周りに極小の負の縁を作るが、上の測定では

最小値 -0.0000 で目に見える量ではなかった)。

フラックスもピークも厳密に保ちたいなら補間せず :func:drizzle_resample

へ渡すこと —— 補間しないことが drizzle の存在理由そのもの。ただし

推定シフトをそのまま渡してはいけない: ここで返す `matrices` の並進は

「基準へ戻す」向きで、drizzle が要る向きとは符号が逆。

:func:drizzle_shifts を通すこと::

aligned, mats = align_frames(frames)

sci, wht = drizzle_resample(frames, drizzle_shifts(mats), scale=2.0)

Returns `(aligned, matrices)`:

• `aligned —— 長さ N の list、各 (H, W) float64(images` 語彙)。

基準フレームは変換を通さずそのまま返す(恒等変換でも補間は像を鈍らせる

ので、通す理由が無い)。

• `matrices —— 長さ N の list、各 (3, 3)`。基準は単位行列。

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

*reference* が範囲外 / *order* が 0〜5 の外 / :func:frame_align

どれか 1 枚で失敗した場合(失敗を黙って恒等変換に落とさない)。

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

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

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

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

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

astro_stackingpy -3.11 examples/astro_stacking.py

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

lucky_select · sigma_clip_stack · drizzle_resample · cosmic_ray_reject_stack

같은 카테고리(align)

frame_align


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

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