3 #include <itkLightObject.h> 4 #include <itkArray2D.h> 5 #include <itkOptimizerParameters.h> 8 #include <AnimaMCMBaseExport.h> 16 class ANIMAMCMBASE_EXPORT
BaseMCMCost :
public itk::LightObject
38 void SetObservedSignals(ListType &value) {m_ObservedSignals = value;}
39 void SetGradients(std::vector<Vector3DType> &value) {m_Gradients = value;}
49 virtual double GetCurrentCostValue() = 0;
61 itkExceptionMacro(
"A multi-compartment model has to be set, no computation can be done otherwise.");
63 return m_MCMStructure->GetNumberOfParameters();
68 return m_ObservedSignals.size();
96 void operator=(
const Self&);
itk::OptimizerParameters< double > ParametersType
std::vector< double > m_PredictedSignals
MCMPointer m_MCMStructure
ListType m_ObservedSignals
void SetSmallDelta(double val)
itk::SmartPointer< const Self > ConstPointer
itk::LightObject Superclass
void SetGradientStrengths(ListType &value)
MCMPointer & GetMCMStructure()
void SetBigDelta(double val)
MCMType::Pointer MCMPointer
unsigned int GetNumberOfParameters() const
Returns number of optimized parameters.
void SetMCMStructure(MCMType *model)
MCMType::Vector3DType Vector3DType
virtual double GetSigmaSquare()
void SetGradients(std::vector< Vector3DType > &value)
MultiCompartmentModel: holds several diffusion compartments, ordered by type It also handles weights ...
Base cost function class to handle maximum likelihood estimation.
ListType m_GradientStrengths
ListType m_TestedParameters
MCMType::ListType ListType
itk::Array2D< double > DerivativeMatrixType
unsigned int GetNumberOfObservations() const
itk::Array< double > MeasureType
std::vector< Vector3DType > m_Gradients
itk::SmartPointer< Self > Pointer
itk::Array< double > DerivativeType