Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
itk::OdfMaximaExtractionFilter< TOdfPixelType > Class Template Reference

#include <itkOdfMaximaExtractionFilter.h>

Inheritance diagram for itk::OdfMaximaExtractionFilter< TOdfPixelType >:
Collaboration diagram for itk::OdfMaximaExtractionFilter< TOdfPixelType >:

Public Types

enum  NormalizationMethods { NO_NORM, SINGLE_VEC_NORM, MAX_VEC_NORM }
 
typedef OdfMaximaExtractionFilter Self
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef ProcessObject Superclass
 
typedef itk::AnalyticalDiffusionQballReconstructionImageFilter< short, short, float, 4, QBALL_ODFSIZEQballReconstructionFilterType
 
typedef QballReconstructionFilterType::CoefficientImageType CoefficientImageType
 
typedef CoefficientImageType::PixelType CoefficientPixelType
 
typedef itk::VectorImage< short, 3 > DiffusionImageType
 
typedef vnl_vector_fixed< double, 3 > Vector3D
 
typedef VectorContainer< unsigned int, Vector3DDirectionContainerType
 
typedef VectorContainer< unsigned int, DirectionContainerType::Pointer > ContainerType
 
typedef itk::Image< unsigned char, 3 > ItkUcharImgType
 
typedef itk::Image< itk::Vector< float, 3 >, 3 > ItkDirectionImage
 
typedef itk::VectorContainer< unsigned int, ItkDirectionImage::Pointer > ItkDirectionImageContainer
 

Public Member Functions

Pointer Clone () const
 
virtual const char * GetClassName () const
 
virtual mitk::FiberBundle::Pointer GetOutputFiberBundle ()
 vector field (peak sizes rescaled for visualization purposes) More...
 
virtual ItkUcharImgType::Pointer GetNumDirectionsImage ()
 number of peaks per voxel More...
 
virtual ItkDirectionImageContainer::Pointer GetDirectionImageContainer ()
 container for output peaks More...
 
virtual void SetMaskImage (ItkUcharImgType::Pointer _arg)
 only voxels inside the binary mask are processed More...
 
virtual void SetNormalizationMethod (NormalizationMethods _arg)
 normalization method of ODF peaks More...
 
virtual void SetDiffusionGradients (DirectionContainerType::Pointer _arg)
 input for qball reconstruction More...
 
virtual void SetDiffusionImage (DiffusionImageType::Pointer _arg)
 input for qball reconstruction More...
 
virtual void SetBvalue (float _arg)
 input for qball reconstruction More...
 
virtual void SetShCoeffImage (CoefficientImageType::Pointer _arg)
 conatins spherical harmonic coefficients More...
 
virtual void SetMaxNumPeaks (unsigned int _arg)
 if more peaks are found, only the largest are kept More...
 
virtual void SetPeakThreshold (double _arg)
 threshold on peak length relative to the largest peak in the current voxel More...
 
void GenerateData () override
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 OdfMaximaExtractionFilter ()
 
 ~OdfMaximaExtractionFilter ()
 
bool ReconstructQballImage ()
 
std::vector< double > SolveCubic (const double &a, const double &b, const double &c, const double &d)
 
double ODF_dtheta2 (const double &sn, const double &cs, const double &A, const double &B, const double &C, const double &D, const double &E, const double &F, const double &G, const double &H)
 
double ODF_dphi2 (const double &sn, const double &cs, const double &A, const double &B, const double &C, const double &D, const double &E, const double &F, const double &G, const double &H)
 
double ODF_dtheta (const double &sn, const double &cs, const double &A, const double &B, const double &C, const double &D, const double &E, const double &F, const double &G, const double &H)
 
void FindCandidatePeaks (const CoefficientPixelType &SHcoeff)
 
std::vector< Vector3DClusterPeaks (const CoefficientPixelType &shCoeff)
 
void Cart2Sph (const std::vector< Vector3D > &dir, vnl_matrix< double > &sphCoords)
 
vnl_matrix< double > CalcShBasis (vnl_matrix< double > &sphCoords, const int &shOrder)
 

Protected Attributes

DirectionContainerType::Pointer m_DiffusionGradients
 input for qball reconstruction More...
 
DiffusionImageType::Pointer m_DiffusionImage
 input for qball reconstruction More...
 
float m_Bvalue
 input for qball reconstruction More...
 
ItkUcharImgType::Pointer m_MaskImage
 only voxels inside the binary mask are processed More...
 
NormalizationMethods m_NormalizationMethod
 normalization for peaks More...
 
double m_PeakThreshold
 threshold on peak length relative to the largest peak in the current voxel More...
 
unsigned int m_MaxNumPeaks
 if more peaks are found, only the largest are kept More...
 
CoefficientImageType::Pointer m_ShCoeffImage
 conatins spherical harmonic coefficients More...
 
std::vector< vnl_vector_fixed< double, 2 > > m_CandidatePeaks
 container for candidate peaks (all extrema, also minima) More...
 
mitk::FiberBundle::Pointer m_OutputFiberBundle
 vector field (peak sizes rescaled for visualization purposes) More...
 
ItkUcharImgType::Pointer m_NumDirectionsImage
 number of peaks per voxel More...
 
ItkDirectionImageContainer::Pointer m_DirectionImageContainer
 output peaks More...
 

Detailed Description

template<class TOdfPixelType>
class itk::OdfMaximaExtractionFilter< TOdfPixelType >

Class that estimates the maxima of the 4th order SH representation of an ODF using analytic calculations (according to Aganj et al, MICCAI, 2010)

Definition at line 33 of file itkOdfMaximaExtractionFilter.h.

Member Typedef Documentation

Definition at line 57 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef CoefficientImageType::PixelType itk::OdfMaximaExtractionFilter< TOdfPixelType >::CoefficientPixelType

Definition at line 58 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef SmartPointer<const Self> itk::OdfMaximaExtractionFilter< TOdfPixelType >::ConstPointer

Definition at line 46 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef VectorContainer< unsigned int, DirectionContainerType::Pointer > itk::OdfMaximaExtractionFilter< TOdfPixelType >::ContainerType

Definition at line 62 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef itk::VectorImage< short, 3 > itk::OdfMaximaExtractionFilter< TOdfPixelType >::DiffusionImageType

Definition at line 59 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef VectorContainer< unsigned int, Vector3D > itk::OdfMaximaExtractionFilter< TOdfPixelType >::DirectionContainerType

Definition at line 61 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef itk::Image< itk::Vector< float, 3 >, 3> itk::OdfMaximaExtractionFilter< TOdfPixelType >::ItkDirectionImage

Definition at line 64 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef itk::VectorContainer< unsigned int, ItkDirectionImage::Pointer > itk::OdfMaximaExtractionFilter< TOdfPixelType >::ItkDirectionImageContainer

Definition at line 65 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef itk::Image<unsigned char, 3> itk::OdfMaximaExtractionFilter< TOdfPixelType >::ItkUcharImgType

Definition at line 63 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef SmartPointer<Self> itk::OdfMaximaExtractionFilter< TOdfPixelType >::Pointer

Definition at line 45 of file itkOdfMaximaExtractionFilter.h.

Definition at line 56 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef OdfMaximaExtractionFilter itk::OdfMaximaExtractionFilter< TOdfPixelType >::Self

Definition at line 44 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef ProcessObject itk::OdfMaximaExtractionFilter< TOdfPixelType >::Superclass

Definition at line 47 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
typedef vnl_vector_fixed< double, 3 > itk::OdfMaximaExtractionFilter< TOdfPixelType >::Vector3D

Definition at line 60 of file itkOdfMaximaExtractionFilter.h.

Member Enumeration Documentation

template<class TOdfPixelType >
enum itk::OdfMaximaExtractionFilter::NormalizationMethods
Enumerator
NO_NORM 

don't normalize peaks

SINGLE_VEC_NORM 

normalize peaks to length 1

MAX_VEC_NORM 

largest peak is normalized to length 1, other peaks relative to it

Definition at line 38 of file itkOdfMaximaExtractionFilter.h.

Constructor & Destructor Documentation

template<class TOdfPixelType >
itk::OdfMaximaExtractionFilter< TOdfPixelType >::OdfMaximaExtractionFilter ( )
protected

Definition at line 41 of file itkOdfMaximaExtractionFilter.cpp.

template<class TOdfPixelType >
itk::OdfMaximaExtractionFilter< TOdfPixelType >::~OdfMaximaExtractionFilter ( )
inlineprotected

Definition at line 86 of file itkOdfMaximaExtractionFilter.h.

Member Function Documentation

template<class TOdfPixelType >
vnl_matrix< double > itk::OdfMaximaExtractionFilter< TOdfPixelType >::CalcShBasis ( vnl_matrix< double > &  sphCoords,
const int &  shOrder 
)
protected

Definition at line 431 of file itkOdfMaximaExtractionFilter.cpp.

References M_PI.

template<class TOdfPixelType >
void itk::OdfMaximaExtractionFilter< TOdfPixelType >::Cart2Sph ( const std::vector< Vector3D > &  dir,
vnl_matrix< double > &  sphCoords 
)
protected

Definition at line 407 of file itkOdfMaximaExtractionFilter.cpp.

References mitk::eps, and M_PI.

template<class TOdfPixelType >
Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::Clone ( ) const
template<class TOdfPixelType >
std::vector< vnl_vector_fixed< double, 3 > > itk::OdfMaximaExtractionFilter< TOdfPixelType >::ClusterPeaks ( const CoefficientPixelType shCoeff)
protected

cluster the peaks detected by FindCandidatePeaks and retain maximum m_MaxNumPeaks

Definition at line 290 of file itkOdfMaximaExtractionFilter.cpp.

References max(), and min().

template<class TOdfPixelType >
void itk::OdfMaximaExtractionFilter< TOdfPixelType >::FindCandidatePeaks ( const CoefficientPixelType SHcoeff)
protected

calculate all directions fullfilling the maximum consitions

Definition at line 174 of file itkOdfMaximaExtractionFilter.cpp.

References M_PI.

template<class TOdfPixelType >
void itk::OdfMaximaExtractionFilter< TOdfPixelType >::GenerateData ( )
override

Definition at line 462 of file itkOdfMaximaExtractionFilter.cpp.

References max(), and mitk::New().

template<class TOdfPixelType >
virtual const char* itk::OdfMaximaExtractionFilter< TOdfPixelType >::GetClassName ( ) const
virtual

Runtime information support.

template<class TOdfPixelType >
virtual ItkDirectionImageContainer::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::GetDirectionImageContainer ( )
virtual

container for output peaks

template<class TOdfPixelType >
virtual ItkUcharImgType::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::GetNumDirectionsImage ( )
virtual

number of peaks per voxel

template<class TOdfPixelType >
virtual mitk::FiberBundle::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::GetOutputFiberBundle ( )
virtual

vector field (peak sizes rescaled for visualization purposes)

template<class TOdfPixelType >
static Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::New ( )
static

Method for creation through the object factory.

template<class TOdfPixelType >
double itk::OdfMaximaExtractionFilter< TOdfPixelType >::ODF_dphi2 ( const double &  sn,
const double &  cs,
const double &  A,
const double &  B,
const double &  C,
const double &  D,
const double &  E,
const double &  F,
const double &  G,
const double &  H 
)
protected

derivatives of SH representation of the ODF

Definition at line 166 of file itkOdfMaximaExtractionFilter.cpp.

template<class TOdfPixelType >
double itk::OdfMaximaExtractionFilter< TOdfPixelType >::ODF_dtheta ( const double &  sn,
const double &  cs,
const double &  A,
const double &  B,
const double &  C,
const double &  D,
const double &  E,
const double &  F,
const double &  G,
const double &  H 
)
protected

derivatives of SH representation of the ODF

Definition at line 150 of file itkOdfMaximaExtractionFilter.cpp.

template<class TOdfPixelType >
double itk::OdfMaximaExtractionFilter< TOdfPixelType >::ODF_dtheta2 ( const double &  sn,
const double &  cs,
const double &  A,
const double &  B,
const double &  C,
const double &  D,
const double &  E,
const double &  F,
const double &  G,
const double &  H 
)
protected

derivatives of SH representation of the ODF

Definition at line 158 of file itkOdfMaximaExtractionFilter.cpp.

template<class TOdfPixelType >
bool itk::OdfMaximaExtractionFilter< TOdfPixelType >::ReconstructQballImage ( )
protected

CSA Qball reconstruction (SH order 4)

Definition at line 55 of file itkOdfMaximaExtractionFilter.cpp.

References mitk::New().

template<class TOdfPixelType >
virtual void itk::OdfMaximaExtractionFilter< TOdfPixelType >::SetBvalue ( float  _arg)
virtual

input for qball reconstruction

template<class TOdfPixelType >
virtual void itk::OdfMaximaExtractionFilter< TOdfPixelType >::SetDiffusionGradients ( DirectionContainerType::Pointer  _arg)
virtual

input for qball reconstruction

template<class TOdfPixelType >
virtual void itk::OdfMaximaExtractionFilter< TOdfPixelType >::SetDiffusionImage ( DiffusionImageType::Pointer  _arg)
virtual

input for qball reconstruction

template<class TOdfPixelType >
virtual void itk::OdfMaximaExtractionFilter< TOdfPixelType >::SetMaskImage ( ItkUcharImgType::Pointer  _arg)
virtual

only voxels inside the binary mask are processed

template<class TOdfPixelType >
virtual void itk::OdfMaximaExtractionFilter< TOdfPixelType >::SetMaxNumPeaks ( unsigned int  _arg)
virtual

if more peaks are found, only the largest are kept

template<class TOdfPixelType >
virtual void itk::OdfMaximaExtractionFilter< TOdfPixelType >::SetNormalizationMethod ( NormalizationMethods  _arg)
virtual

normalization method of ODF peaks

template<class TOdfPixelType >
virtual void itk::OdfMaximaExtractionFilter< TOdfPixelType >::SetPeakThreshold ( double  _arg)
virtual

threshold on peak length relative to the largest peak in the current voxel

template<class TOdfPixelType >
virtual void itk::OdfMaximaExtractionFilter< TOdfPixelType >::SetShCoeffImage ( CoefficientImageType::Pointer  _arg)
virtual

conatins spherical harmonic coefficients

template<class TOdfPixelType >
std::vector< double > itk::OdfMaximaExtractionFilter< TOdfPixelType >::SolveCubic ( const double &  a,
const double &  b,
const double &  c,
const double &  d 
)
protected

calculate roots of cubic equation ax³ + bx² + cx + d = 0 using cardanos method

Definition at line 85 of file itkOdfMaximaExtractionFilter.cpp.

References offset, and tmp2.

Member Data Documentation

template<class TOdfPixelType >
float itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_Bvalue
protected

input for qball reconstruction

Definition at line 115 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
std::vector< vnl_vector_fixed< double, 2 > > itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_CandidatePeaks
protected

container for candidate peaks (all extrema, also minima)

Definition at line 127 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
DirectionContainerType::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_DiffusionGradients
protected

input for qball reconstruction

Definition at line 113 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
DiffusionImageType::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_DiffusionImage
protected

input for qball reconstruction

Definition at line 114 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
ItkDirectionImageContainer::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_DirectionImageContainer
protected

output peaks

Definition at line 132 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
ItkUcharImgType::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_MaskImage
protected

only voxels inside the binary mask are processed

Definition at line 118 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
unsigned int itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_MaxNumPeaks
protected

if more peaks are found, only the largest are kept

Definition at line 123 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
NormalizationMethods itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_NormalizationMethod
protected

normalization for peaks

Definition at line 121 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
ItkUcharImgType::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_NumDirectionsImage
protected

number of peaks per voxel

Definition at line 131 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
mitk::FiberBundle::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_OutputFiberBundle
protected

vector field (peak sizes rescaled for visualization purposes)

Definition at line 130 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
double itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_PeakThreshold
protected

threshold on peak length relative to the largest peak in the current voxel

Definition at line 122 of file itkOdfMaximaExtractionFilter.h.

template<class TOdfPixelType >
CoefficientImageType::Pointer itk::OdfMaximaExtractionFilter< TOdfPixelType >::m_ShCoeffImage
protected

conatins spherical harmonic coefficients

Definition at line 126 of file itkOdfMaximaExtractionFilter.h.


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