bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / transform / radon_transform / iradon_sart
function
skimage.transform.radon_transform:iradon_sart
source: /dev/scikit-image/src/skimage/transform/radon_transform.py :385
Signature
def iradon_sart ( radon_image , theta = None , image = None , projection_shifts = None , clip = None , relaxation = 0.15 , dtype = None ) Summary
Inverse radon transform.
Extended Summary
Reconstruct an image from the radon transform, using a single iteration of the Simultaneous Algebraic Reconstruction Technique (SART) algorithm.
Parameters
radon_image: ndarray, shape (M, N)Image containing radon transform (sinogram). Each column of the image corresponds to a projection along a different angle. The tomography rotation axis should lie at the pixel index
radon_image.shape[0] // 2along the 0th dimension ofradon_image.theta: array, shape (N,), optionalReconstruction angles (in degrees). Default: m angles evenly spaced between 0 and 180 (if the shape of
radon_imageis (N, M)).image: ndarray, shape (M, M), optionalImage containing an initial reconstruction estimate. Default is an array of zeros.
projection_shifts: array, shape (N,), optionalShift the projections contained in
radon_image(the sinogram) by this many pixels before reconstructing the image. The i'th value defines the shift of the i'th column ofradon_image.clip: tuple of (float, float), optionalForce all values in the reconstructed tomogram to lie in the range
[clip[0], clip[1]]relaxation: float, optionalRelaxation parameter for the update step. A higher value can improve the convergence rate, but one runs the risk of instabilities. Values close to or higher than 1 are not recommended.
dtype: dtype, optionalOutput data type, must be floating point. By default, if input data type is not float, input is cast to double, otherwise dtype is set to input data type.
Returns
reconstructed: ndarrayReconstructed image. The rotation axis will be located in the pixel with indices
(reconstructed.shape[0] // 2, reconstructed.shape[1] // 2).
Notes
Algebraic Reconstruction Techniques are based on formulating the tomography reconstruction problem as a set of linear equations. Along each ray, the projected value is the sum of all the values of the cross section along the ray. A typical feature of SART (and a few other variants of algebraic techniques) is that it samples the cross section at equidistant points along the ray, using linear interpolation between the pixel values of the cross section. The resulting set of linear equations are then solved using a slightly modified Kaczmarz method.
When using SART, a single iteration is usually sufficient to obtain a good reconstruction. Further iterations will tend to enhance high-frequency information, but will also often increase the noise.
Aliases
-
skimage.transform.iradon_sart