Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::RawShModel< ScalarType > Class Template Reference

The spherical harmonic representation of a prototype diffusion weighted MR signal is used to obtain the direction dependent signal. More...

#include <mitkRawShModel.h>

Inheritance diagram for mitk::RawShModel< ScalarType >:
Collaboration diagram for mitk::RawShModel< ScalarType >:

Public Types

typedef itk::Image< double, 3 > ItkDoubleImageType
 
typedef itk::Image< unsigned char, 3 > ItkUcharImageType
 
typedef itk::Image< itk::DiffusionTensor3D< double >, 3 > TensorImageType
 
typedef itk::AnalyticalDiffusionQballReconstructionImageFilter< short, short, float, 2, QBALL_ODFSIZEQballFilterType
 
typedef DiffusionSignalModel< ScalarType >::PixelType PixelType
 
typedef DiffusionSignalModel< ScalarType >::GradientType GradientType
 
typedef DiffusionSignalModel< ScalarType >::GradientListType GradientListType
 
typedef itk::Matrix< double, 3, 3 > MatrixType
 
- Public Types inherited from mitk::DiffusionSignalModel< ScalarType >
typedef itk::Image< double, 3 > ItkDoubleImgType
 
typedef itk::VariableLengthVector< ScalarTypePixelType
 
typedef itk::Vector< double, 3 > GradientType
 
typedef std::vector< GradientTypeGradientListType
 
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator ItkRandGenType
 

Public Member Functions

 RawShModel ()
 
template<class OtherType >
 RawShModel (RawShModel< OtherType > *model)
 
 ~RawShModel ()
 
PixelType SimulateMeasurement ()
 
ScalarType SimulateMeasurement (unsigned int dir)
 
bool SetShCoefficients (vnl_vector< double > shCoefficients, double b0)
 
void SetFiberDirection (GradientType fiberDirection)
 
void SetGradientList (GradientListType gradientList)
 
void SetFaRange (double min, double max)
 
void SetAdcRange (double min, double max)
 
void SetMaxNumKernels (unsigned int max)
 
unsigned int GetNumberOfKernels ()
 
std::pair< double, double > GetFaRange ()
 
std::pair< double, double > GetAdcRange ()
 
unsigned int GetMaxNumKernels ()
 
void Clear ()
 
std::vector< vnl_vector< double > > GetShCoefficients ()
 
std::vector< double > GetB0Signals ()
 
vnl_matrix< double > GetSphericalCoordinates ()
 
unsigned int GetShOrder ()
 
int GetModelIndex ()
 
double GetBaselineSignal (int index)
 
vnl_vector< double > GetCoefficients (int listIndex)
 
bool SampleKernels (Image::Pointer diffImg, ItkUcharImageType::Pointer maskImage, TensorImageType::Pointer tensorImage=NULL, QballFilterType::CoefficientImageType::Pointer coeffImage=NULL, ItkDoubleImageType::Pointer adcImage=NULL)
 
- Public Member Functions inherited from mitk::DiffusionSignalModel< ScalarType >
 DiffusionSignalModel ()
 
 ~DiffusionSignalModel ()
 
GradientType GetFiberDirection ()
 
GradientListType GetGradientList ()
 
GradientType GetGradientDirection (int i)
 
void SetT2 (double T2)
 
double GetT2 ()
 
void SetT1 (double T1)
 
double GetT1 ()
 
void SetVolumeFractionImage (ItkDoubleImgType::Pointer img)
 
ItkDoubleImgType::Pointer GetVolumeFractionImage ()
 
void SetRandomGenerator (ItkRandGenType::Pointer randgen)
 
ItkRandGenType::Pointer GetRandomGenerator ()
 
void SetSeed (int s)
 

Protected Member Functions

void Cart2Sph (GradientListType gradients)
 
void RandomModel ()
 

Protected Attributes

std::vector< vnl_vector< double > > m_ShCoefficients
 
std::vector< double > m_B0Signal
 
std::vector< GradientTypem_PrototypeMaxDirection
 
vnl_matrix< double > m_SphCoords
 
std::pair< double, double > m_AdcRange
 
std::pair< double, double > m_FaRange
 
unsigned int m_ShOrder
 
int m_ModelIndex
 
unsigned int m_MaxNumKernels
 
- Protected Attributes inherited from mitk::DiffusionSignalModel< ScalarType >
GradientType m_FiberDirection
 Needed to generate anisotropc signal to determin direction of anisotropy. More...
 
GradientListType m_GradientList
 Diffusion gradient direction container. More...
 
double m_T2
 Tissue specific transversal relaxation time. More...
 
double m_T1
 Tissue specific longitudinal relaxation time. More...
 
ItkDoubleImgType::Pointer m_VolumeFractionImage
 Tissue specific volume fraction for each voxel (only relevant for non fiber compartments) More...
 
ItkRandGenType::Pointer m_RandGen
 Random number generator. More...
 

Additional Inherited Members

- Public Attributes inherited from mitk::DiffusionSignalModel< ScalarType >
unsigned int m_CompartmentId
 GUI flag. Which compartment is this model assigned to? More...
 

Detailed Description

template<class ScalarType = double>
class mitk::RawShModel< ScalarType >

The spherical harmonic representation of a prototype diffusion weighted MR signal is used to obtain the direction dependent signal.

Definition at line 32 of file mitkRawShModel.h.

Member Typedef Documentation

template<class ScalarType = double>
typedef DiffusionSignalModel< ScalarType >::GradientListType mitk::RawShModel< ScalarType >::GradientListType

Definition at line 63 of file mitkRawShModel.h.

template<class ScalarType = double>
typedef DiffusionSignalModel< ScalarType >::GradientType mitk::RawShModel< ScalarType >::GradientType

Definition at line 62 of file mitkRawShModel.h.

template<class ScalarType = double>
typedef itk::Image< double, 3 > mitk::RawShModel< ScalarType >::ItkDoubleImageType

Definition at line 57 of file mitkRawShModel.h.

template<class ScalarType = double>
typedef itk::Image< unsigned char, 3 > mitk::RawShModel< ScalarType >::ItkUcharImageType

Definition at line 58 of file mitkRawShModel.h.

template<class ScalarType = double>
typedef itk::Matrix< double, 3, 3 > mitk::RawShModel< ScalarType >::MatrixType

Definition at line 64 of file mitkRawShModel.h.

template<class ScalarType = double>
typedef DiffusionSignalModel< ScalarType >::PixelType mitk::RawShModel< ScalarType >::PixelType

Definition at line 61 of file mitkRawShModel.h.

template<class ScalarType = double>
typedef itk::AnalyticalDiffusionQballReconstructionImageFilter<short,short,float,2,QBALL_ODFSIZE> mitk::RawShModel< ScalarType >::QballFilterType

Definition at line 60 of file mitkRawShModel.h.

template<class ScalarType = double>
typedef itk::Image< itk::DiffusionTensor3D< double >, 3 > mitk::RawShModel< ScalarType >::TensorImageType

Definition at line 59 of file mitkRawShModel.h.

Constructor & Destructor Documentation

template<class ScalarType = double>
template<class OtherType >
mitk::RawShModel< ScalarType >::RawShModel ( RawShModel< OtherType > *  model)
inline
template<class ScalarType >
RawShModel::~RawShModel ( )

Definition at line 47 of file mitkRawShModel.cpp.

Member Function Documentation

template<class ScalarType >
void RawShModel::Cart2Sph ( GradientListType  gradients)
protected

Definition at line 201 of file mitkRawShModel.cpp.

template<class ScalarType >
void RawShModel::Clear ( )

Definition at line 53 of file mitkRawShModel.cpp.

template<class ScalarType = double>
std::vector< double > mitk::RawShModel< ScalarType >::GetB0Signals ( )
inline
template<class ScalarType = double>
double mitk::RawShModel< ScalarType >::GetBaselineSignal ( int  index)
inline
template<class ScalarType = double>
vnl_vector< double > mitk::RawShModel< ScalarType >::GetCoefficients ( int  listIndex)
inline
template<class ScalarType = double>
int mitk::RawShModel< ScalarType >::GetModelIndex ( )
inline
template<class ScalarType >
unsigned int RawShModel::GetNumberOfKernels ( )
template<class ScalarType = double>
std::vector< vnl_vector< double > > mitk::RawShModel< ScalarType >::GetShCoefficients ( )
inline
template<class ScalarType = double>
unsigned int mitk::RawShModel< ScalarType >::GetShOrder ( )
inline
template<class ScalarType = double>
vnl_matrix<double> mitk::RawShModel< ScalarType >::GetSphericalCoordinates ( )
inline
template<class ScalarType >
void RawShModel::RandomModel ( )
protected

Definition at line 61 of file mitkRawShModel.cpp.

template<class ScalarType >
bool RawShModel::SampleKernels ( Image::Pointer  diffImg,
ItkUcharImageType::Pointer  maskImage,
TensorImageType::Pointer  tensorImage = NULL,
QballFilterType::CoefficientImageType::Pointer  coeffImage = NULL,
ItkDoubleImageType::Pointer  adcImage = NULL 
)
template<class ScalarType = double>
void mitk::RawShModel< ScalarType >::SetAdcRange ( double  min,
double  max 
)
inline
template<class ScalarType = double>
void mitk::RawShModel< ScalarType >::SetFaRange ( double  min,
double  max 
)
inline
template<class ScalarType >
void RawShModel::SetFiberDirection ( GradientType  fiberDirection)
virtual

Implements mitk::DiffusionSignalModel< ScalarType >.

Definition at line 219 of file mitkRawShModel.cpp.

References rotation.

template<class ScalarType = double>
void mitk::RawShModel< ScalarType >::SetGradientList ( GradientListType  gradientList)
inlinevirtual
template<class ScalarType = double>
void mitk::RawShModel< ScalarType >::SetMaxNumKernels ( unsigned int  max)
inline
template<class ScalarType >
bool RawShModel::SetShCoefficients ( vnl_vector< double >  shCoefficients,
double  b0 
)
template<class ScalarType >
RawShModel< ScalarType >::PixelType RawShModel::SimulateMeasurement ( )
virtual

Actual signal generation

Implements mitk::DiffusionSignalModel< ScalarType >.

Definition at line 341 of file mitkRawShModel.cpp.

References M_PI.

template<class ScalarType >
ScalarType RawShModel::SimulateMeasurement ( unsigned int  dir)
virtual

Implements mitk::DiffusionSignalModel< ScalarType >.

Definition at line 299 of file mitkRawShModel.cpp.

References M_PI.

Member Data Documentation

template<class ScalarType = double>
std::pair< double, double > mitk::RawShModel< ScalarType >::m_AdcRange
protected
template<class ScalarType = double>
std::vector< double > mitk::RawShModel< ScalarType >::m_B0Signal
protected
template<class ScalarType = double>
std::pair< double, double > mitk::RawShModel< ScalarType >::m_FaRange
protected
template<class ScalarType = double>
unsigned int mitk::RawShModel< ScalarType >::m_MaxNumKernels
protected
template<class ScalarType = double>
int mitk::RawShModel< ScalarType >::m_ModelIndex
protected
template<class ScalarType = double>
std::vector< GradientType > mitk::RawShModel< ScalarType >::m_PrototypeMaxDirection
protected

Definition at line 100 of file mitkRawShModel.h.

template<class ScalarType = double>
std::vector< vnl_vector< double > > mitk::RawShModel< ScalarType >::m_ShCoefficients
protected
template<class ScalarType = double>
unsigned int mitk::RawShModel< ScalarType >::m_ShOrder
protected
template<class ScalarType = double>
vnl_matrix<double> mitk::RawShModel< ScalarType >::m_SphCoords
protected

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