Class designed to contain and encapsulate Discrete Radon Transforms (DRT). The transforms can be operated on Blitz Array or Matrices. More...
#include <DGVRadonTransform.h>
Public Member Functions | |
Constructors | |
DGVRadonTransform () | |
Standard Constructor. | |
virtual | ~DGVRadonTransform () |
Standard Destructor. | |
Radon Transforms | |
void | DiscreteRT (Array< type, 2 > &field, Array< type, 2 > &bins) |
The Finite Radon Transform of Matus & Flusser (1993). It is assumed that the field size is prime. | |
void | iDiscreteRT (Array< type, 2 > &bins, Array< type, 2 > &result, bool norm=true) |
The Inverse Finite Radon Transform of Matus & Flusser (1993). It is assumed that the field size is prime. | |
void | FastRT (Array< type, 2 > &field, Array< type, 2 > &bins) |
The Fast Radon Transform of Matus & Flusser (1993). It is assumed that the field size is prime. | |
void | iFastRT (Array< type, 2 > &bins, Array< type, 2 > &result, bool norm=true) |
The Inverse Fast Radon Transform of Matus & Flusser (1993). It is assumed that the field size is prime. | |
void | extractSlices (Array< complex< type >, 2 > &field, Array< complex< type >, 2 > &slices) |
Extracts all the slice at discrete slopes from field. Uses the Fourier Slice Theorem. | |
void | extractSlices (Array< type, 2 > &field, Array< type, 2 > &slices) |
void | getSlice (int m, Array< complex< type >, 2 > &field, Array< complex< type >, 1 > &slice) |
Extracts the slice at discrete slope m from field. Uses the Fourier Slice Theorem. | |
void | getSlice (int m, Array< type, 2 > &field, Array< type, 1 > &slice) |
void | setSlice (int m, Array< complex< type >, 2 > &field, Array< complex< type >, 1 > &slice) |
Assigns a slice at discrete slope m to field. Uses the Fourier Slice Theorem. | |
void | setSlice (int m, Array< type, 2 > &field, Array< type, 1 > &slice) |
I/O | |
void | init () |
Initializes all internal variables. | |
void | setIsum (type sum) |
Sets the calculated in RT's (i.e. the total image sum). | |
type | getIsum () |
Returns the calculated in RT's (i.e. the total image sum). | |
void | ISumFromBins (Array< type, 2 > &bins) |
Returns the calculated in RT's (i.e. the total image sum). It is calculated from the first row of the FRT Space. | |
void | setInitializer (type value) |
type | getInitializer () |
Sets the initializer value for the RT's. MUST BE SET FOR CORRECT RESULTS WHEN USING TYPES OTHER THAN NUMBER TYPES (eg. string). | |
bool | isTypeInteger () |
Returns if the type of the RTs are integers. | |
Protected Attributes | |
type | Isum |
The sum of all the Field values. | |
type | initializer |
Class designed to contain and encapsulate Discrete Radon Transforms (DRT). The transforms can be operated on Blitz Array or Matrices.
Currently supports the following DRTs:
Definition at line 44 of file DGVRadonTransform.h.
DGVRadonTransform< type >::DGVRadonTransform | ( | ) |
Standard Constructor.
Definition at line 152 of file DGVRadonTransform.h.
DGVRadonTransform< type >::~DGVRadonTransform | ( | ) | [virtual] |
Standard Destructor.
Definition at line 158 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::DiscreteRT | ( | Array< type, 2 > & | field, | |
Array< type, 2 > & | bins | |||
) |
The Finite Radon Transform of Matus & Flusser (1993). It is assumed that the field size is prime.
bins is automatically/internally allocated to the correct size.
Definition at line 164 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::extractSlices | ( | Array< complex< type >, 2 > & | field, | |
Array< complex< type >, 2 > & | slices | |||
) |
Extracts all the slice at discrete slopes from field. Uses the Fourier Slice Theorem.
Pick slices and Inverse 1D FFT them
Definition at line 284 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::extractSlices | ( | Array< type, 2 > & | field, | |
Array< type, 2 > & | slices | |||
) |
Pick slices and Inverse 1D FFT them
Definition at line 302 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::FastRT | ( | Array< type, 2 > & | field, | |
Array< type, 2 > & | bins | |||
) |
The Fast Radon Transform of Matus & Flusser (1993). It is assumed that the field size is prime.
These fast methods are suited only for numeric types. bins is automatically/internally allocated to the correct size.
Odd rows then assume prime-length
Definition at line 228 of file DGVRadonTransform.h.
DGVRadonTransform< type >::getInitializer | ( | ) | [inline] |
Sets the initializer value for the RT's. MUST BE SET FOR CORRECT RESULTS WHEN USING TYPES OTHER THAN NUMBER TYPES (eg. string).
Returns the initializer value for the RT's. MUST BE SET FOR CORRECT RESULTS WHEN USING TYPES OTHER THAN NUMBER TYPES (eg. string).
Definition at line 138 of file DGVRadonTransform.h.
DGVRadonTransform< type >::getIsum | ( | ) | [inline] |
Returns the calculated in RT's (i.e. the total image sum).
Definition at line 121 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::getSlice | ( | int | m, | |
Array< type, 2 > & | field, | |||
Array< type, 1 > & | slice | |||
) |
Definition at line 336 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::getSlice | ( | int | m, | |
Array< complex< type >, 2 > & | field, | |||
Array< complex< type >, 1 > & | slice | |||
) |
Extracts the slice at discrete slope m from field. Uses the Fourier Slice Theorem.
Definition at line 317 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::iDiscreteRT | ( | Array< type, 2 > & | bins, | |
Array< type, 2 > & | result, | |||
bool | norm = true | |||
) |
The Inverse Finite Radon Transform of Matus & Flusser (1993). It is assumed that the field size is prime.
bins is automatically/internally allocated to the correct size. If norm is true, then the result is divided by prime. It can be omitted and will normalise by default.
Definition at line 194 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::iFastRT | ( | Array< type, 2 > & | bins, | |
Array< type, 2 > & | result, | |||
bool | norm = true | |||
) |
The Inverse Fast Radon Transform of Matus & Flusser (1993). It is assumed that the field size is prime.
These fast methods are suited only for numeric types. bins is automatically/internally allocated to the correct size. If norm is true, then the result is divided by prime. It can be omitted and will normalise by default.
FRT Space has n+1 rows, then assume prime length
Definition at line 257 of file DGVRadonTransform.h.
DGVRadonTransform< type >::init | ( | ) | [inline] |
Initializes all internal variables.
Definition at line 111 of file DGVRadonTransform.h.
bool DGVRadonTransform< type >::isTypeInteger | ( | ) |
Returns if the type of the RTs are integers.
Definition at line 401 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::ISumFromBins | ( | Array< type, 2 > & | bins | ) |
Returns the calculated in RT's (i.e. the total image sum). It is calculated from the first row of the FRT Space.
Definition at line 393 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::setInitializer | ( | type | value | ) | [inline] |
Definition at line 132 of file DGVRadonTransform.h.
DGVRadonTransform< type >::setIsum | ( | type | sum | ) | [inline] |
Sets the calculated in RT's (i.e. the total image sum).
Definition at line 116 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::setSlice | ( | int | m, | |
Array< complex< type >, 2 > & | field, | |||
Array< complex< type >, 1 > & | slice | |||
) |
Assigns a slice at discrete slope m to field. Uses the Fourier Slice Theorem.
Definition at line 355 of file DGVRadonTransform.h.
void DGVRadonTransform< type >::setSlice | ( | int | m, | |
Array< type, 2 > & | field, | |||
Array< type, 1 > & | slice | |||
) |
Definition at line 374 of file DGVRadonTransform.h.
type DGVRadonTransform< type >::initializer [protected] |
The initialial value to which the RT's are to be conducted
Definition at line 148 of file DGVRadonTransform.h.
type DGVRadonTransform< type >::Isum [protected] |
The sum of all the Field values.
Definition at line 147 of file DGVRadonTransform.h.