fullseye

vol_fft_lowpass — 3D frequency op

使い方

Gaussian low-pass: keeps structure coarser than 1/cutoff (voxels, or

mm with spacing), attenuates finer detail smoothly. Transfer exp(-f^2 / (2 cutoff^2)) — the DC level (mean intensity) passes unchanged. Typical use: extract the illumination/thickness drift.

手順: np.fft.rfftn で実 FFT → 各周波数 bin の大きさ |f| = sqrt(fz^2 + fy^2 + fx^2) に伝達関数 exp(-|f|^2 / (2 cutoff^2)) を掛ける → irfftn で戻す。入力と同じ (D, H, W) の float64 を返す(spacing を渡しても shape は変わらない)。

引数:

検証(ValueError): 3-D でない / NaN・Inf / voxel 数が MAX_VOXELS(1 << 27) 超 / cutoff が非正・非有限・2 乗がアンダーフローするほど小さい / spacing が 長さ 3 でない・非正。

注意: FFT は volume を周期的とみなす。向かい合う面の輝度差が大きいと wrap を またいで漏れる(窓掛けは黙ってしない)。vol_fft_highpass は厳密にこの補集合 1 - lowpass で、両者の和は入力に一致する。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(voxel を入力に取れる)

voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa

同カテゴリ(frequency)

vol_fft_highpass · vol_fft_bandpass


Provenance: volfreq.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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