vtkDiffusionTensorMathematicsSimple Class Reference

#include <vtkDiffusionTensorMathematicsSimple.h>

Inheritance diagram for vtkDiffusionTensorMathematicsSimple:
vtkSimpleImageToImageFilter

List of all members.

Public Types

enum  {
  VTK_TENS_TRACE, VTK_TENS_DETERMINANT, VTK_TENS_RELATIVE_ANISOTROPY, VTK_TENS_FRACTIONAL_ANISOTROPY,
  VTK_TENS_MAX_EIGENVALUE, VTK_TENS_MID_EIGENVALUE, VTK_TENS_MIN_EIGENVALUE, VTK_TENS_LINEAR_MEASURE,
  VTK_TENS_PLANAR_MEASURE, VTK_TENS_SPHERICAL_MEASURE, VTK_TENS_COLOR_ORIENTATION, VTK_TENS_D11,
  VTK_TENS_D22, VTK_TENS_D33, VTK_TENS_MODE, VTK_TENS_COLOR_MODE,
  VTK_TENS_MAX_EIGENVALUE_PROJX, VTK_TENS_MAX_EIGENVALUE_PROJY, VTK_TENS_MAX_EIGENVALUE_PROJZ, VTK_TENS_RAI_MAX_EIGENVEC_PROJX,
  VTK_TENS_RAI_MAX_EIGENVEC_PROJY, VTK_TENS_RAI_MAX_EIGENVEC_PROJZ, VTK_TENS_PARALLEL_DIFFUSIVITY, VTK_TENS_PERPENDICULAR_DIFFUSIVITY
}
 

Operation options.

More...

Public Member Functions

void ComputeTensorIncrements (vtkImageData *imageData, vtkIdType incr[3])
const charGetOperationAsAbbreviatedString ()
const charGetOperationAsString ()
virtual void PrintSelf (ostream &os, vtkIndent indent)
void SetOperationToColorByMode ()
void SetOperationToColorByOrientation ()
void SetOperationToD11 ()
void SetOperationToD22 ()
void SetOperationToD33 ()
void SetOperationToDeterminant ()
void SetOperationToFractionalAnisotropy ()
void SetOperationToLinearMeasure ()
void SetOperationToMaxEigenvalue ()
void SetOperationToMaxEigenvalueProjectionX ()
void SetOperationToMaxEigenvalueProjectionY ()
void SetOperationToMaxEigenvalueProjectionZ ()
void SetOperationToMiddleEigenvalue ()
void SetOperationToMinEigenvalue ()
void SetOperationToMode ()
void SetOperationToParallelDiffusivity ()
void SetOperationToPerpendicularDiffusivity ()
void SetOperationToPlanarMeasure ()
void SetOperationToRAIMaxEigenvecX ()
void SetOperationToRAIMaxEigenvecY ()
void SetOperationToRAIMaxEigenvecZ ()
void SetOperationToRelativeAnisotropy ()
void SetOperationToSphericalMeasure ()
void SetOperationToTrace ()
virtual void SetScalarMask (vtkImageData *)
virtual void SetTensorRotationMatrix (vtkMatrix4x4 *)
 vtkBooleanMacro (FixNegativeEigenvalues, int)
 vtkBooleanMacro (MaskWithScalars, int)
 vtkBooleanMacro (ExtractEigenvalues, int)
 vtkGetMacro (MaskLabelValue, int)
 vtkGetMacro (FixNegativeEigenvalues, int)
 vtkGetMacro (MaskWithScalars, int)
 vtkGetMacro (ExtractEigenvalues, int)
 vtkGetMacro (ScaleFactor, double)
 vtkGetMacro (Operation, int)
 vtkGetObjectMacro (ScalarMask, vtkImageData)
 vtkGetObjectMacro (TensorRotationMatrix, vtkMatrix4x4)
 vtkSetClampMacro (Operation, int, VTK_TENS_TRACE, VTK_TENS_PERPENDICULAR_DIFFUSIVITY)
 vtkSetMacro (MaskLabelValue, int)
 vtkSetMacro (FixNegativeEigenvalues, int)
 vtkSetMacro (MaskWithScalars, int)
 vtkSetMacro (ExtractEigenvalues, int)
 vtkSetMacro (ScaleFactor, double)
 vtkTypeRevisionMacro (vtkDiffusionTensorMathematicsSimple, vtkSimpleImageToImageFilter)

Static Public Member Functions

static void ColorByMode (double w[3], double &R, double &G, double &B)
static double Determinant (double D[3][3])
static int FixNegativeEigenvaluesMethod (double w[3])
static double FractionalAnisotropy (double w[3])
static double LinearMeasure (double w[3])
static double MaxEigenvalue (double w[3])
static double MaxEigenvalueProjectionX (double **v, double w[3])
static double MaxEigenvalueProjectionY (double **v, double w[3])
static double MaxEigenvalueProjectionZ (double **v, double w[3])
static double MiddleEigenvalue (double w[3])
static double MinEigenvalue (double w[3])
static double Mode (double w[3])
static void ModeToRGB (double Mode, double FA, double &R, double &G, double &B)
 Public for access from threads.
static
vtkDiffusionTensorMathematicsSimple
New ()
static double ParallelDiffusivity (double w[3])
static double PerpendicularDiffusivity (double w[3])
static double PlanarMeasure (double w[3])
static double RAIMaxEigenvecX (double **v, double w[3])
static double RAIMaxEigenvecY (double **v, double w[3])
static double RAIMaxEigenvecZ (double **v, double w[3])
static double RelativeAnisotropy (double w[3])
static double SphericalMeasure (double w[3])
static int TeemEigenSolver (double **m, double *w, double **v)
static double Trace (double w[3])
static double Trace (double D[3][3])

Protected Member Functions

int FillInputPortInformation (int port, vtkInformation *info)
virtual int RequestInformation (vtkInformation *vtkNotUsed(request), vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void SimpleExecute (vtkImageData *input, vtkImageData *output)
 vtkDiffusionTensorMathematicsSimple ()
 ~vtkDiffusionTensorMathematicsSimple ()

Protected Attributes

int ExtractEigenvalues
 Scale factor for output scalars.
int FixNegativeEigenvalues
int MaskLabelValue
int MaskWithScalars
 Boolean controls eigenfunction extraction.
int Operation
vtkImageDataScalarMask
double ScaleFactor
 math operation to perform
vtkMatrix4x4 * TensorRotationMatrix

Private Member Functions

void operator= (const vtkDiffusionTensorMathematicsSimple &)
 Not implemented.
 vtkDiffusionTensorMathematicsSimple (const vtkDiffusionTensorMathematicsSimple &)

Member Enumeration Documentation

anonymous enum

Operation options.

Enumerator:
VTK_TENS_TRACE 
VTK_TENS_DETERMINANT 
VTK_TENS_RELATIVE_ANISOTROPY 
VTK_TENS_FRACTIONAL_ANISOTROPY 
VTK_TENS_MAX_EIGENVALUE 
VTK_TENS_MID_EIGENVALUE 
VTK_TENS_MIN_EIGENVALUE 
VTK_TENS_LINEAR_MEASURE 
VTK_TENS_PLANAR_MEASURE 
VTK_TENS_SPHERICAL_MEASURE 
VTK_TENS_COLOR_ORIENTATION 
VTK_TENS_D11 
VTK_TENS_D22 
VTK_TENS_D33 
VTK_TENS_MODE 
VTK_TENS_COLOR_MODE 
VTK_TENS_MAX_EIGENVALUE_PROJX 
VTK_TENS_MAX_EIGENVALUE_PROJY 
VTK_TENS_MAX_EIGENVALUE_PROJZ 
VTK_TENS_RAI_MAX_EIGENVEC_PROJX 
VTK_TENS_RAI_MAX_EIGENVEC_PROJY 
VTK_TENS_RAI_MAX_EIGENVEC_PROJZ 
VTK_TENS_PARALLEL_DIFFUSIVITY 
VTK_TENS_PERPENDICULAR_DIFFUSIVITY 

Constructor & Destructor Documentation

vtkDiffusionTensorMathematicsSimple::vtkDiffusionTensorMathematicsSimple (  )  [protected]
vtkDiffusionTensorMathematicsSimple::~vtkDiffusionTensorMathematicsSimple (  )  [protected]

References ScalarMask, and TensorRotationMatrix.

vtkDiffusionTensorMathematicsSimple::vtkDiffusionTensorMathematicsSimple ( const vtkDiffusionTensorMathematicsSimple  )  [private]

Member Function Documentation

void vtkDiffusionTensorMathematicsSimple::ColorByMode ( double  w[3],
double &  R,
double &  G,
double &  B 
) [static]
void vtkDiffusionTensorMathematicsSimple::ComputeTensorIncrements ( vtkImageData imageData,
vtkIdType  incr[3] 
)
double vtkDiffusionTensorMathematicsSimple::Determinant ( double  D[3][3]  )  [static]
int vtkDiffusionTensorMathematicsSimple::FillInputPortInformation ( int  port,
vtkInformation *  info 
) [protected]
int vtkDiffusionTensorMathematicsSimple::FixNegativeEigenvaluesMethod ( double  w[3]  )  [static]

Helper functions to perform operations pixel-wise

Referenced by vtkDiffusionTensorMathematicsSimpleExecute1Eigen().

double vtkDiffusionTensorMathematicsSimple::FractionalAnisotropy ( double  w[3]  )  [static]
const char * vtkDiffusionTensorMathematicsSimple::GetOperationAsAbbreviatedString (  ) 
const char * vtkDiffusionTensorMathematicsSimple::GetOperationAsString (  ) 
double vtkDiffusionTensorMathematicsSimple::LinearMeasure ( double  w[3]  )  [static]
double vtkDiffusionTensorMathematicsSimple::MaxEigenvalue ( double  w[3]  )  [static]
double vtkDiffusionTensorMathematicsSimple::MaxEigenvalueProjectionX ( double **  v,
double  w[3] 
) [static]
double vtkDiffusionTensorMathematicsSimple::MaxEigenvalueProjectionY ( double **  v,
double  w[3] 
) [static]
double vtkDiffusionTensorMathematicsSimple::MaxEigenvalueProjectionZ ( double **  v,
double  w[3] 
) [static]
double vtkDiffusionTensorMathematicsSimple::MiddleEigenvalue ( double  w[3]  )  [static]
double vtkDiffusionTensorMathematicsSimple::MinEigenvalue ( double  w[3]  )  [static]
double vtkDiffusionTensorMathematicsSimple::Mode ( double  w[3]  )  [static]
void vtkDiffusionTensorMathematicsSimple::ModeToRGB ( double  Mode,
double  FA,
double &  R,
double &  G,
double &  B 
) [static]

Public for access from threads.

Referenced by ColorByMode().

vtkDiffusionTensorMathematicsSimple * vtkDiffusionTensorMathematicsSimple::New (  )  [static]

References autoSlicerTracto2regions::ret.

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::operator= ( const vtkDiffusionTensorMathematicsSimple  )  [private]

Not implemented.

double vtkDiffusionTensorMathematicsSimple::ParallelDiffusivity ( double  w[3]  )  [static]
double vtkDiffusionTensorMathematicsSimple::PerpendicularDiffusivity ( double  w[3]  )  [static]
double vtkDiffusionTensorMathematicsSimple::PlanarMeasure ( double  w[3]  )  [static]
void vtkDiffusionTensorMathematicsSimple::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

References Operation.

double vtkDiffusionTensorMathematicsSimple::RAIMaxEigenvecX ( double **  v,
double  w[3] 
) [static]
double vtkDiffusionTensorMathematicsSimple::RAIMaxEigenvecY ( double **  v,
double  w[3] 
) [static]
double vtkDiffusionTensorMathematicsSimple::RAIMaxEigenvecZ ( double **  v,
double  w[3] 
) [static]
double vtkDiffusionTensorMathematicsSimple::RelativeAnisotropy ( double  w[3]  )  [static]
int vtkDiffusionTensorMathematicsSimple::RequestInformation ( vtkInformation *  vtkNotUsedrequest,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
) [protected, virtual]
void vtkDiffusionTensorMathematicsSimple::SetOperationToColorByMode (  )  [inline]

Output RGB color according to colormapping of mode, with final RGB being a linear combination of gray and this color. Amount of gray is determined by FA. Thanks to Gordon Lothar Kindlmann for this method.

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToColorByOrientation (  )  [inline]

Output RGB color according to XYZ of eigenvectors. Output A (alpha, or transparency) according to anisotropy (1-spherical measure).

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToD11 (  )  [inline]

Output a matrix (tensor) component

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToD22 (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToD33 (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToDeterminant (  )  [inline]

Output the determinant

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToFractionalAnisotropy (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToLinearMeasure (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToMaxEigenvalue (  )  [inline]

Output a selected eigenvalue

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToMaxEigenvalueProjectionX (  )  [inline]

Output Maxeigenvalue*Maxeigenvec_projection also known as L1Z

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToMaxEigenvalueProjectionY (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToMaxEigenvalueProjectionZ (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToMiddleEigenvalue (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToMinEigenvalue (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToMode (  )  [inline]

This is the skewness of the eigenvalues (thanks to Gordon Lothar (of the Hill People) Kindlmann)

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToParallelDiffusivity (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToPerpendicularDiffusivity (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToPlanarMeasure (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToRAIMaxEigenvecX (  )  [inline]

Output Relative_anisotropy*Maxeigenvec_projection also known as L1z

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToRAIMaxEigenvecY (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToRAIMaxEigenvecZ (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToRelativeAnisotropy (  )  [inline]

Output various anisotropy and shape measures

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToSphericalMeasure (  )  [inline]

Referenced by main().

void vtkDiffusionTensorMathematicsSimple::SetOperationToTrace (  )  [inline]

Output the trace (sum of eigenvalues = sum along diagonal)

Referenced by main().

virtual void vtkDiffusionTensorMathematicsSimple::SetScalarMask ( vtkImageData  )  [virtual]

Scalar mask

virtual void vtkDiffusionTensorMathematicsSimple::SetTensorRotationMatrix ( vtkMatrix4x4 *   )  [virtual]

Description This matrix is only used for ColorByOrientation. We transform the tensor orientation by this matrix before setting the output RGB values. This is useful to put the output colors into a standard coordinate system (i.e. RAS) regardless of the data scan order. Example usage is as follows: 1) If tensors are to be displayed in a coordinate system that is not IJK (array-based), and the whole volume is being rotated, each tensor needs also to be rotated. First find the matrix that positions your volume. (This is how the entire volume is positioned, not the matrix that positions an arbitrary reformatted slice.) 2) Remove scaling and translation from this matrix; we just need to rotate each tensor. 3) Set TensorRotationMatrix to this rotation matrix.

void vtkDiffusionTensorMathematicsSimple::SimpleExecute ( vtkImageData input,
vtkImageData output 
) [protected, virtual]
double vtkDiffusionTensorMathematicsSimple::SphericalMeasure ( double  w[3]  )  [static]
int vtkDiffusionTensorMathematicsSimple::TeemEigenSolver ( double **  m,
double *  w,
double **  v 
) [static]
double vtkDiffusionTensorMathematicsSimple::Trace ( double  w[3]  )  [static]
double vtkDiffusionTensorMathematicsSimple::Trace ( double  D[3][3]  )  [static]
vtkDiffusionTensorMathematicsSimple::vtkBooleanMacro ( FixNegativeEigenvalues  ,
int   
)
vtkDiffusionTensorMathematicsSimple::vtkBooleanMacro ( MaskWithScalars  ,
int   
)

Description Input scalars are a binary mask: 0 prevents display of tensor quantity at that point

vtkDiffusionTensorMathematicsSimple::vtkBooleanMacro ( ExtractEigenvalues  ,
int   
)
vtkDiffusionTensorMathematicsSimple::vtkGetMacro ( MaskLabelValue  ,
int   
)
vtkDiffusionTensorMathematicsSimple::vtkGetMacro ( FixNegativeEigenvalues  ,
int   
)
vtkDiffusionTensorMathematicsSimple::vtkGetMacro ( MaskWithScalars  ,
int   
)
vtkDiffusionTensorMathematicsSimple::vtkGetMacro ( ExtractEigenvalues  ,
int   
)
vtkDiffusionTensorMathematicsSimple::vtkGetMacro ( ScaleFactor  ,
double   
)
vtkDiffusionTensorMathematicsSimple::vtkGetMacro ( Operation  ,
int   
)

Get the Operation to perform.

vtkDiffusionTensorMathematicsSimple::vtkGetObjectMacro ( ScalarMask  ,
vtkImageData   
)
vtkDiffusionTensorMathematicsSimple::vtkGetObjectMacro ( TensorRotationMatrix  ,
vtkMatrix4x4   
)
vtkDiffusionTensorMathematicsSimple::vtkSetClampMacro ( Operation  ,
int  ,
VTK_TENS_TRACE  ,
VTK_TENS_PERPENDICULAR_DIFFUSIVITY   
)
vtkDiffusionTensorMathematicsSimple::vtkSetMacro ( MaskLabelValue  ,
int   
)

Label value defining ROI for mask

vtkDiffusionTensorMathematicsSimple::vtkSetMacro ( FixNegativeEigenvalues  ,
int   
)
vtkDiffusionTensorMathematicsSimple::vtkSetMacro ( MaskWithScalars  ,
int   
)
vtkDiffusionTensorMathematicsSimple::vtkSetMacro ( ExtractEigenvalues  ,
int   
)

Turn on/off extraction of eigenvalues from tensor.

vtkDiffusionTensorMathematicsSimple::vtkSetMacro ( ScaleFactor  ,
double   
)

Specify scale factor to scale output (float) scalars by. This is not used when the output is RGBA (char color data).

vtkDiffusionTensorMathematicsSimple::vtkTypeRevisionMacro ( vtkDiffusionTensorMathematicsSimple  ,
vtkSimpleImageToImageFilter   
)

Member Data Documentation

Scale factor for output scalars.

Referenced by vtkDiffusionTensorMathematicsSimple().

Boolean controls eigenfunction extraction.

Referenced by vtkDiffusionTensorMathematicsSimple().

math operation to perform

Referenced by vtkDiffusionTensorMathematicsSimple().


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

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1