ANIMA
4.0
|
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>
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
using | LECalculatorPointer = LECalculatorType::Pointer |
using | LECalculatorType = anima::LogEuclideanTensorCalculator< double > |
typedef itk::SmartPointer< Self > | Pointer |
typedef GaussianMCMVariableProjectionCost | Self |
typedef anima::BaseMCMCost | Superclass |
Public Types inherited from anima::BaseMCMCost | |
typedef itk::SmartPointer< const Self > | ConstPointer |
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< Self > | Pointer |
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 ¶meters, 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 ¶meters) ITK_OVERRIDE |
Get residual values for a given set of parameters, returns a vector of residuals. More... | |
Public Member Functions inherited from anima::BaseMCMCost | |
MCMPointer & | GetMCMStructure () |
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< Vector3DType > | m_Gradients |
ListType | m_GradientStrengths |
MCMPointer | m_MCMStructure |
ListType | m_ObservedSignals |
std::vector< double > | m_PredictedSignals |
double | m_SigmaSquare |
double | m_SmallDelta |
ListType | m_TestedParameters |
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.
typedef itk::SmartPointer<const Self> anima::GaussianMCMVariableProjectionCost::ConstPointer |
Definition at line 27 of file animaGaussianMCMVariableProjectionCost.h.
Definition at line 35 of file animaGaussianMCMVariableProjectionCost.h.
using anima::GaussianMCMVariableProjectionCost::LECalculatorType = anima::LogEuclideanTensorCalculator <double> |
Definition at line 34 of file animaGaussianMCMVariableProjectionCost.h.
typedef itk::SmartPointer<Self> anima::GaussianMCMVariableProjectionCost::Pointer |
Definition at line 26 of file animaGaussianMCMVariableProjectionCost.h.
Standard class typedefs.
Definition at line 24 of file animaGaussianMCMVariableProjectionCost.h.
Definition at line 25 of file animaGaussianMCMVariableProjectionCost.h.
|
inlineprotected |
Definition at line 52 of file animaGaussianMCMVariableProjectionCost.h.
References anima::NNLSOptimizer::New().
|
inlineprotectedvirtual |
Definition at line 58 of file animaGaussianMCMVariableProjectionCost.h.
|
protected |
virtual::itk::LightObject::Pointer anima::GaussianMCMVariableProjectionCost::CreateAnother | ( | void | ) | const |
|
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.
|
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.
|
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().
|
virtual |
Run-time type information (and related methods).
Reimplemented from anima::BaseMCMCost.
|
inline |
Definition at line 49 of file animaGaussianMCMVariableProjectionCost.h.
|
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().
|
static |
|
protected |
Definition at line 235 of file animaGaussianMCMVariableProjectionCost.cxx.
References anima::BaseMCMCost::m_BigDelta, anima::BaseMCMCost::m_Gradients, anima::BaseMCMCost::m_GradientStrengths, anima::BaseMCMCost::m_MCMStructure, and anima::BaseMCMCost::m_SmallDelta.
Referenced by GetDerivativeMatrix().
|
protected |
Definition at line 64 of file animaGaussianMCMVariableProjectionCost.cxx.
References anima::BaseMCMCost::m_BigDelta, anima::BaseMCMCost::m_Gradients, anima::BaseMCMCost::m_GradientStrengths, anima::BaseMCMCost::m_MCMStructure, anima::BaseMCMCost::m_ObservedSignals, anima::BaseMCMCost::m_SmallDelta, anima::CholeskyDecomposition::PerformDecomposition(), anima::CholeskyDecomposition::SetInputMatrix(), and anima::CholeskyDecomposition::SolveLinearSystem().
Referenced by GetValues().
|
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().