ring_artifact_apply — TOMOGRAPHY artifact op

• Data kinds: sinogram → sinogram

• Call: import fullseye as fs; fs.ledger.ring_artifact_apply(sinogram, gain_sigma=0.02, seed=0, offsets=None) (implementation को सीधे call करना हो तो import tomography; tomography.ring_artifact_apply(sinogram, gain_sigma=0.02, seed=0, offsets=None), registry से लेना हो तो opstomography.get("ring_artifact_apply"))

उपयोग

detector को हर bin का gain error देता है — ring artefact का स्रोत।

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

A detector bin whose gain is g reports I = g I_true, so after the logarithm the line integral picks up a constant offset -ln g at that bin, the same at every angle. Back-projecting a constant column smears it around the rotation axis, and the reconstruction grows a ring at the radius that bin's rays are tangent to. One bad pixel, one perfect circle.

The offsets are drawn once from N(0, gain_sigma) with a fixed *seed* and applied to every row, because the whole point is that the error does not vary with angle — that is what distinguishes a ring from noise, and what makes ring_artifact_remove possible.

:param sinogram: (n_angles, n_detectors). :param gain_sigma: standard deviation of the per-bin offset, >= 0. :param seed: RNG seed; there is no None (determinism is a contract here). :param offsets: explicit (n_detectors,) offsets; overrides the random draw. :returns: (n_angles, n_detectors) float64 sinogram. :raises ValueError: on a negative sigma, a non-int seed, or an *offsets* whose

length is not the detector count.

संदर्भ (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_reconstruction — py -3.11 examples/ct_reconstruction.py

• poc_battery_ct_degradation — py -3.11 examples/poc_battery_ct_degradation.py

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

backproject_sinogram · filtered_backprojection · sart_reconstruct · beam_hardening_apply · beam_hardening_correct · ring_artifact_remove · metal_trace_interpolate · sinogram_center_of_rotation

इसी category के (artifact)

beam_hardening_apply · beam_hardening_correct · ring_artifact_remove · metal_trace_interpolate


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

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