os_sart_reconstruct — TOMOGRAPHY ct_scan op

• 資料種類:projstack × ctgeometry → voxel

• 呼叫: 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)(要直接呼叫實作,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);從台帳取用則 opstomography.get("os_sart_reconstruct"))

• GPU:無(僅 CPU 參考實作)

用法

OS-SART:將 SIRT 更新逐一套用於有序視角子集。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

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).

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• 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

型別可銜接的下一個運算子(可接受 voxel 作為輸入)

radon_volume · ct_forward_project

同類別(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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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