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

Class for computing variable projection costs and derivatives. Right now, it is only available for Gaussian noise. By the way, this is not thread safe at all so be sure to intantiate one per thread. More...

#include <animaGaussianMCMVariableProjectionCost.h>

+ Inheritance diagram for anima::GaussianMCMVariableProjectionCost:
+ Collaboration diagram for anima::GaussianMCMVariableProjectionCost:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
using LECalculatorPointer = LECalculatorType::Pointer
 
using LECalculatorType = anima::LogEuclideanTensorCalculator< double >
 
typedef itk::SmartPointer< SelfPointer
 
typedef GaussianMCMVariableProjectionCost Self
 
typedef anima::BaseMCMCost Superclass
 
- Public Types inherited from anima::BaseMCMCost
typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::Array2D< double > DerivativeMatrixType
 
typedef itk::Array< double > DerivativeType
 
typedef MCMType::ListType ListType
 
typedef MCMType::Pointer MCMPointer
 
typedef anima::MultiCompartmentModel MCMType
 
typedef itk::Array< double > MeasureType
 
typedef itk::OptimizerParameters< double > ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef BaseMCMCost Self
 
typedef itk::LightObject Superclass
 
typedef MCMType::Vector3DType Vector3DType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
double GetCurrentCostValue () ITK_OVERRIDE
 For the current set of parameters, compute the cost function value, requires GetValues to be called first. More...
 
void GetCurrentDerivative (DerivativeMatrixType &derivativeMatrix, DerivativeType &derivative) ITK_OVERRIDE
 Get cost function derivatives from a derivative matrix obtained from GetDerivativeMatrix. More...
 
void GetDerivativeMatrix (const ParametersType &parameters, DerivativeMatrixType &derivative) ITK_OVERRIDE
 Get residual derivatives for a given set of parameters, returns a matrix of residuals derivatives. More...
 
virtual const char * GetNameOfClass () const
 
std::vector< double > & GetOptimalWeights ()
 
MeasureType GetValues (const ParametersType &parameters) ITK_OVERRIDE
 Get residual values for a given set of parameters, returns a vector of residuals. More...
 
- Public Member Functions inherited from anima::BaseMCMCost
MCMPointerGetMCMStructure ()
 
unsigned int GetNumberOfObservations () const
 
unsigned int GetNumberOfParameters () const
 Returns number of optimized parameters. More...
 
virtual double GetSigmaSquare ()
 
void SetBigDelta (double val)
 
void SetGradients (std::vector< Vector3DType > &value)
 
void SetGradientStrengths (ListType &value)
 
void SetMCMStructure (MCMType *model)
 
void SetObservedSignals (ListType &value)
 
void SetSmallDelta (double val)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

bool CheckBoundaryConditions ()
 
 GaussianMCMVariableProjectionCost ()
 
void PrepareDataForDerivative ()
 
void PrepareDataForLLS ()
 
void SolveLinearLeastSquares ()
 Computes maximum likelihood estimates of weights. More...
 
virtual ~GaussianMCMVariableProjectionCost () ITK_OVERRIDE
 
- Protected Member Functions inherited from anima::BaseMCMCost
 BaseMCMCost ()
 
virtual ~BaseMCMCost ()
 

Additional Inherited Members

- Protected Attributes inherited from anima::BaseMCMCost
double m_BigDelta
 
std::vector< Vector3DTypem_Gradients
 
ListType m_GradientStrengths
 
MCMPointer m_MCMStructure
 
ListType m_ObservedSignals
 
std::vector< double > m_PredictedSignals
 
double m_SigmaSquare
 
double m_SmallDelta
 
ListType m_TestedParameters
 

Detailed Description

Class for computing variable projection costs and derivatives. Right now, it is only available for Gaussian noise. By the way, this is not thread safe at all so be sure to intantiate one per thread.

Definition at line 20 of file animaGaussianMCMVariableProjectionCost.h.

Member Typedef Documentation

◆ ConstPointer

Definition at line 27 of file animaGaussianMCMVariableProjectionCost.h.

◆ LECalculatorPointer

Definition at line 35 of file animaGaussianMCMVariableProjectionCost.h.

◆ LECalculatorType

Definition at line 34 of file animaGaussianMCMVariableProjectionCost.h.

◆ Pointer

Definition at line 26 of file animaGaussianMCMVariableProjectionCost.h.

◆ Self

Standard class typedefs.

Definition at line 24 of file animaGaussianMCMVariableProjectionCost.h.

◆ Superclass

Definition at line 25 of file animaGaussianMCMVariableProjectionCost.h.

Constructor & Destructor Documentation

◆ GaussianMCMVariableProjectionCost()

anima::GaussianMCMVariableProjectionCost::GaussianMCMVariableProjectionCost ( )
inlineprotected

◆ ~GaussianMCMVariableProjectionCost()

virtual anima::GaussianMCMVariableProjectionCost::~GaussianMCMVariableProjectionCost ( )
inlineprotectedvirtual

Definition at line 58 of file animaGaussianMCMVariableProjectionCost.h.

Member Function Documentation

◆ CheckBoundaryConditions()

bool anima::GaussianMCMVariableProjectionCost::CheckBoundaryConditions ( )
protected

◆ CreateAnother()

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

◆ GetCurrentCostValue()

double anima::GaussianMCMVariableProjectionCost::GetCurrentCostValue ( )
virtual

For the current set of parameters, compute the cost function value, requires GetValues to be called first.

Implements anima::BaseMCMCost.

Definition at line 32 of file animaGaussianMCMVariableProjectionCost.cxx.

References anima::BaseMCMCost::m_SigmaSquare.

◆ GetCurrentDerivative()

void anima::GaussianMCMVariableProjectionCost::GetCurrentDerivative ( DerivativeMatrixType derivativeMatrix,
DerivativeType derivative 
)
virtual

Get cost function derivatives from a derivative matrix obtained from GetDerivativeMatrix.

Implements anima::BaseMCMCost.

Definition at line 415 of file animaGaussianMCMVariableProjectionCost.cxx.

References anima::BaseMCMCost::m_SigmaSquare.

◆ GetDerivativeMatrix()

void anima::GaussianMCMVariableProjectionCost::GetDerivativeMatrix ( const ParametersType parameters,
DerivativeMatrixType derivative 
)
virtual

Get residual derivatives for a given set of parameters, returns a matrix of residuals derivatives.

Implements anima::BaseMCMCost.

Definition at line 323 of file animaGaussianMCMVariableProjectionCost.cxx.

References anima::BaseMCMCost::m_ObservedSignals, anima::BaseMCMCost::m_TestedParameters, and PrepareDataForDerivative().

◆ GetNameOfClass()

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

Run-time type information (and related methods).

Reimplemented from anima::BaseMCMCost.

◆ GetOptimalWeights()

std::vector<double>& anima::GaussianMCMVariableProjectionCost::GetOptimalWeights ( )
inline

Definition at line 49 of file animaGaussianMCMVariableProjectionCost.h.

◆ GetValues()

GaussianMCMVariableProjectionCost::MeasureType anima::GaussianMCMVariableProjectionCost::GetValues ( const ParametersType parameters)
virtual

Get residual values for a given set of parameters, returns a vector of residuals.

Implements anima::BaseMCMCost.

Definition at line 12 of file animaGaussianMCMVariableProjectionCost.cxx.

References anima::BaseMCMCost::m_MCMStructure, anima::BaseMCMCost::m_TestedParameters, PrepareDataForLLS(), and SolveLinearLeastSquares().

◆ New()

static Pointer anima::GaussianMCMVariableProjectionCost::New ( )
static

◆ PrepareDataForDerivative()

void anima::GaussianMCMVariableProjectionCost::PrepareDataForDerivative ( )
protected

◆ PrepareDataForLLS()

void anima::GaussianMCMVariableProjectionCost::PrepareDataForLLS ( )
protected

◆ SolveLinearLeastSquares()

void anima::GaussianMCMVariableProjectionCost::SolveLinearLeastSquares ( )
protected

Computes maximum likelihood estimates of weights.

Definition at line 44 of file animaGaussianMCMVariableProjectionCost.cxx.

References anima::BaseMCMCost::m_Gradients, anima::BaseMCMCost::m_ObservedSignals, and anima::BaseMCMCost::m_SigmaSquare.

Referenced by GetValues().


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