frequency op• 資料種類:voxel → voxel
• 呼叫: import fullseye as fs; fs.ledger.vol_fft_lowpass(vol, cutoff, spacing=None)(要直接呼叫實作,import volfreq; volfreq.vol_fft_lowpass(vol, cutoff, spacing=None);從台帳取用則 ops3d.get("vol_fft_lowpass"))
高斯低通:保留比 1/cutoff 更粗的結構(體素單位或實際尺寸)。
更細的細節被平滑地衰減。傳遞函數 exp(-f^2 / (2 cutoff^2)) —— DC 分量(平均強度)原樣
通過。典型用途: 擷取照明/厚度漂移。
步驟: 用 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)。
參數:
• cutoff: 正有限值。spacing=None 時為 cycles/voxel(Nyquist = 0.5), 傳入 spacing=(sz, sy, sx)(mm,或帶 spacing_mm 的 volio.VolumeMeta)時為 cycles/mm。各向異性 voxel 時按軸用 fftfreq(n, d=spacing) 換算為物理頻率,因此相同的物理結構得到相同處理。
• 衰減為 Gaussian,在 |f| = cutoff 處為 exp(-1/2) ≈ 0.61(不是 brick-wall。不會出現振鈴)。
驗證(ValueError): 不是 3-D / NaN、Inf / voxel 數超過 MAX_VOXELS(1 << 27) / cutoff 非正、非有限、小到 2 次方會下溢 / spacing 長度不為 3、非正。
注意: FFT 將 volume 視為週期性的。若相對兩面的輝度差很大,會跨越 wrap 洩漏(不會默默加窗)。vol_fft_highpass 嚴格是其補集 1 - lowpass,兩者之和等於輸入。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• deconv_fft_restore — py -3.11 examples_3d/deconv_fft_restore.py
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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.