Purpose

The module Radon performs a 2D Radon Transform for each slice of the input dataset.

Usage

To make proper use of the resulting sinogram the input should be X/Y axis aligned, and with identical X/Y voxels sizes and extends. Further the Radon transforms ignored the world matrix and assumes a coordinate system centered at the images. Only the voxel size.x and extends.x parameter are relevant for the result image.

Details

The number of Directions and Shifts greatly influences the computation time of this module.

Often, rather small values are sufficient, especially for Directions.

Tips

When not blurring the image e.g. sine wave sections from the isolated bright voxels will become fragmented due to numerical issues in the third party algorithm employed.

Integration is probably performed using rather simple sampling approaches.

Thus use this with care on binary data.

Windows

Default Panel

../../../Modules/ML/MLTransformation/mhelp/Images/Screenshots/Radon._default.png

Input Fields

input0

name: input0, type: Image

The input image can be any square 3D image (note that there is no check if the image really is square).

Output Fields

output0

name: output0, type: Image

The output is the Radon transform (Sinogram) g(theta, rho) for each slice, where theta is the projection angle and rho is the offset.

The x-axis of the output image is the theta-axis from 0 to PI (0..180 deg), the y-axis is the rho-axis from -(rhoSteps-1)/2 to +(rhoSteps-1)/2.

Parameter Fields

Field Index

Apply: Trigger
Auto: Bool
Directions: Integer
Interpolation: Enum
Scale voxel values: Bool
Shifts: Integer

Visible Fields

Directions

name: directions, type: Integer, default: 360, deprecated name: thetaSteps

Sets the number of projections.

The sinogram will be calculated for theta=0..180 deg, so if Directions = 180, there will be 180 projections with 1 degree increment. The default 360 compute results with half deg. resolution.

High sinogram value at an angle of 0 / 180 relates to a vertical bright object in the input.

Shifts

name: shifts, type: Integer, default: 256, deprecated name: rhoSteps

Sets the number of rays used for each projection.

The central ray will always go through the center of the image. If you set Shifts to the X-size of the input image, all rays will cover a circle with radius sqrt(2)*<original image width> centered on the image. E.g.a single bright voxel at voxel coordinate 0.0 will results in a sine wave with maximal amplitude in the output.

The shift (Y-world coordinate) in the sinogram relates to the distance to the image center in mm of the lines integrated to obtain the values at that sinogram position.

Please note: shift parameters might be negative.

Interpolation

name: interpolation, type: Enum, default: Linear, deprecated name: interpolationMode

Defines the interpolation mode for gathering values along rays through the image.

Values:

Title Name
Nearest Neighbour NearestNeighbour
Linear Linear
Linear Fill LinearFill

Scale voxel values

name: voxelScaling, type: Bool, default: TRUE

If checked, the result of the Radon transform will be scaled with the voxel size of the input image.

This “normalizes” the result so that scans of the same object with different resolutions lead to (basically) the same Radon transform.

Should be set checked.

Apply

name: apply, type: Trigger, deprecated name: Apply

If pressed, the module computes anew.

Auto

name: autoApply, type: Bool, default: FALSE

If checked, the module computes anew on each change of a field or the input.