Phase CT reconstruction - filtered back projection

Versión 1.0.1 (21,6 MB) por Karol Vegso
Phase CT reconstruction - filtered back projection
116 Descargas
Actualizado 22 ago 2023

Ver licencia

I am attaching to zip file sinogram of polymer / polypropylene sample with name <sino_000001_000400.raw>. The sinogram contains 400 rows, which is 400 projections per 180 degerees. The number of columns in sinogram is number of points in horizontal direction in the original differential phase images. It has value of 1536 points. You can open example sinogram in ImageJ -> File Import Raw -> 64 bit Real, width=1536, height=400, little bit endian byte order. The sinogram shows white signal on the left and black signal on the right, which is the flipping the diffrential phase at the sample edges. The backprojection algorithm was taken from web-site of the Rice university <https://www.clear.rice.edu/elec431/projects96/DSP/> written by Justin Romberg.
The original sinogram calculated from differential phase images is represented by sino matrix. The sign(ni) filter is applied to the original sinogram sino, and the result of filtering is sino_filtered matrix. I take differential phase data or sinle horiozntal line from sino matrix, and I do fast Fourier transform (fft) of that line, and I multiply data in frequency domain by sign(ni)/(i*2*pi) filter. Then I do inverse Fourier transformation of that resulting line and I take real part of the data.
In differential phase imaging using grating interferometry or X-ray Talbot interferometry, you can use sign(ni) filter in frequency domain, where sign(ν) = |ν|/ν is the sign function equal to 1 for x > 0, −1 for x < 0 and 0 for x = 0.
So, I apply sign(ni) filter to each horizontal line of 400 lines of the original sinogram stored in sino matrix. The result of filtering is sino_filtered matrix. The backprojection lagorithm is applied to the data stored in sino_filtered matrix.
We have in the example sinogram 400 projections from 0 degrees to 180 degrees. The projection angles for backprojection algorithm are stored in the vector theta=((0:(m-1))./m)*180;
The result of backprojection is stored in the image with name <phase_CT.raw>, which is also attached to the zip file available for downloading.
For good CT reconstruction, you must also define center of the sinogram, which is here defined in the middle_index variable. The center of sinogram is 735-th pixel from 1536 pixels.

Citar como

Karol Vegso (2026). Phase CT reconstruction - filtered back projection (https://la.mathworks.com/matlabcentral/fileexchange/134137-phase-ct-reconstruction-filtered-back-projection), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2021b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Etiquetas Añadir etiquetas
Versión Publicado Notas de la versión
1.0.1

The clarity of explanation was improved.

1.0.0