Thursday, February 21, 2013

Learning Tomography: Interpolation in Fourier Rec.



After zero-padding [Link], there is another kind of improvement of our Direct Fourier Reconstruction implementation: The interpolation scheme.
Indeed, during the polar/cartesian conversion, we need to interpolate the sinogram values to exactly fit the cartesian 2D Fourier space. The choice of an interpolation scheme can greatly improve the resulting 2D reconstruction.


Thanks to the advanced implementation described in this post [Link], it is easy to modify the interpolation scheme used during the cartesian/polar coordinates conversion.

1- The script

In the 'Global variables' section at the beginning of the script, add the following lines defining various constants and the current interpolation mode (e.g. BILINEAR).

// Global variables
...
var NEAREST  = 1;
var BILINEAR = 2;

var mode = NEAREST; // interpolation scheme


and then, in the 'FUNCTIONS' section, replace the interpolate(...) function by the following code...

+++ JavaScript IJ snippet: FourierRecInterpolate.js +++ +++ End of IJ snippet +++

2- Interpolation schemes

2-1- Nearest

By default, I implemented the simplest interpolation scheme: the nearest value corresponding to the closest integer value.   

2-2- Bilinear

Fig. 4: Bilinear interpolation A) without zero padding and B) with zero padding the sinogram (here, 512x180).

2-3- Other interpolations

W O R K  I N  P R O G R E S S

Other crazybiocomputing posts

Further readings are available in ...
  • Learning Tomography Series  [Link]
  • Image Processing TOC [Link]
  •  

No comments:

Post a Comment