Main Page   Compound List   File List   Compound Members  

CCTData Class Reference

#include <CTData.h>

List of all members.

Public Methods

 CCTData ()
virtual ~CCTData ()
void showData ()
void extractPlane ()
void getData (CString fileName)
void setViewDir ()
void setViewPoints ()
void drawViewPoints ()
void RotateViewX (float angle)
void RotateViewY (float angle)

Public Attributes

int dimX
int dimY
int dimZ
int dimU
int dimV
fftw_complex * data
fftw_complex * show
GLubyte * show1
fftwnd_plan p2D
fftwnd_plan p3D
float hlp [256]
Vektor3f viewPoint [4]
Vektor3f viewDir
Header header

Protected Methods

void Initialize ()
void Destroy ()
int linear (float t, float *coeff)
void FHT3D ()
void FHT2D ()
void FFT3D ()
void FFT2D ()
void shift3D ()
void shift2D ()
float sqr (float d)
void vector_hartley_transform (float *v, unsigned long size, long stride)


Detailed Description

This class holds holds all the data and transforms it.


Constructor & Destructor Documentation

CCTData::CCTData   [inline]
 

Constructor of CCTData calls protected funtion Initialize.

virtual CCTData::~CCTData   [inline, virtual]
 

Destructor of CCTData calls protected function Destroy.


Member Function Documentation

void CCTData::Destroy   [protected]
 

Function destroys the plan for FFT2D, which is needed for each rendering step as the viewing direction is changed and it deletes the dynamic data structures data, show and show1

void CCTData::drawViewPoints  
 

Draw the vectors of the coordinate cross.

void CCTData::extractPlane  
 

Function which determines the viewing direction, performs a rotation based on it, interpolates the points in the volume by making use of a cyclic convolution with a filter and sets the points to be rendered. Next it performs a 2D-shift, the FFT2D and the 2D-shift back. Preparation of array show1 concerning brightness and color.

void CCTData::FFT2D   [protected]
 

Function that performs the 2D Fast Fourier Transform.

void CCTData::FFT3D   [protected]
 

Function that performs the 3D Fast Fourier Transform.

void CCTData::FHT2D   [protected]
 

Function that performs the 2D Fast Hartley Transform.

void CCTData::FHT3D   [protected]
 

Function that performs the 3D Fast Hartley Transform.

void CCTData::getData CString    fileName
 

Read 3D-data from input file.

void CCTData::Initialize   [protected]
 

Initializes the viewing direction and the coordinate-cross.

int CCTData::linear float    t,
float *    coeff
[protected]
 

Function for linear filter. t is a parameter in the interval [0,1) and coeff is a pointer to the array that contains the coefficients of the filter. This function returns the number of elements that were calculated as filter coefficients, in this case 2.

void CCTData::RotateViewX float    angle
 

Perform a rotation around the X axis. angle is the parameter in radians.

void CCTData::RotateViewY float    angle
 

Perform a rotation around the Y axis. angle is the parameter in radians.

void CCTData::setViewDir  
 

set the viewing direction corresponding to the rotations performed by holding the right mouse button and moving the mouse.

void CCTData::setViewPoints  
 

Initialize the vectors used for drawing the coordinate cross.

void CCTData::shift2D   [protected]
 

Function that performs a cyclic 2D shift of all elements in the 2D-array show.

void CCTData::shift3D   [protected]
 

Function that performs a cyclic 3D shift of all elements in the 3D-array data.

void CCTData::showData  
 

Used to read out 2D-array show1 and draw the corresponding points on the screen

float CCTData::sqr float    d [protected]
 

Function that calculates the square of the input value d and returns the result.

void CCTData::vector_hartley_transform float *    v,
unsigned long    size,
long    stride
[protected]
 

Function that calculates the FHT in one dimension. v is a pointer to the array containing the values to be transformed. size is the length of v and has to be a power of 2. stride denotes the length of one step. The data is taken at intervals of length stride.


The documentation for this class was generated from the following files:
Generated on Sun Dec 16 15:49:30 2001 for Fourier Volume Renderer by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001