ANIMA  4.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
anima::NODDICompartment Class Reference

#include <animaNODDICompartment.h>

+ Inheritance diagram for anima::NODDICompartment:
+ Collaboration diagram for anima::NODDICompartment:

Public Types

typedef Superclass::Pointer BasePointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::Matrix3DType Matrix3DType
 
typedef Superclass::ModelOutputVectorType ModelOutputVectorType
 
typedef itk::SmartPointer< SelfPointer
 
typedef NODDICompartment Self
 
typedef BaseCompartment Superclass
 
typedef Superclass::Vector3DType Vector3DType
 
- Public Types inherited from anima::BaseCompartment
typedef itk::SmartPointer< const SelfConstPointer
 
typedef std::vector< double > ListType
 
typedef itk::Matrix< double, 3, 3 > Matrix3DType
 
typedef itk::VariableLengthVector< double > ModelOutputVectorType
 
typedef itk::SmartPointer< SelfPointer
 
typedef BaseCompartment Self
 
typedef itk::LightObject Superclass
 
typedef vnl_vector_fixed< double, 3 > Vector3DType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
double GetApparentFractionalAnisotropy () ITK_OVERRIDE
 
unsigned int GetCompartmentSize () ITK_OVERRIDE
 Number of parameters to describe the model, these parameters will be self-contained, i.e. include fixed parameters for example. More...
 
DiffusionModelCompartmentType GetCompartmentType () ITK_OVERRIDE
 Utility function to return compartment type without needing dynamic casts. More...
 
ModelOutputVectorTypeGetCompartmentVector () ITK_OVERRIDE
 Get compartment overall description vector, mainly for writing, should be self-contained. More...
 
const Matrix3DTypeGetDiffusionTensor () ITK_OVERRIDE
 Get compartment as a 3D tensor (default behavior: throw exception if not supported by the compartment model) More...
 
virtual double GetFourierTransformedDiffusionProfile (double smallDelta, double bigDelta, double gradientStrength, const Vector3DType &gradient) ITK_OVERRIDE
 
virtual double GetLogDiffusionProfile (const Vector3DType &sample) ITK_OVERRIDE
 
virtual const char * GetNameOfClass () const
 
unsigned int GetNumberOfParameters () ITK_OVERRIDE
 Number of optimized parameters: smaller than total number of parameters. More...
 
virtual ListTypeGetParameterLowerBounds () ITK_OVERRIDE
 
virtual ListTypeGetParametersAsVector () ITK_OVERRIDE
 
virtual ListTypeGetParameterUpperBounds () ITK_OVERRIDE
 
virtual ListTypeGetSignalAttenuationJacobian (double smallDelta, double bigDelta, double gradientStrength, const Vector3DType &gradient) ITK_OVERRIDE
 
bool GetTensorCompatible () ITK_OVERRIDE
 
void SetAxialDiffusivity (double num) ITK_OVERRIDE
 
void SetCompartmentVector (ModelOutputVectorType &compartmentVector) ITK_OVERRIDE
 Set compartment overall description vector, for setting automatically the individual parameters when reading from disk. More...
 
void SetEstimateAxialDiffusivity (bool arg)
 
void SetEstimateExtraAxonalFraction (bool arg)
 
void SetEstimateOrientationConcentration (bool arg)
 
void SetExtraAxonalFraction (double num) ITK_OVERRIDE
 
void SetOrientationConcentration (double num) ITK_OVERRIDE
 
void SetOrientationPhi (double num) ITK_OVERRIDE
 
void SetOrientationTheta (double num) ITK_OVERRIDE
 
virtual void SetParametersFromVector (const ListType &params) ITK_OVERRIDE
 Various methods for optimization parameters setting and getting. More...
 
- Public Member Functions inherited from anima::BaseCompartment
virtual void CopyFromOther (Self *rhs)
 Copy internal parameters from another compartment, faster than a set/get compartment vector. More...
 
virtual double GetApparentMeanDiffusivity ()
 
virtual double GetApparentParallelDiffusivity ()
 Get approximation to parallel diffusivity of the compartment (may be different from axial diffusivity which is an internal parameter of the model) More...
 
virtual double GetApparentPerpendicularDiffusivity ()
 Get approximation to perpendicular diffusivity of the compartment (may be different from radial diffusivities which are internal parameters of the model) More...
 
virtual double GetAxialDiffusivity ()
 
virtual double GetExtraAxonalFraction ()
 
virtual double GetOrientationConcentration ()
 
virtual double GetOrientationPhi ()
 
virtual double GetOrientationTheta ()
 
virtual double GetPerpendicularAngle ()
 
double GetPredictedSignal (double smallDelta, double bigDelta, double gradientStrength, const Vector3DType &gradient)
 
virtual double GetRadialDiffusivity1 ()
 
virtual double GetRadialDiffusivity2 ()
 
virtual double GetTissueRadius ()
 
virtual bool IsEqual (Self *rhs, double tolerance=1.0e-2, double absoluteTolerance=1.0e-8)
 Tests equality to another compartment up to a constant (relative and absolute tolerances) More...
 
virtual void Reorient (vnl_matrix< double > &orientationMatrix, bool affineTransform)
 Reorient the fascicle compartment using a matrix, the flag specifies if the transform is affine or rigid. More...
 
virtual void SetPerpendicularAngle (double num)
 
virtual void SetRadialDiffusivity1 (double num)
 
virtual void SetRadialDiffusivity2 (double num)
 
virtual void SetTissueRadius (double num)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 NODDICompartment ()
 
void UpdateKappaValues ()
 Update quantities that depend on kappa. More...
 
void UpdateSignals (double bValue, const Vector3DType &gradient)
 Compute intra- and extra-axonal signals and useful signals for derivatives. More...
 
virtual ~NODDICompartment ()
 
- Protected Member Functions inherited from anima::BaseCompartment
 BaseCompartment ()
 
virtual ~BaseCompartment ()
 

Additional Inherited Members

- Protected Attributes inherited from anima::BaseCompartment
ModelOutputVectorType m_CompartmentVector
 Vector to hold working value of compartment vector. More...
 
Matrix3DType m_DiffusionTensor
 Matrix to hold working value of diffusion tensor approximation to the model. More...
 
ListType m_JacobianVector
 Vector holding current jacobian value. More...
 
ListType m_ParametersLowerBoundsVector
 Vector holding current parameters lower bounds. More...
 
ListType m_ParametersUpperBoundsVector
 Vector holding current parameters upper bounds. More...
 
ListType m_ParametersVector
 Vector holding current parameters vector. More...
 
- Static Protected Attributes inherited from anima::BaseCompartment
static const unsigned int m_SpaceDimension = 3
 

Detailed Description

Definition at line 9 of file animaNODDICompartment.h.

Member Typedef Documentation

◆ BasePointer

Definition at line 15 of file animaNODDICompartment.h.

◆ ConstPointer

typedef itk::SmartPointer<const Self> anima::NODDICompartment::ConstPointer

Definition at line 17 of file animaNODDICompartment.h.

◆ Matrix3DType

Definition at line 20 of file animaNODDICompartment.h.

◆ ModelOutputVectorType

Definition at line 18 of file animaNODDICompartment.h.

◆ Pointer

typedef itk::SmartPointer<Self> anima::NODDICompartment::Pointer

Definition at line 16 of file animaNODDICompartment.h.

◆ Self

Definition at line 13 of file animaNODDICompartment.h.

◆ Superclass

Definition at line 14 of file animaNODDICompartment.h.

◆ Vector3DType

Definition at line 19 of file animaNODDICompartment.h.

Constructor & Destructor Documentation

◆ NODDICompartment()

anima::NODDICompartment::NODDICompartment ( )
inlineprotected

Definition at line 63 of file animaNODDICompartment.h.

◆ ~NODDICompartment()

virtual anima::NODDICompartment::~NODDICompartment ( )
inlineprotectedvirtual

Definition at line 89 of file animaNODDICompartment.h.

Member Function Documentation

◆ CreateAnother()

virtual::itk::LightObject::Pointer anima::NODDICompartment::CreateAnother ( void  ) const

◆ GetApparentFractionalAnisotropy()

double anima::NODDICompartment::GetApparentFractionalAnisotropy ( )
virtual

◆ GetCompartmentSize()

unsigned int anima::NODDICompartment::GetCompartmentSize ( )
virtual

Number of parameters to describe the model, these parameters will be self-contained, i.e. include fixed parameters for example.

Implements anima::BaseCompartment.

Definition at line 406 of file animaNODDICompartment.cxx.

Referenced by GetCompartmentVector(), and SetCompartmentVector().

◆ GetCompartmentType()

DiffusionModelCompartmentType anima::NODDICompartment::GetCompartmentType ( )
inlinevirtual

Utility function to return compartment type without needing dynamic casts.

Implements anima::BaseCompartment.

Definition at line 28 of file animaNODDICompartment.h.

References anima::NODDI.

◆ GetCompartmentVector()

NODDICompartment::ModelOutputVectorType & anima::NODDICompartment::GetCompartmentVector ( )
virtual

◆ GetDiffusionTensor()

const NODDICompartment::Matrix3DType & anima::NODDICompartment::GetDiffusionTensor ( )
virtual

◆ GetFourierTransformedDiffusionProfile()

double anima::NODDICompartment::GetFourierTransformedDiffusionProfile ( double  smallDelta,
double  bigDelta,
double  gradientStrength,
const Vector3DType gradient 
)
virtual

◆ GetLogDiffusionProfile()

double anima::NODDICompartment::GetLogDiffusionProfile ( const Vector3DType sample)
virtual

◆ GetNameOfClass()

virtual const char* anima::NODDICompartment::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods)

Reimplemented from anima::BaseCompartment.

◆ GetNumberOfParameters()

unsigned int anima::NODDICompartment::GetNumberOfParameters ( )
virtual

Number of optimized parameters: smaller than total number of parameters.

Implements anima::BaseCompartment.

Definition at line 411 of file animaNODDICompartment.cxx.

Referenced by GetParameterLowerBounds(), GetParametersAsVector(), GetParameterUpperBounds(), GetSignalAttenuationJacobian(), and SetParametersFromVector().

◆ GetParameterLowerBounds()

NODDICompartment::ListType & anima::NODDICompartment::GetParameterLowerBounds ( )
virtual

◆ GetParametersAsVector()

NODDICompartment::ListType & anima::NODDICompartment::GetParametersAsVector ( )
virtual

◆ GetParameterUpperBounds()

NODDICompartment::ListType & anima::NODDICompartment::GetParameterUpperBounds ( )
virtual

◆ GetSignalAttenuationJacobian()

NODDICompartment::ListType & anima::NODDICompartment::GetSignalAttenuationJacobian ( double  smallDelta,
double  bigDelta,
double  gradientStrength,
const Vector3DType gradient 
)
virtual

◆ GetTensorCompatible()

bool anima::NODDICompartment::GetTensorCompatible ( )
inlinevirtual

Reimplemented from anima::BaseCompartment.

Definition at line 58 of file animaNODDICompartment.h.

◆ New()

static Pointer anima::NODDICompartment::New ( )
static

◆ SetAxialDiffusivity()

void anima::NODDICompartment::SetAxialDiffusivity ( double  num)
virtual

◆ SetCompartmentVector()

void anima::NODDICompartment::SetCompartmentVector ( ModelOutputVectorType compartmentVector)
virtual

Set compartment overall description vector, for setting automatically the individual parameters when reading from disk.

Implements anima::BaseCompartment.

Definition at line 373 of file animaNODDICompartment.cxx.

References GetCompartmentSize(), anima::BaseCompartment::m_SpaceDimension, SetAxialDiffusivity(), SetExtraAxonalFraction(), SetOrientationConcentration(), SetOrientationPhi(), SetOrientationTheta(), and anima::TransformCartesianToSphericalCoordinates().

◆ SetEstimateAxialDiffusivity()

void anima::NODDICompartment::SetEstimateAxialDiffusivity ( bool  arg)

Definition at line 355 of file animaNODDICompartment.cxx.

◆ SetEstimateExtraAxonalFraction()

void anima::NODDICompartment::SetEstimateExtraAxonalFraction ( bool  arg)

Definition at line 364 of file animaNODDICompartment.cxx.

◆ SetEstimateOrientationConcentration()

void anima::NODDICompartment::SetEstimateOrientationConcentration ( bool  arg)

Definition at line 346 of file animaNODDICompartment.cxx.

◆ SetExtraAxonalFraction()

void anima::NODDICompartment::SetExtraAxonalFraction ( double  num)
virtual

◆ SetOrientationConcentration()

void anima::NODDICompartment::SetOrientationConcentration ( double  num)
virtual

◆ SetOrientationPhi()

void anima::NODDICompartment::SetOrientationPhi ( double  num)
virtual

◆ SetOrientationTheta()

void anima::NODDICompartment::SetOrientationTheta ( double  num)
virtual

◆ SetParametersFromVector()

void anima::NODDICompartment::SetParametersFromVector ( const ListType params)
virtual

Various methods for optimization parameters setting and getting.

Implements anima::BaseCompartment.

Definition at line 256 of file animaNODDICompartment.cxx.

References GetNumberOfParameters(), SetAxialDiffusivity(), SetExtraAxonalFraction(), SetOrientationConcentration(), SetOrientationPhi(), and SetOrientationTheta().

◆ UpdateKappaValues()

void anima::NODDICompartment::UpdateKappaValues ( )
protected

◆ UpdateSignals()

void anima::NODDICompartment::UpdateSignals ( double  bValue,
const Vector3DType gradient 
)
protected

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