scaling of iradon

4 vues (au cours des 30 derniers jours)
Kaist
Kaist le 27 Juin 2011
In the case of filtered backprojection,
image = pi/N * sum(filtered sinogram)
(N = number of sampling views)
However, in iradon code,
img = img*pi/(2*length(theta));
I don't understand why the scale factor is pi/2/N

Réponses (1)

Prateekshya
Prateekshya le 16 Oct 2024
Hello Kaist,
The scaling factor in the filtered backprojection algorithm, as implemented in MATLAB's iradon function, can indeed be a bit confusing. Let's break down why the scaling factor is where N is the number of projection angles (i.e., the length of theta).
  • Filtered Backprojection: The core idea is to reconstruct an image from its projections (sinograms) by applying the inverse Radon transform. The Radon transform of a 2D function (image) integrates the function over lines at various angles, producing a set of projections.
  • Scaling in Theory: In the continuous domain, the inverse Radon transform involves integrating over all angles, which corresponds to the factor π. This factor arises because the Radon transform integrates over a semicircle of angles (0 to π).
  • Discrete Implementation: In practice, we perform this integration using a discrete set of angles (sampling views). The scaling factor accounts for the discrete sampling of angles when reconstructing the image from its projections.
  • Why in iradon: The additional factor of 1/2 comes from the way MATLAB normalizes the inverse Radon transform. This normalization ensures that the reconstructed image has the same scale as the original image. The factor ensures that the sum of the filtered projections over all angles properly approximates the continuous integral.
I hope this helps!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by