3 #include <itkSingleValuedCostFunction.h>     4 #include "AnimaRelaxometryExport.h"    16 public itk::SingleValuedCostFunction
    36     virtual MeasureType GetValue(const ParametersType & parameters) const ITK_OVERRIDE;
    37     virtual 
void GetDerivative(const ParametersType & parameters, DerivativeType & derivative) const ITK_OVERRIDE {} 
    39     itkSetMacro(EchoSpacing, 
double)
    40     itkSetMacro(ExcitationFlipAngle, 
double)
    42     void SetT2RelaxometrySignals(
ParametersType &relaxoSignals) {m_T2RelaxometrySignals = relaxoSignals;}
    43     void SetT2FlipAngles(std::vector <double> & flipAngles) {m_T2FlipAngles = flipAngles;}
    45     itkSetMacro(T1Value, 
double)
    46     itkSetMacro(M0Value, 
double)
    48     void SetT2DistributionSamples(
std::vector < 
std::vector <
double> > &values) {m_T2DistributionSamples = values;}
    71         m_T2IntegrationStep = 1;
    72         m_LowerT2Bound = 1.0e-4;
    73         m_UpperT2Bound = 3000;
    80     void operator=(
const Self&); 
    85     double m_ExcitationFlipAngle;
    86     std::vector <double> m_T2FlipAngles;
    88     double m_T2IntegrationStep;
    89     double m_LowerT2Bound, m_UpperT2Bound;
    90     std::vector < std::vector <double> > m_T2DistributionSamples;
    91     std::vector <double> m_T2WorkingValues;
    92     std::vector < std::vector <unsigned int> > m_DistributionSamplesT2Correspondences;
    96     double m_T1Value, m_M0Value;
   100     mutable std::vector <anima::EPGSignalSimulator::RealVectorType> m_SimulatedEPGValues;
 void SetDistributionSamplesT2Correspondences(std::vector< std::vector< unsigned int > > &values)
unsigned int GetNumberOfParameters() const ITK_OVERRIDE
itk::SmartPointer< const Self > ConstPointer
Superclass::ParametersType ParametersType
void SetT2IntegrationStep(double value)
std::vector< std::complex< double > > ComplexVectorType
itk::SingleValuedCostFunction Superclass
std::vector< ComplexVectorType > MatrixType
B1T2RelaxometryDistributionCostFunction Self
void SetT2FlipAngles(std::vector< double > &flipAngles)
Cost function for estimating B1 from T2 relaxometry acquisition, following a multi-T2 EPG decay model...
B1T2RelaxometryDistributionCostFunction()
void SetT2Weights(ParametersType &weights)
std::vector< double > RealVectorType
void SetT2WorkingValues(std::vector< double > &values)
itk::SmartPointer< Self > Pointer
void SetUpperT2Bound(double value)
virtual ~B1T2RelaxometryDistributionCostFunction()
Superclass::MeasureType MeasureType
Superclass::DerivativeType DerivativeType
void SetLowerT2Bound(double value)