Author:Damien Farrell History:2005/12/10:First version

2006/01/30:Added blackman filter and filter cutoff option, now accepts 8 bit color images.

2006/02/12:Added support for re-projecting stacks and storing stacks of projection data. Changed to use a Swing input dialog.

2006/02/28:Added ability to import projection data from sinogram images, converted to use jar file.

2016/04/09:Fixed bug that caused an exception to be thrown if the image width and were not equal and a bug that caused the progress bar to not be reset.

Source:Contained in jar file, can be opened as a zip archive. Installation:Download Radon_Transform.jar to the ImageJ plugins folder, or subfolder. Restart ImageJ, there will be a new RadonTransform command in the Plugins menu or submenu. Description:This plugin takes an image or image stack and performs a radon transform (by using a back projection algorithm) on it/them. The result is a set of projection data that is displayed as an 8 bit grayscale image (sometimes called a sinogram). The plugin accepts 8, 16 bit grayscale and 8 bit color images as input. (RGB color images must be converted to 8 bit grayscale before back projection). The projection data can preferentially be re-projected using filtered back projection to produce the inverse transform. The result can be output as an 8 or 16-bit image. This may be a processor intensive and lengthy operation for large images, or large number of images in a stack. Therefore, the algorithm for calculations on stacks runs in a seperate thread and the process can be cancelled at any time.

The dialog for the plugin has the following input parameters and buttons:

scans- number of data bins to project across image, default is image width, power of two values give best resultsangular increment(degrees) - increment angle, default is 1. Data is projected from 0-180 degrees, so a value of 2 here, gives 90 angular viewsLinear Interpolation- use linear interpolation in projection, used by default, if this is off then simple nearest neighbour interpolation is used.Load Data- Save projection data in a text fileImport Data- Can import data from an 8 or 16 bit image sinogram, angular increments must be equally spaced integer values.Save Data- Save projection data in a text fileOptions for performing the inverse transform (filtered back projection):

Filter- smoothing filters applied before back projection of each viewFilter Cutoff- set normalized frequency cutoff, range is 0<1<∞, default is 1Zoom- reconstruction field of view, can be 0<1<∞, default is 1Image size- output image size, any value allowed, width = heightBit depth- output image depth, 8 or 16 bit grayscale, default is 8The Radon Transform is used for reconstruction of data in tomographic imaging, eg. CT or PET scanners.

Reference: Kak & Slaney (1988), Principles of Computerized Tomographic Imaging, IEEE Press, ISBN 0-87942-198-3.

Figures:Input Dialog:

Sample shows the shepp logan phantom: Original, 256x256 8 bit image

Sinogram

Inverse Transform, scans=256, views=180, hann filter, zoom=1

This sample uses the same image, with fewer angular views:

Sinogram

Inverse, cosine filter, zoom=1, scans=256, views=45