3 #include "AnimaRelaxometryExport.h" 6 #include <itkSingleValuedCostFunction.h> 7 #include <vnl/vnl_matrix.h> 18 public itk::SingleValuedCostFunction
45 virtual MeasureType GetValue(const ParametersType & parameters) const ITK_OVERRIDE;
46 virtual
void GetDerivative(const ParametersType & parameters, DerivativeType & derivative) const ITK_OVERRIDE;
48 itkSetMacro(EchoSpacing,
double)
49 itkSetMacro(ExcitationFlipAngle,
double)
51 void SetT2RelaxometrySignals(ParametersType &relaxoSignals) {m_T2RelaxometrySignals = relaxoSignals;}
53 itkSetMacro(T1Value,
double)
54 void SetGammaMeans(
std::vector <
double> &val) {m_GammaMeans = val;}
57 itkSetMacro(GammaIntegralTolerance,
double)
58 itkSetMacro(ConstrainedParameters,
bool)
60 unsigned
int GetNumberOfParameters() const ITK_OVERRIDE
62 if (m_ConstrainedParameters)
68 itkGetMacro(SigmaSquare,
double)
75 m_leCalculator = LECalculatorType::New();
83 void PrepareDataForLLS()
const;
84 void PrepareDataForDerivative()
const;
87 void SolveLinearLeastSquares()
const;
96 bool m_ConstrainedParameters;
98 double m_ExcitationFlipAngle;
103 mutable std::vector <double> m_GammaMeans, m_GammaVariances;
104 double m_GammaIntegralTolerance;
111 mutable vnl_matrix <double> m_PredictedSignalAttenuations, m_CholeskyMatrix;
112 mutable double m_SigmaSquare;
114 mutable std::vector <MatrixType> m_SignalAttenuationsJacobian;
115 mutable MatrixType m_GramMatrix, m_InverseGramMatrix, m_FMatrixInverseG;
116 mutable std::vector <bool> m_CompartmentSwitches;
itk::SmartPointer< Self > Pointer
SingleValuedCostFunction Superclass
void SetGammaVariances(std::vector< double > &val)
Superclass::ParametersType ParametersType
vnl_matrix< double > MatrixType
LECalculatorType::Pointer LECalculatorPointer
B1GammaMixtureT2RelaxometryCostFunction()
Superclass::MeasureType MeasureType
virtual ~B1GammaMixtureT2RelaxometryCostFunction()
Superclass::DerivativeType DerivativeType
itk::SmartPointer< const Self > ConstPointer
B1GammaMixtureT2RelaxometryCostFunction Self
itk::SmartPointer< Self > Pointer
Cholesky decomposition: decomposes a symmetric matrix A in the form L D L^T, where L is lower triangu...