ANIMA
4.0
|
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>
Public Types | |
typedef BaseCompartment::Pointer | BaseCompartmentPointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef BaseCompartment::ListType | ListType |
typedef BaseCompartment::ModelOutputVectorType | ModelOutputVectorType |
typedef itk::SmartPointer< Self > | Pointer |
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 () |
BaseCompartment * | GetCompartment (unsigned int i) |
double | GetCompartmentWeight (unsigned int i) |
const ListType & | GetCompartmentWeights () |
double | GetDiffusionProfile (Vector3DType &sample) |
ModelOutputVectorType & | GetModelVector () |
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 () |
ListType & | GetParameterLowerBounds () |
ListType & | GetParametersAsVector () |
ListType & | GetParameterUpperBounds () |
double | GetPredictedSignal (double smallDelta, double bigDelta, double gradientStrength, const Vector3DType &gradient) |
ListType & | GetSignalJacobian (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 ¶ms) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
MultiCompartmentModel () | |
~MultiCompartmentModel () | |
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.
Definition at line 33 of file animaMultiCompartmentModel.h.
typedef itk::SmartPointer<const Self> anima::MultiCompartmentModel::ConstPointer |
Definition at line 26 of file animaMultiCompartmentModel.h.
Definition at line 35 of file animaMultiCompartmentModel.h.
Definition at line 36 of file animaMultiCompartmentModel.h.
typedef itk::SmartPointer<Self> anima::MultiCompartmentModel::Pointer |
Definition at line 25 of file animaMultiCompartmentModel.h.
Definition at line 23 of file animaMultiCompartmentModel.h.
typedef itk::LightObject anima::MultiCompartmentModel::Superclass |
Definition at line 24 of file animaMultiCompartmentModel.h.
Definition at line 34 of file animaMultiCompartmentModel.h.
|
protected |
Definition at line 7 of file animaMultiCompartmentModel.cxx.
|
protected |
Definition at line 18 of file animaMultiCompartmentModel.cxx.
void anima::MultiCompartmentModel::AddCompartment | ( | double | weight, |
BaseCompartment * | compartment | ||
) |
Definition at line 41 of file animaMultiCompartmentModel.cxx.
References anima::FreeWater, anima::BaseCompartment::GetCompartmentType(), anima::IsotropicRestrictedWater, anima::Stanisz, and anima::StationaryWater.
Referenced by InternalClone().
virtual::itk::LightObject::Pointer anima::MultiCompartmentModel::CreateAnother | ( | void | ) | const |
|
virtual |
|
virtual |
|
virtual |
BaseCompartment * anima::MultiCompartmentModel::GetCompartment | ( | unsigned int | i | ) |
Definition at line 61 of file animaMultiCompartmentModel.cxx.
References GetNumberOfCompartments().
double anima::MultiCompartmentModel::GetCompartmentWeight | ( | unsigned int | i | ) |
Definition at line 102 of file animaMultiCompartmentModel.cxx.
|
inline |
Definition at line 54 of file animaMultiCompartmentModel.h.
double anima::MultiCompartmentModel::GetDiffusionProfile | ( | Vector3DType & | sample | ) |
Definition at line 278 of file animaMultiCompartmentModel.cxx.
MultiCompartmentModel::ModelOutputVectorType & anima::MultiCompartmentModel::GetModelVector | ( | ) |
Definition at line 161 of file animaMultiCompartmentModel.cxx.
References GetNumberOfCompartments(), and GetSize().
|
virtual |
Run-time type information (and related methods)
|
virtual |
|
inline |
Definition at line 46 of file animaMultiCompartmentModel.h.
Referenced by GetCompartment(), GetModelVector(), SetModelVector(), and SetParametersFromVector().
|
virtual |
unsigned int anima::MultiCompartmentModel::GetNumberOfOptimizedWeights | ( | ) |
Number of weights that are optimized.
Definition at line 367 of file animaMultiCompartmentModel.cxx.
Referenced by GetNumberOfParameters(), GetParameterLowerBounds(), GetParametersAsVector(), GetParameterUpperBounds(), GetSignalJacobian(), and SetParametersFromVector().
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().
|
virtual |
MultiCompartmentModel::ListType & anima::MultiCompartmentModel::GetParameterLowerBounds | ( | ) |
Definition at line 291 of file animaMultiCompartmentModel.cxx.
References GetNumberOfOptimizedWeights(), GetNumberOfParameters(), anima::MCMFractionUpperBound, and anima::MCMZeroLowerBound.
MultiCompartmentModel::ListType & anima::MultiCompartmentModel::GetParametersAsVector | ( | ) |
Definition at line 69 of file animaMultiCompartmentModel.cxx.
References GetNumberOfOptimizedWeights(), and GetNumberOfParameters().
MultiCompartmentModel::ListType & anima::MultiCompartmentModel::GetParameterUpperBounds | ( | ) |
Definition at line 329 of file animaMultiCompartmentModel.cxx.
References GetNumberOfOptimizedWeights(), GetNumberOfParameters(), anima::MCMCompartmentsFractionUpperBound, and anima::MCMZeroLowerBound.
double anima::MultiCompartmentModel::GetPredictedSignal | ( | double | smallDelta, |
double | bigDelta, | ||
double | gradientStrength, | ||
const Vector3DType & | gradient | ||
) |
Definition at line 232 of file animaMultiCompartmentModel.cxx.
MultiCompartmentModel::ListType & anima::MultiCompartmentModel::GetSignalJacobian | ( | double | smallDelta, |
double | bigDelta, | ||
double | gradientStrength, | ||
const Vector3DType & | gradient | ||
) |
Definition at line 245 of file animaMultiCompartmentModel.cxx.
References GetNumberOfOptimizedWeights(), and GetNumberOfParameters().
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().
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().
|
static |
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.
|
inline |
Definition at line 88 of file animaMultiCompartmentModel.h.
Referenced by InternalClone().
|
inline |
Definition at line 85 of file animaMultiCompartmentModel.h.
Referenced by InternalClone().
|
inline |
Definition at line 91 of file animaMultiCompartmentModel.h.
Referenced by InternalClone().
void anima::MultiCompartmentModel::SetCompartmentWeights | ( | const ListType & | weights | ) |
Definition at line 110 of file animaMultiCompartmentModel.cxx.
void anima::MultiCompartmentModel::SetModelVector | ( | const itk::VariableLengthVector< float > & | mcmVec | ) |
Definition at line 190 of file animaMultiCompartmentModel.cxx.
References GetNumberOfCompartments().
void anima::MultiCompartmentModel::SetModelVector | ( | const ModelOutputVectorType & | mcmVec | ) |
Definition at line 211 of file animaMultiCompartmentModel.cxx.
References GetNumberOfCompartments().
|
inline |
Definition at line 94 of file animaMultiCompartmentModel.h.
|
inline |
Definition at line 82 of file animaMultiCompartmentModel.h.
Referenced by InternalClone().
void anima::MultiCompartmentModel::SetParametersFromVector | ( | ListType & | params | ) |
Definition at line 119 of file animaMultiCompartmentModel.cxx.
References GetNumberOfCompartments(), and GetNumberOfOptimizedWeights().