os_sart_reconstruct — TOMOGRAPHY ct_scan op

• Data kinds: projstack × ctgeometry → voxel

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

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

उपयोग

OS-SART: SIRT अद्यतन को एक समय में व्यू के एक क्रमित उपसमुच्चय पर लागू करता है।

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

One iteration passes over all subsets, so it costs about one SIRT iteration and moves about *n_subsets* times as far early on. With inconsistent data it settles into a limit cycle rather than a point.

:param projections: (view, V, U) line integrals. :param geometry: dict from ct_scan_geometry. :param n_iter: passes over all subsets, 1 .. 5000. :param n_subsets: subsets, 1 .. n_views. :param relaxation: step lam, (0, 2). :param initial: starting volume; None gives zeros. :param nonnegative: clip to >= 0 after each subset. :param device: "auto", "cpu" or "cuda". :param on_iter: optional on_iter(iteration, volume), called after each full

pass; returning a boolean True (bool or numpy.bool_) stops

there, any other return value is ignored.

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

outside (0, 2), or more subsets than views. Empty input (projections

with 0 elements) raises ValueError.

The default 10 passes is not converged. On consistent data (24^3 Shepp-Logan, cone, 20 views, 16 subsets) the relative residual is 0.0135 at 10 passes and 0.0044 at 40, nRMS to the truth 0.0278 -> 0.0176 (37 %); on the measured walnut (fan, 50 views, 10 subsets) the RMSE to the reference is 0.0048 /mm at 10 passes and 0.0036 at 40 (2026-11-09 audit). Pick the count from a curve (on_iter, see sirt_reconstruct).

संदर्भ (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.