vol_gaussian_psf — 3D restoration op

• Data kinds: measurement → voxel

• Call: import fullseye as fs; fs.ledger.vol_gaussian_psf(sigma, truncate=4.0) (implementation को सीधे call करना हो तो import volrestore; volrestore.vol_gaussian_psf(sigma, truncate=4.0), registry से लेना हो तो ops3d.get("vol_gaussian_psf"))

उपयोग

normalised (योग 1) 3-D Gaussian PSF kernel; *sigma* एक scalar है या हर axis के लिए अलग।

हर axis के लिए *sigma* (sz, sy, sx) है, voxel में; kernel हर axis पर +-truncate*sigma तक फैला होता है (odd size, center बीच वाले voxel पर)। जब instrument PSF को Gaussian से अच्छी तरह approximate किया जा सके, तब यह vol_richardson_lucy का सुविधाजनक साथी है। PSF_MAX_ELEMENTS (~256^3) से बड़े kernel ValueError देते हैं — इतना बड़ा PSF इनपुट की गलती है, instrument नहीं।

Shape: हर axis की त्रिज्या r = ceil(truncate * sigma), side length 2r + 1 (odd) वाला (2rz+1, 2ry+1, 2rx+1) float64 array। Axis क्रम (z, y, x) है; sigma को (sz, sy, sx) के रूप में देने पर उसी क्रम से मेल खाता है (anisotropic PSF)। 3 1-D Gaussian exp(-x^2 / (2 sigma^2)) के outer product को कुल योग से भाग दिया जाता है, इसलिए योग ठीक 1 है, और center voxel अधिकतम मान है। इकाई voxel है (mm वाली PSF चौड़ाई को spacing से भाग देकर पास करें)।

Arguments और validation (ValueError):

• sigma: धनात्मक finite scalar, या लंबाई 3 के धनात्मक finite मान। इतने छोटे मान कि 2 घात (square) 0 तक underflow हो जाए (~1.5e-154 से कम) 0/0 देते हैं, इसलिए reject होते हैं।

• truncate: धनात्मक finite मान (default 4.0 = हर तरफ 4σ पर कटौती)।

• Element संख्या prod(2r+1) के PSF_MAX_ELEMENTS (2**24) से अधिक होने पर reject (प्रेरणा: एक measured मामला जिसमें σ≈300 पर लगभग 64 GB allocate हो गया था)।

उपयोग: vol_richardson_lucy(vol, psf) का psf। RL तरफ भी योग 1 पर फिर से normalise होता है, इसलिए यहाँ बना kernel सीधे पास किया जा सकता है।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• deconv_fft_restore — py -3.11 examples_3d/deconv_fft_restore.py

वे अगले ops जिनसे type जुड़ता है (voxel को input के रूप में लेते हैं)

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

इसी category के (restoration)

vol_richardson_lucy


*Provenance: volrestore.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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