Signals | Public Member Functions | Protected Member Functions | Protected Attributes

DGVTransform Class Reference

Interface class that Binds all the transform classes together for usage with Qt constructs such as Images and Tables. More...

#include <DGVTransform.h>

Collaboration diagram for DGVTransform:
Collaboration graph
[legend]

List of all members.

Signals

void resultAvailable (DGVImage *)
 Send signal that Resultant image is available for showing.
void resultAvailable (Array< imageType, 1 >, QString)
 Send signal that Resultant image is available for showing.
void resultAvailable (Array< imageType, 2 >, QString)
 Send signal that Resultant image is available for showing.
void resultAvailable_1D (Array< imageType, 2 >, QString)
 Send signal that Resultant image is available for showing. For a set of 1D data.
void resultAvailable (Array< complex< imageType >, 1 >, QString)
 Send signal that Resultant image is available for showing.
void resultAvailable (Array< complex< imageType >, 2 >, QString)
 Send signal that Resultant image is available for showing.
void resultAvailable_1D (Array< complex< imageType >, 2 >, QString)
 Send signal that Resultant image is available for showing. For a set of 1D data.

Public Member Functions

 DGVTransform (QObject *parent=0)
virtual ~DGVTransform ()
void setName (QString newName)
 Name of the operation. Doesn't effect transforms only for users reference.
QString getName ()
 Returns the name of the operation. The name doesn't effect transforms only for users reference.
Discrete Radon Transforms

void frt (DGVImage *image)
 Conducts the FRT of an image. Sends signal with resultant image. DISABLED.
void frt (Array< imageType, 2 > &image)
 Conducts the FRT of an image. Sends signal with resultant image.
void ifrt (DGVImage *bins)
 Conducts the inverse FRT of an image. Sends signal with resultant image. DISABLED.
void ifrt (Array< imageType, 2 > &bins)
 Conducts the inverse FRT of an image. Sends signal with resultant image.
void ifrtUnscaled (DGVImage *image)
 Conducts the inverse FRT of an image without dividing by p. Sends signal with resultant image. DISABLED.
void ifrtUnscaled (Array< imageType, 2 > &bins)
 Conducts the inverse FRT of an image without dividing by p. Sends signal with resultant image.
Constructors

void fft (Array< complex< imageType >, 2 > &image)
 Conducts the FFT of an image. Sends signal with resultant image.
void ifft (Array< complex< imageType >, 2 > &kSpace)
 Conducts the inverse FFT of an image. Sends signal with resultant image.
void fft_real (Array< imageType, 2 > &image)
 Conducts the FFT of an image. Sends signal with resultant image.
void ifft_real (Array< complex< imageType >, 2 > &kSpace)
 Conducts the inverse FFT of an image. Sends signal with resultant image.
void fft_1D (Array< complex< imageType >, 1 > &image)
 Conducts the 1D FFT of an image. Sends signal with resultant image.
void fft_1D (Array< complex< imageType >, 2 > &image)
 Conducts the 1D FFT of an image. Sends signal with resultant image. Not multi-threaded.
void ifft_1D (Array< complex< imageType >, 1 > &kSpace)
 Conducts the inverse 1D FFT of an image. Sends signal with resultant image.
void ifft_1D (Array< complex< imageType >, 2 > &kSpace)
 Conducts the inverse 1D FFT of an image. Sends signal with resultant image. Not multi-threaded.
void fft_real_1D (Array< imageType, 1 > &image)
 Conducts the real 1D FFT of an image. Sends signal with resultant image.
void fft_real_1D (Array< imageType, 2 > &image)
 Conducts the real 1D FFT of an image. Sends signal with resultant image. Not multi-threaded.
void ifft_real_1D (Array< complex< imageType >, 1 > &kSpace)
 Conducts the real inverse 1D FFT of an image. Sends signal with resultant image.
void ifft_real_1D (Array< complex< imageType >, 2 > &kSpace)
 Conducts the real inverse 1D FFT of an image. Sends signal with resultant image. Not multi-threaded.
void radonSlices (Array< complex< imageType >, 2 > &kSpace)
 Extracts the Radon slices from an image. Sends signal with resultant image.
void radonSlices (Array< imageType, 2 > &kSpace)
 Extracts the Radon slices from an image. Sends signal with resultant image.
Options

void reset ()
 Reset internal transform information.
void shiftDC (Array< imageType, 2 > &kSpace)
 Shift the DC in in array.
void shiftDC (Array< complex< imageType >, 2 > &kSpace)
 Shift the DC in in array.
void normalise (Array< imageType, 2 > &kSpace)
 Normalise the array.
void normalise (Array< complex< imageType >, 2 > &kSpace)
 Normalise the array.
void alwaysWaitTillComplete (bool waitTillComplete)
 Reset internal transform information.
DGVImagegetImageResult ()
 Return image result if image was passed in for transform.
void setConsole (DGVConsole *newConsole)
 Assigns a console for message output. You should set this before calling data members to ensure messages reach the console (if one is present).

Protected Member Functions

void run ()
 Run the transform in thread.

Protected Attributes

QMutex mutex
QWaitCondition condition
bool abort
bool alwaysWait
 Always wait till the transform is done and dont run in multi-task thread.
bool consoleAssigned
 Console attached?
QString name
 Name of transform operation for users reference. Doesn't effect actual transforms.
transformType transform
 Which transform to do so it can be run in thread.
Array< imageType, 1 > * inData_1D
 Pointer to data to transform.
Array< imageType, 1 > * outData_1D
 Pointer to the result of the transform.
Array< imageType, 2 > * inData
 Pointer to data to transform.
Array< imageType, 2 > * outData
 Pointer to the result of the transform.
Array< complex< imageType >, 1 > * inComplexData_1D
 Pointer to complex data to transform.
Array< complex< imageType >, 1 > * outComplexData_1D
 Pointer to the complex result of the transform.
Array< complex< imageType >, 2 > * inComplexData
 Pointer to complex data to transform.
Array< complex< imageType >, 2 > * outComplexData
 Pointer to the complex result of the transform.
Array< complex< imageType >, 2 > fftSpace
 FFT Bin values for transforms.
Array< imageType, 2 > frtSpace
 FRT Bin values for transforms.
Array< complex< imageType >, 1 > fftSpace_1D
 1D FFT Bin values for transforms
Array< imageType, 1 > frtSpace_1D
 1D FRT Bin values for transforms
DGVRadonTransform< imageTypeRT
 Radon Transforms.
DGVFourierTransform< imageType, 1 > Fourier_1D
 Fourier Transforms.
DGVFourierTransform< imageType, 2 > Fourier
 Fourier Transforms.
DGVImageresultImage
 Pointer to result.
DGVConsoleconsole
 Console for message output.

Detailed Description

Interface class that Binds all the transform classes together for usage with Qt constructs such as Images and Tables.

This transform wrapper runs transforms (FFT etc.) in threads.

Todo:
Multi-threading: Cannot handle multi-threading. Enforce "wait" until transform is complete.
Author:
Shekhar S. Chandra, 2008-2009

Definition at line 46 of file DGVTransform.h.


Constructor & Destructor Documentation

DGVTransform::DGVTransform ( QObject *  parent = 0  ) 

Definition at line 24 of file DGVTransform.cpp.

DGVTransform::~DGVTransform (  )  [virtual]

Definition at line 29 of file DGVTransform.cpp.


Member Function Documentation

DGVTransform::alwaysWaitTillComplete ( bool  waitTillComplete  )  [inline]

Reset internal transform information.

Definition at line 210 of file DGVTransform.h.

void DGVTransform::fft ( Array< complex< imageType >, 2 > &  image  ) 

Conducts the FFT of an image. Sends signal with resultant image.

Definition at line 157 of file DGVTransform.cpp.

void DGVTransform::fft_1D ( Array< complex< imageType >, 1 > &  image  ) 

Conducts the 1D FFT of an image. Sends signal with resultant image.

Definition at line 233 of file DGVTransform.cpp.

void DGVTransform::fft_1D ( Array< complex< imageType >, 2 > &  image  ) 

Conducts the 1D FFT of an image. Sends signal with resultant image. Not multi-threaded.

Definition at line 252 of file DGVTransform.cpp.

void DGVTransform::fft_real ( Array< imageType, 2 > &  image  ) 

Conducts the FFT of an image. Sends signal with resultant image.

Definition at line 195 of file DGVTransform.cpp.

void DGVTransform::fft_real_1D ( Array< imageType, 1 > &  image  ) 

Conducts the real 1D FFT of an image. Sends signal with resultant image.

Definition at line 311 of file DGVTransform.cpp.

void DGVTransform::fft_real_1D ( Array< imageType, 2 > &  image  ) 

Conducts the real 1D FFT of an image. Sends signal with resultant image. Not multi-threaded.

Definition at line 330 of file DGVTransform.cpp.

void DGVTransform::frt ( Array< imageType, 2 > &  image  ) 

Conducts the FRT of an image. Sends signal with resultant image.

Definition at line 72 of file DGVTransform.cpp.

void DGVTransform::frt ( DGVImage image  ) 

Conducts the FRT of an image. Sends signal with resultant image. DISABLED.

< Bin values for transforms

Definition at line 42 of file DGVTransform.cpp.

DGVTransform::getImageResult (  )  [inline]

Return image result if image was passed in for transform.

Definition at line 216 of file DGVTransform.h.

DGVTransform::getName (  )  [inline]

Returns the name of the operation. The name doesn't effect transforms only for users reference.

Definition at line 64 of file DGVTransform.h.

void DGVTransform::ifft ( Array< complex< imageType >, 2 > &  kSpace  ) 

Conducts the inverse FFT of an image. Sends signal with resultant image.

Definition at line 176 of file DGVTransform.cpp.

void DGVTransform::ifft_1D ( Array< complex< imageType >, 2 > &  kSpace  ) 

Conducts the inverse 1D FFT of an image. Sends signal with resultant image. Not multi-threaded.

Definition at line 291 of file DGVTransform.cpp.

void DGVTransform::ifft_1D ( Array< complex< imageType >, 1 > &  kSpace  ) 

Conducts the inverse 1D FFT of an image. Sends signal with resultant image.

Definition at line 272 of file DGVTransform.cpp.

void DGVTransform::ifft_real ( Array< complex< imageType >, 2 > &  kSpace  ) 

Conducts the inverse FFT of an image. Sends signal with resultant image.

Definition at line 214 of file DGVTransform.cpp.

void DGVTransform::ifft_real_1D ( Array< complex< imageType >, 1 > &  kSpace  ) 

Conducts the real inverse 1D FFT of an image. Sends signal with resultant image.

Definition at line 351 of file DGVTransform.cpp.

void DGVTransform::ifft_real_1D ( Array< complex< imageType >, 2 > &  kSpace  ) 

Conducts the real inverse 1D FFT of an image. Sends signal with resultant image. Not multi-threaded.

Definition at line 370 of file DGVTransform.cpp.

void DGVTransform::ifrt ( DGVImage bins  ) 

Conducts the inverse FRT of an image. Sends signal with resultant image. DISABLED.

Todo:
Broken

< Bin values for transforms

Definition at line 95 of file DGVTransform.cpp.

void DGVTransform::ifrt ( Array< imageType, 2 > &  bins  ) 

Conducts the inverse FRT of an image. Sends signal with resultant image.

Definition at line 109 of file DGVTransform.cpp.

void DGVTransform::ifrtUnscaled ( Array< imageType, 2 > &  bins  ) 

Conducts the inverse FRT of an image without dividing by p. Sends signal with resultant image.

Definition at line 140 of file DGVTransform.cpp.

void DGVTransform::ifrtUnscaled ( DGVImage image  ) 

Conducts the inverse FRT of an image without dividing by p. Sends signal with resultant image. DISABLED.

Todo:
Broken

< Bin values for transforms

Definition at line 126 of file DGVTransform.cpp.

DGVTransform::normalise ( Array< complex< imageType >, 2 > &  kSpace  )  [inline]

Normalise the array.

Definition at line 204 of file DGVTransform.h.

DGVTransform::normalise ( Array< imageType, 2 > &  kSpace  )  [inline]

Normalise the array.

Definition at line 198 of file DGVTransform.h.

void DGVTransform::radonSlices ( Array< complex< imageType >, 2 > &  kSpace  ) 

Extracts the Radon slices from an image. Sends signal with resultant image.

Definition at line 391 of file DGVTransform.cpp.

void DGVTransform::radonSlices ( Array< imageType, 2 > &  kSpace  ) 

Extracts the Radon slices from an image. Sends signal with resultant image.

Definition at line 410 of file DGVTransform.cpp.

void DGVTransform::reset (  ) 

Reset internal transform information.

Definition at line 429 of file DGVTransform.cpp.

void DGVTransform::resultAvailable ( DGVImage _t1  )  [signal]

Send signal that Resultant image is available for showing.

Definition at line 99 of file moc_DGVTransform.cpp.

void DGVTransform::resultAvailable ( Array< imageType, 2 >  _t1,
QString  _t2 
) [signal]

Send signal that Resultant image is available for showing.

Definition at line 113 of file moc_DGVTransform.cpp.

void DGVTransform::resultAvailable ( Array< complex< imageType >, 1 >  _t1,
QString  _t2 
) [signal]

Send signal that Resultant image is available for showing.

Definition at line 127 of file moc_DGVTransform.cpp.

void DGVTransform::resultAvailable ( Array< imageType, 1 >  _t1,
QString  _t2 
) [signal]

Send signal that Resultant image is available for showing.

Definition at line 106 of file moc_DGVTransform.cpp.

void DGVTransform::resultAvailable ( Array< complex< imageType >, 2 >  _t1,
QString  _t2 
) [signal]

Send signal that Resultant image is available for showing.

Definition at line 134 of file moc_DGVTransform.cpp.

void DGVTransform::resultAvailable_1D ( Array< complex< imageType >, 2 >  _t1,
QString  _t2 
) [signal]

Send signal that Resultant image is available for showing. For a set of 1D data.

Definition at line 141 of file moc_DGVTransform.cpp.

void DGVTransform::resultAvailable_1D ( Array< imageType, 2 >  _t1,
QString  _t2 
) [signal]

Send signal that Resultant image is available for showing. For a set of 1D data.

Definition at line 120 of file moc_DGVTransform.cpp.

void DGVTransform::run (  )  [protected]

Run the transform in thread.

< Process Qt Events First

2D FFTs

1D FFTs

Slicing

FRTs

< Process Qt Events

Put to sleep

Definition at line 456 of file DGVTransform.cpp.

void DGVTransform::setConsole ( DGVConsole newConsole  ) 

Assigns a console for message output. You should set this before calling data members to ensure messages reach the console (if one is present).

Definition at line 445 of file DGVTransform.cpp.

DGVTransform::setName ( QString  newName  )  [inline]

Name of the operation. Doesn't effect transforms only for users reference.

Definition at line 58 of file DGVTransform.h.

DGVTransform::shiftDC ( Array< imageType, 2 > &  kSpace  )  [inline]

Shift the DC in in array.

Definition at line 186 of file DGVTransform.h.

DGVTransform::shiftDC ( Array< complex< imageType >, 2 > &  kSpace  )  [inline]

Shift the DC in in array.

Definition at line 192 of file DGVTransform.h.


Member Data Documentation

bool DGVTransform::abort [protected]

Definition at line 266 of file DGVTransform.h.

bool DGVTransform::alwaysWait [protected]

Always wait till the transform is done and dont run in multi-task thread.

Definition at line 267 of file DGVTransform.h.

QWaitCondition DGVTransform::condition [protected]

Definition at line 265 of file DGVTransform.h.

Console for message output.

Definition at line 292 of file DGVTransform.h.

Console attached?

Definition at line 268 of file DGVTransform.h.

Array<complex<imageType>,2> DGVTransform::fftSpace [protected]

FFT Bin values for transforms.

Definition at line 281 of file DGVTransform.h.

Array<complex<imageType>,1> DGVTransform::fftSpace_1D [protected]

1D FFT Bin values for transforms

Definition at line 284 of file DGVTransform.h.

Fourier Transforms.

Definition at line 289 of file DGVTransform.h.

Fourier Transforms.

Definition at line 288 of file DGVTransform.h.

Array<imageType,2> DGVTransform::frtSpace [protected]

FRT Bin values for transforms.

Definition at line 282 of file DGVTransform.h.

Array<imageType,1> DGVTransform::frtSpace_1D [protected]

1D FRT Bin values for transforms

Definition at line 285 of file DGVTransform.h.

Array<complex<imageType>,2>* DGVTransform::inComplexData [protected]

Pointer to complex data to transform.

Definition at line 278 of file DGVTransform.h.

Array<complex<imageType>,1>* DGVTransform::inComplexData_1D [protected]

Pointer to complex data to transform.

Definition at line 276 of file DGVTransform.h.

Array<imageType,2>* DGVTransform::inData [protected]

Pointer to data to transform.

Definition at line 274 of file DGVTransform.h.

Array<imageType,1>* DGVTransform::inData_1D [protected]

Pointer to data to transform.

Definition at line 272 of file DGVTransform.h.

QMutex DGVTransform::mutex [protected]

Definition at line 264 of file DGVTransform.h.

QString DGVTransform::name [protected]

Name of transform operation for users reference. Doesn't effect actual transforms.

Definition at line 269 of file DGVTransform.h.

Array<complex<imageType>,2>* DGVTransform::outComplexData [protected]

Pointer to the complex result of the transform.

Definition at line 279 of file DGVTransform.h.

Array<complex<imageType>,1>* DGVTransform::outComplexData_1D [protected]

Pointer to the complex result of the transform.

Definition at line 277 of file DGVTransform.h.

Array<imageType,2>* DGVTransform::outData [protected]

Pointer to the result of the transform.

Definition at line 275 of file DGVTransform.h.

Array<imageType,1>* DGVTransform::outData_1D [protected]

Pointer to the result of the transform.

Definition at line 273 of file DGVTransform.h.

Pointer to result.

Definition at line 291 of file DGVTransform.h.

Radon Transforms.

Definition at line 287 of file DGVTransform.h.

Which transform to do so it can be run in thread.

Definition at line 271 of file DGVTransform.h.


The documentation for this class was generated from the following files: