structured_light op• 데이터 종류: image2d → depth
• 호출: import fullseye as fs; fs.ledger.fringe_ftp_phase(image, carrier_axis='x', carrier_period=None, bandwidth=0.35, k=1.0, min_modulation=None, return_info=False)(구현을 직접 호출하려면 import fringe; fringe.fringe_ftp_phase(image, carrier_axis='x', carrier_period=None, bandwidth=0.35, k=1.0, min_modulation=None, return_info=False), 원장에서 가져오려면 ops3d.get("fringe_ftp_phase"))
• 원장 경유의 반환값: fullseye.ledger.fringe_ftp_phase(...) 는 선언된 out 형 depth 의 값만 반환합니다(실제 함수는 보조 정보도 반환). 버려진 쪽이 필요하면 fullseye.ledger.fringe_ftp_phase.raw(...) 를 쓰거나 fringe.fringe_ftp_phase 를 직접 호출하세요.
• GPU: 없음(CPU 참조 구현만)
Takeda 푸리에 변환 프로파일로메트리로 줄무늬 영상 한 장에서 높이/위상을 복원한다.
> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.
2-D FFT の直流から離れた片側一次スペクトルを窓で抜き、複素解析信号へ戻して位相を展開し、搬送波の線形ランプを除く。carrier_axis は位相が増える方向("x"=列、"y"=行)。carrier_period は画素単位で、省略時は指定軸の正周波数側にある最大ピークから推定する。★画像が視野の中で周期的(DFT に漏れが無い) ときだけ整数ビンを搬送波とし、そうでなければピークの両隣 1 ビンで DTFT のパワーを細かく評価してサブビンに直す(2026-11-05 まで常に整数ビンに丸め、7.3 px の縞が 7.11 px と読まれて位相 RMS 0.63 rad の傾きが残った)。推定した搬送波は、対象の位相の搬送軸方向の一様な傾きと区別できない(どちらも同じ画像を作る)—— 傾きを残したい、あるいは搬送波が既知なら carrier_period を渡す。bandwidth は搬送周波数に対する Gaussian 窓の標準偏差の比(0 < bandwidth < 1)。k は rad から高さへの係数。
返り値は通常 height。return_info=True なら (height, info) となり、info は搬送波を除いた phase、実際に使った carrier_period、carrier_frequency、estimated_carrier、解析信号の modulation を持つ。高さは既存の phase_to_height(phase, 0, k) で作る。
業務上の言い方では「縞 1 枚から高さ」「1枚の縞画像から位相」を求める op。
1 枚で済む代わりに、対象位相の空間帯域が搬送波と直流/反対側サイドバンドの間に収まる必要がある。急な高さ、段差、オクルージョンでは帯域重なりと Itoh 条件違反で誤る。3 枚以上を撮れて広い帯域や低い搬送波を扱うなら decode_fringe の位相シフト法を使う。一定画像や、抽出した変調振幅が画像の動的範囲に対して小さすぎる画像は丸め誤差から位相を作らず ValueError にする。
出典: M. Takeda, H. Ina and S. Kobayashi, “Fourier-transform method of fringe-pattern analysis for computer-based topography and interferometry,” J. Opt. Soc. Am. 72(1), 156–160 (1982), doi:10.1364/JOSA.72.000156.
• depth_sensors — 깊이 센서 지식 — 측거 원리·실기 수치·결측이 나타나는 방식
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• ftp_and_focus_depth — py -3.11 examples_3d/ftp_and_focus_depth.py
depth 를 입력으로 받는 것)depth_to_points · tsdf_from_depth · to_points · fuse_to_voxel · depth_to_organized_points · normals_from_depth · occlusion_edges · bearing_angle_image
structured_light)wrapped_phase · unwrap_phase_2d · graycode_decode · decode_fringe · depth_from_focus · synthesize_fringes · absolute_phase · triangulate_column
*Provenance: fringe.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.