vol_gaussian_psf — 3D restoration op

• 資料種類:measurement → voxel

• 呼叫: import fullseye as fs; fs.ledger.vol_gaussian_psf(sigma, truncate=4.0)(要直接呼叫實作,import volrestore; volrestore.vol_gaussian_psf(sigma, truncate=4.0);從台帳取用則 ops3d.get("vol_gaussian_psf"))

用法

正規化(和為 1)的 3-D 高斯 PSF 核。*sigma* 為純量或逐軸。

逐軸的 *sigma* 為 (sz, sy, sx),單位為 voxel;核在每個軸上涵蓋 +-truncate*sigma (奇數尺寸,中心位於中間 voxel)。當儀器 PSF 可良好近似為 Gaussian 時,它是 vol_richardson_lucy 的便利搭檔。超過 PSF_MAX_ELEMENTS (~256^3) 的核會引發 ValueError —— 那麼大的 PSF 是輸入錯誤,而不是儀器。

形狀:各軸半徑 r = ceil(truncate * sigma),邊長 2r + 1(奇數)的 (2rz+1, 2ry+1, 2rx+1) float64 陣列。軸順序為 (z, y, x),將 sigma 以 (sz, sy, sx) 傳入時按該順序對應(異向性 PSF)。將 3 條 1-D Gaussian exp(-x^2 / (2 sigma^2)) 的外積除以總和,因此總和恰為 1,中心 voxel 為最大值。單位為 voxel(mm 的 PSF 寬度先除以 spacing 再傳入)。

參數與驗證(ValueError):

• sigma:正的有限純量,或長度為 3 的正有限值。小到 2 次方下溢為 0 的值(小於 ~1.5e-154)會變成 0/0,因此拒絕。

• truncate:正的有限值(預設 4.0 = 單側 4σ 處截斷)。

• 元素數 prod(2r+1) 超過 PSF_MAX_ELEMENTS(2**24)時拒絕(動機是實測中 σ≈300 時差點配置 64 GB)。

用途:vol_richardson_lucy(vol, psf) 的 psf。RL 端也會重新正規化為總和 1, 因此這裡產生的核可以直接傳入。

參考(範例資料、文獻)

• 範例資料目錄(下載 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

同類別(restoration)

vol_richardson_lucy


*Provenance: volrestore.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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