{ } Raw JSON

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] // 2 along the 0th dimension of radon_image.

theta : array, shape (N,), optional

Reconstruction angles (in degrees). Default: m angles evenly spaced between 0 and 180 (if the shape of radon_image is (N, M)).

image : ndarray, shape (M, M), optional

Image containing an initial reconstruction estimate. Default is an array of zeros.

projection_shifts : array, shape (N,), optional

Shift 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 of radon_image.

clip : tuple of (float, float), optional

Force all values in the reconstructed tomogram to lie in the range [clip[0], clip[1]]

relaxation : float, optional

Relaxation 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, optional

Output 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 : ndarray

Reconstructed 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