tv_reconstruct — TOMOGRAPHY ct_scan op

• Data kinds: projstack × ctgeometry → voxel

• Call: import fullseye as fs; fs.ledger.tv_reconstruct(projections, geometry, tv_weight=0.0003, n_iter=200, initial=None, nonnegative=True, device='auto', on_iter=None) (implementation को सीधे call करना हो तो import ctscan; ctscan.tv_reconstruct(projections, geometry, tv_weight=0.0003, n_iter=200, initial=None, nonnegative=True, device='auto', on_iter=None), registry से लेना हो तो opstomography.get("tv_reconstruct"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

Chambolle-Pock प्राइमल-ड्यूअल विधि से टोटल-वैरिएशन पुनर्निर्माण।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

Solves min 0.5 ||A x - p||^2 + w ||grad x||_1 with x >= 0, in the form Sidky, Jorgensen & Pan 2012 give for CT. The prior says that the object is piecewise constant, which is what lets it fill data that was never measured: few views and limited angle. On an object that is not piecewise constant it paints the same flat patches, so a low residual here is not evidence of truth.

*tv_weight* is in units of ||A||^2 times the volume scale, so that one value behaves alike across grid sizes.

:param projections: (view, V, U) line integrals. :param geometry: dict from ct_scan_geometry. :param tv_weight: strength of the prior, >= 0. :param n_iter: primal-dual iterations, 1 .. 5000. :param initial: starting volume; None gives zeros. :param nonnegative: enforce x >= 0. :param device: "auto", "cpu" or "cuda". :param on_iter: optional on_iter(iteration, volume); returning a boolean

True (bool or numpy.bool_) stops after that iteration, any other

return value is ignored (same rule as sirt_reconstruct).

:returns: (Z, Y, X) float volume. :raises ValueError: on a shape that disagrees with the geometry or a negative

weight. Empty input (projections with 0 elements) raises ValueError.

संदर्भ (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 के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

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

• ct_scan_modes — py -3.11 examples/ct_scan_modes.py

• poc_ct_casting_sparse_views — py -3.11 examples/poc_ct_casting_sparse_views.py

• poc_real_walnut_cbct — py -3.11 examples/poc_real_walnut_cbct.py

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

radon_volume · ct_forward_project

इसी category के (ct_scan)

ct_scan_geometry · shepp_logan_3d · ellipsoid_phantom · ellipsoid_projections · ct_forward_project · ct_adjoint_project · fdk_reconstruct · sirt_reconstruct


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

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