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

MultiCompartmentModel: holds several diffusion compartments, ordered by type It also handles weights of the different compartments. Although there are N weights in memory for N compartments, the parameters returned and set are considered to have one less weight in them, the first one being removed. This comes from the fact that they sum up to 1. More...

#include <animaMultiCompartmentModel.h>

+ Inheritance diagram for anima::MultiCompartmentModel:
+ Collaboration diagram for anima::MultiCompartmentModel:

Public Types

typedef BaseCompartment::Pointer BaseCompartmentPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BaseCompartment::ListType ListType
 
typedef BaseCompartment::ModelOutputVectorType ModelOutputVectorType
 
typedef itk::SmartPointer< SelfPointer
 
typedef MultiCompartmentModel Self
 
typedef itk::LightObject Superclass
 
typedef BaseCompartment::Vector3DType Vector3DType
 

Public Member Functions

void AddCompartment (double weight, BaseCompartment *compartment)
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual bool GetCommonConcentrationParameters ()
 
virtual bool GetCommonDiffusivityParameters ()
 
virtual bool GetCommonExtraAxonalFractionParameters ()
 
BaseCompartmentGetCompartment (unsigned int i)
 
double GetCompartmentWeight (unsigned int i)
 
const ListTypeGetCompartmentWeights ()
 
double GetDiffusionProfile (Vector3DType &sample)
 
ModelOutputVectorTypeGetModelVector ()
 
virtual const char * GetNameOfClass () const
 
virtual bool GetNegativeWeightBounds ()
 
unsigned int GetNumberOfCompartments ()
 
virtual unsigned int GetNumberOfIsotropicCompartments ()
 
unsigned int GetNumberOfOptimizedWeights ()
 Number of weights that are optimized. More...
 
unsigned int GetNumberOfParameters ()
 Number of parameters to be optimized. More...
 
virtual bool GetOptimizeWeights ()
 
ListTypeGetParameterLowerBounds ()
 
ListTypeGetParametersAsVector ()
 
ListTypeGetParameterUpperBounds ()
 
double GetPredictedSignal (double smallDelta, double bigDelta, double gradientStrength, const Vector3DType &gradient)
 
ListTypeGetSignalJacobian (double smallDelta, double bigDelta, double gradientStrength, const Vector3DType &gradient)
 
unsigned int GetSize ()
 Number of parameters to have a self-contained description of the MCM. More...
 
itk::LightObject::Pointer InternalClone () const ITK_OVERRIDE
 
void Reorient (vnl_matrix< double > &orientationMatrix, bool affineTransform)
 Re-orient the MCM using the provided transform, the flag precises if the transform id rigid or affine. More...
 
void SetCommonConcentrationParameters (bool val)
 
void SetCommonDiffusivityParameters (bool val)
 
void SetCommonExtraAxonalFractionParameters (bool val)
 
void SetCompartmentWeights (const ListType &weights)
 
void SetModelVector (const itk::VariableLengthVector< float > &mcmVec)
 
void SetModelVector (const ModelOutputVectorType &mcmVec)
 
void SetNegativeWeightBounds (bool val)
 
void SetOptimizeWeights (bool val)
 
void SetParametersFromVector (ListType &params)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 MultiCompartmentModel ()
 
 ~MultiCompartmentModel ()
 

Detailed Description

MultiCompartmentModel: holds several diffusion compartments, ordered by type It also handles weights of the different compartments. Although there are N weights in memory for N compartments, the parameters returned and set are considered to have one less weight in them, the first one being removed. This comes from the fact that they sum up to 1.

Definition at line 19 of file animaMultiCompartmentModel.h.

Member Typedef Documentation

◆ BaseCompartmentPointer

Definition at line 33 of file animaMultiCompartmentModel.h.

◆ ConstPointer

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

Definition at line 26 of file animaMultiCompartmentModel.h.

◆ ListType

Definition at line 35 of file animaMultiCompartmentModel.h.

◆ ModelOutputVectorType

Definition at line 36 of file animaMultiCompartmentModel.h.

◆ Pointer

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

Definition at line 25 of file animaMultiCompartmentModel.h.

◆ Self

Definition at line 23 of file animaMultiCompartmentModel.h.

◆ Superclass

typedef itk::LightObject anima::MultiCompartmentModel::Superclass

Definition at line 24 of file animaMultiCompartmentModel.h.

◆ Vector3DType

Definition at line 34 of file animaMultiCompartmentModel.h.

Constructor & Destructor Documentation

◆ MultiCompartmentModel()

anima::MultiCompartmentModel::MultiCompartmentModel ( )
protected

Definition at line 7 of file animaMultiCompartmentModel.cxx.

◆ ~MultiCompartmentModel()

anima::MultiCompartmentModel::~MultiCompartmentModel ( )
protected

Definition at line 18 of file animaMultiCompartmentModel.cxx.

Member Function Documentation

◆ AddCompartment()

void anima::MultiCompartmentModel::AddCompartment ( double  weight,
BaseCompartment compartment 
)

◆ CreateAnother()

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

◆ GetCommonConcentrationParameters()

virtual bool anima::MultiCompartmentModel::GetCommonConcentrationParameters ( )
virtual

◆ GetCommonDiffusivityParameters()

virtual bool anima::MultiCompartmentModel::GetCommonDiffusivityParameters ( )
virtual

◆ GetCommonExtraAxonalFractionParameters()

virtual bool anima::MultiCompartmentModel::GetCommonExtraAxonalFractionParameters ( )
virtual

◆ GetCompartment()

BaseCompartment * anima::MultiCompartmentModel::GetCompartment ( unsigned int  i)

Definition at line 61 of file animaMultiCompartmentModel.cxx.

References GetNumberOfCompartments().

◆ GetCompartmentWeight()

double anima::MultiCompartmentModel::GetCompartmentWeight ( unsigned int  i)

Definition at line 102 of file animaMultiCompartmentModel.cxx.

◆ GetCompartmentWeights()

const ListType& anima::MultiCompartmentModel::GetCompartmentWeights ( )
inline

Definition at line 54 of file animaMultiCompartmentModel.h.

◆ GetDiffusionProfile()

double anima::MultiCompartmentModel::GetDiffusionProfile ( Vector3DType sample)

Definition at line 278 of file animaMultiCompartmentModel.cxx.

◆ GetModelVector()

MultiCompartmentModel::ModelOutputVectorType & anima::MultiCompartmentModel::GetModelVector ( )

Definition at line 161 of file animaMultiCompartmentModel.cxx.

References GetNumberOfCompartments(), and GetSize().

◆ GetNameOfClass()

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

Run-time type information (and related methods)

◆ GetNegativeWeightBounds()

virtual bool anima::MultiCompartmentModel::GetNegativeWeightBounds ( )
virtual

◆ GetNumberOfCompartments()

unsigned int anima::MultiCompartmentModel::GetNumberOfCompartments ( )
inline

◆ GetNumberOfIsotropicCompartments()

virtual unsigned int anima::MultiCompartmentModel::GetNumberOfIsotropicCompartments ( )
virtual

◆ GetNumberOfOptimizedWeights()

unsigned int anima::MultiCompartmentModel::GetNumberOfOptimizedWeights ( )

◆ GetNumberOfParameters()

unsigned int anima::MultiCompartmentModel::GetNumberOfParameters ( )

Number of parameters to be optimized.

Definition at line 376 of file animaMultiCompartmentModel.cxx.

References GetNumberOfOptimizedWeights().

Referenced by GetParameterLowerBounds(), GetParametersAsVector(), GetParameterUpperBounds(), and GetSignalJacobian().

◆ GetOptimizeWeights()

virtual bool anima::MultiCompartmentModel::GetOptimizeWeights ( )
virtual

◆ GetParameterLowerBounds()

MultiCompartmentModel::ListType & anima::MultiCompartmentModel::GetParameterLowerBounds ( )

◆ GetParametersAsVector()

MultiCompartmentModel::ListType & anima::MultiCompartmentModel::GetParametersAsVector ( )

◆ GetParameterUpperBounds()

MultiCompartmentModel::ListType & anima::MultiCompartmentModel::GetParameterUpperBounds ( )

◆ GetPredictedSignal()

double anima::MultiCompartmentModel::GetPredictedSignal ( double  smallDelta,
double  bigDelta,
double  gradientStrength,
const Vector3DType gradient 
)

Definition at line 232 of file animaMultiCompartmentModel.cxx.

◆ GetSignalJacobian()

MultiCompartmentModel::ListType & anima::MultiCompartmentModel::GetSignalJacobian ( double  smallDelta,
double  bigDelta,
double  gradientStrength,
const Vector3DType gradient 
)

◆ GetSize()

unsigned int anima::MultiCompartmentModel::GetSize ( )

Number of parameters to have a self-contained description of the MCM.

Definition at line 388 of file animaMultiCompartmentModel.cxx.

Referenced by GetModelVector().

◆ InternalClone()

itk::LightObject::Pointer anima::MultiCompartmentModel::InternalClone ( ) const

Returns a clone of this MCM in terms of compartment organization, used by Clone method Does not copy parameters of each compartment though, neither weights

Definition at line 22 of file animaMultiCompartmentModel.cxx.

References AddCompartment(), SetCommonConcentrationParameters(), SetCommonDiffusivityParameters(), SetCommonExtraAxonalFractionParameters(), and SetOptimizeWeights().

◆ New()

static Pointer anima::MultiCompartmentModel::New ( )
static

◆ Reorient()

void anima::MultiCompartmentModel::Reorient ( vnl_matrix< double > &  orientationMatrix,
bool  affineTransform 
)

Re-orient the MCM using the provided transform, the flag precises if the transform id rigid or affine.

Definition at line 400 of file animaMultiCompartmentModel.cxx.

◆ SetCommonConcentrationParameters()

void anima::MultiCompartmentModel::SetCommonConcentrationParameters ( bool  val)
inline

Definition at line 88 of file animaMultiCompartmentModel.h.

Referenced by InternalClone().

◆ SetCommonDiffusivityParameters()

void anima::MultiCompartmentModel::SetCommonDiffusivityParameters ( bool  val)
inline

Definition at line 85 of file animaMultiCompartmentModel.h.

Referenced by InternalClone().

◆ SetCommonExtraAxonalFractionParameters()

void anima::MultiCompartmentModel::SetCommonExtraAxonalFractionParameters ( bool  val)
inline

Definition at line 91 of file animaMultiCompartmentModel.h.

Referenced by InternalClone().

◆ SetCompartmentWeights()

void anima::MultiCompartmentModel::SetCompartmentWeights ( const ListType weights)

Definition at line 110 of file animaMultiCompartmentModel.cxx.

◆ SetModelVector() [1/2]

void anima::MultiCompartmentModel::SetModelVector ( const itk::VariableLengthVector< float > &  mcmVec)

Definition at line 190 of file animaMultiCompartmentModel.cxx.

References GetNumberOfCompartments().

◆ SetModelVector() [2/2]

void anima::MultiCompartmentModel::SetModelVector ( const ModelOutputVectorType mcmVec)

Definition at line 211 of file animaMultiCompartmentModel.cxx.

References GetNumberOfCompartments().

◆ SetNegativeWeightBounds()

void anima::MultiCompartmentModel::SetNegativeWeightBounds ( bool  val)
inline

Definition at line 94 of file animaMultiCompartmentModel.h.

◆ SetOptimizeWeights()

void anima::MultiCompartmentModel::SetOptimizeWeights ( bool  val)
inline

Definition at line 82 of file animaMultiCompartmentModel.h.

Referenced by InternalClone().

◆ SetParametersFromVector()

void anima::MultiCompartmentModel::SetParametersFromVector ( ListType params)

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