17 #ifndef _MITK_DiffusionSignalModel_H
18 #define _MITK_DiffusionSignalModel_H
20 #include <MitkFiberTrackingExports.h>
21 #include <itkVariableLengthVector.h>
22 #include <itkVector.h>
24 #include <itkMersenneTwisterRandomVariateGenerator.h>
25 #include <vnl/vnl_vector_fixed.h>
34 template<
class ScalarType =
double >
49 typedef itk::Statistics::MersenneTwisterRandomVariateGenerator
ItkRandGenType;
double m_T1
Tissue specific longitudinal relaxation time.
itk::Image< double, 3 > ItkDoubleImgType
GradientType m_FiberDirection
Needed to generate anisotropc signal to determin direction of anisotropy.
itk::SmartPointer< Self > Pointer
unsigned int m_CompartmentId
GUI flag. Which compartment is this model assigned to?
virtual PixelType SimulateMeasurement()=0
DataCollection - Class to facilitate loading/accessing structured data.
ItkRandGenType::Pointer m_RandGen
Random number generator.
GradientListType m_GradientList
Diffusion gradient direction container.
ItkDoubleImgType::Pointer m_VolumeFractionImage
Tissue specific volume fraction for each voxel (only relevant for non fiber compartments) ...
itk::VariableLengthVector< ScalarType > PixelType
std::vector< GradientType > GradientListType
Abstract class for diffusion signal models.
GradientType GetGradientDirection(int i)
itk::Vector< double, 3 > GradientType
itk::Statistics::MersenneTwisterRandomVariateGenerator ItkRandGenType
virtual void SetGradientList(GradientListType gradientList)=0
void SetRandomGenerator(ItkRandGenType::Pointer randgen)
virtual void SetFiberDirection(GradientType fiberDirection)=0
GradientType GetFiberDirection()
ItkDoubleImgType::Pointer GetVolumeFractionImage()
GradientListType GetGradientList()
void SetVolumeFractionImage(ItkDoubleImgType::Pointer img)
double m_T2
Tissue specific transversal relaxation time.
ItkRandGenType::Pointer GetRandomGenerator()
static itkEventMacro(BoundingShapeInteractionEvent, itk::AnyEvent) class MITKBOUNDINGSHAPE_EXPORT BoundingShapeInteractor Pointer New()
Basic interaction methods for mitk::GeometryData.