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

#include <animaStaniszCompartment.h>

+ Inheritance diagram for anima::StaniszCompartment:
+ Collaboration diagram for anima::StaniszCompartment:

Public Types

typedef Superclass::Pointer BasePointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::Matrix3DType Matrix3DType
 
typedef Superclass::ModelOutputVectorType ModelOutputVectorType
 
typedef itk::SmartPointer< SelfPointer
 
typedef StaniszCompartment 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...
 
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 SetEstimateTissueRadius (bool arg)
 
virtual void SetParametersFromVector (const ListType &params) ITK_OVERRIDE
 Various methods for optimization parameters setting and getting. More...
 
void SetTissueRadius (double num) ITK_OVERRIDE
 
- 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 const Matrix3DTypeGetDiffusionTensor ()
 Get compartment as a 3D tensor (default behavior: throw exception if not supported by the compartment model) More...
 
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 SetExtraAxonalFraction (double num)
 
virtual void SetOrientationConcentration (double num)
 
virtual void SetOrientationPhi (double num)
 
virtual void SetOrientationTheta (double num)
 
virtual void SetPerpendicularAngle (double num)
 
virtual void SetRadialDiffusivity1 (double num)
 
virtual void SetRadialDiffusivity2 (double num)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 StaniszCompartment ()
 
void UpdateSignals (double smallDelta, double bigDelta, double gradientStrength)
 
virtual ~StaniszCompartment ()
 
- 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 animaStaniszCompartment.h.

Member Typedef Documentation

◆ BasePointer

Definition at line 15 of file animaStaniszCompartment.h.

◆ ConstPointer

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

Definition at line 17 of file animaStaniszCompartment.h.

◆ Matrix3DType

Definition at line 20 of file animaStaniszCompartment.h.

◆ ModelOutputVectorType

Definition at line 18 of file animaStaniszCompartment.h.

◆ Pointer

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

Definition at line 16 of file animaStaniszCompartment.h.

◆ Self

Definition at line 13 of file animaStaniszCompartment.h.

◆ Superclass

Definition at line 14 of file animaStaniszCompartment.h.

◆ Vector3DType

Definition at line 19 of file animaStaniszCompartment.h.

Constructor & Destructor Documentation

◆ StaniszCompartment()

anima::StaniszCompartment::StaniszCompartment ( )
inlineprotected

Definition at line 56 of file animaStaniszCompartment.h.

◆ ~StaniszCompartment()

virtual anima::StaniszCompartment::~StaniszCompartment ( )
inlineprotectedvirtual

Definition at line 74 of file animaStaniszCompartment.h.

Member Function Documentation

◆ CreateAnother()

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

◆ GetApparentFractionalAnisotropy()

double anima::StaniszCompartment::GetApparentFractionalAnisotropy ( )
virtual

Reimplemented from anima::BaseCompartment.

Definition at line 298 of file animaStaniszCompartment.cxx.

◆ GetCompartmentSize()

unsigned int anima::StaniszCompartment::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 265 of file animaStaniszCompartment.cxx.

Referenced by GetCompartmentVector(), and SetCompartmentVector().

◆ GetCompartmentType()

DiffusionModelCompartmentType anima::StaniszCompartment::GetCompartmentType ( )
inlinevirtual

Utility function to return compartment type without needing dynamic casts.

Implements anima::BaseCompartment.

Definition at line 28 of file animaStaniszCompartment.h.

References anima::Stanisz.

◆ GetCompartmentVector()

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

Get compartment overall description vector, mainly for writing, should be self-contained.

Implements anima::BaseCompartment.

Definition at line 287 of file animaStaniszCompartment.cxx.

References anima::BaseCompartment::GetAxialDiffusivity(), GetCompartmentSize(), anima::BaseCompartment::GetTissueRadius(), and anima::BaseCompartment::m_CompartmentVector.

◆ GetFourierTransformedDiffusionProfile()

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

◆ GetLogDiffusionProfile()

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

◆ GetNameOfClass()

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

Run-time type information (and related methods)

Reimplemented from anima::BaseCompartment.

◆ GetNumberOfParameters()

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

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

Implements anima::BaseCompartment.

Definition at line 270 of file animaStaniszCompartment.cxx.

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

◆ GetParameterLowerBounds()

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

◆ GetParametersAsVector()

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

◆ GetParameterUpperBounds()

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

◆ GetSignalAttenuationJacobian()

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

◆ GetTensorCompatible()

bool anima::StaniszCompartment::GetTensorCompatible ( )
inlinevirtual

Reimplemented from anima::BaseCompartment.

Definition at line 52 of file animaStaniszCompartment.h.

◆ New()

static Pointer anima::StaniszCompartment::New ( )
static

◆ SetAxialDiffusivity()

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

◆ SetCompartmentVector()

void anima::StaniszCompartment::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 254 of file animaStaniszCompartment.cxx.

References GetCompartmentSize(), SetAxialDiffusivity(), and SetTissueRadius().

◆ SetEstimateAxialDiffusivity()

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

Definition at line 236 of file animaStaniszCompartment.cxx.

◆ SetEstimateTissueRadius()

void anima::StaniszCompartment::SetEstimateTissueRadius ( bool  arg)

Definition at line 245 of file animaStaniszCompartment.cxx.

◆ SetParametersFromVector()

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

Various methods for optimization parameters setting and getting.

Implements anima::BaseCompartment.

Definition at line 169 of file animaStaniszCompartment.cxx.

References GetNumberOfParameters(), SetAxialDiffusivity(), and SetTissueRadius().

◆ SetTissueRadius()

void anima::StaniszCompartment::SetTissueRadius ( double  num)
virtual

◆ UpdateSignals()

void anima::StaniszCompartment::UpdateSignals ( double  smallDelta,
double  bigDelta,
double  gradientStrength 
)
protected

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