fullseye

vol_fft_bandpass — 3D frequency op

使い方

Gaussian band-pass lowpass(high) - lowpass(low): keeps structure

between the two scales (low < high required, both in cycles/voxel or cycles/mm with spacing). Typical use: isolate one texture scale, or a periodic artefact band before subtracting it.

伝達関数は exp(-|f|^2 / (2 high^2)) - exp(-|f|^2 / (2 low^2))。DC では 1 - 1 = 0 なので平均輝度は落ち、lowhigh の間に山を持つ Gaussian 差分 (DoG 型)の帯域だけが残る。山の高さは 1 に届かない(2 つの Gaussian の差なので、 lowhigh が近いほど通過量は小さい)。返り値は入力と同じ (D, H, W) の float64、符号付き。

引数: low < high が必須(両方とも正の有限値)。単位は spacing=None で cycles/voxel、spacing 指定で cycles/mm。周期(voxel または mm)で考えるなら 1/high が最小構造サイズ、1/low が最大構造サイズ。

検証(ValueError): 3-D でない / NaN・Inf / MAX_VOXELS 超 / lowhigh が非正・非有限・2 乗がアンダーフロー / low >= high / spacing 不正。

使いどころ: 1 つのテクスチャスケールの抽出、周期的な縞・リングアーティファクト帯 を取り出して入力から引く。vol_fft_lowpass(vol, high) - vol_fft_lowpass(vol, low) と同値。

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

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

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

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

同カテゴリ(frequency)

vol_fft_lowpass · vol_fft_highpass


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

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