4 #include <AnimaMCMExport.h> 30 virtual double GetFourierTransformedDiffusionProfile(
double smallDelta,
double bigDelta,
double gradientStrength,
const Vector3DType &gradient) ITK_OVERRIDE;
31 virtual ListType &GetSignalAttenuationJacobian(
double smallDelta,
double bigDelta,
double gradientStrength,
const Vector3DType &gradient) ITK_OVERRIDE;
32 virtual double GetLogDiffusionProfile(
const Vector3DType &sample) ITK_OVERRIDE;
34 virtual void SetParametersFromVector(
const ListType ¶ms) ITK_OVERRIDE;
35 virtual ListType &GetParametersAsVector() ITK_OVERRIDE;
37 virtual ListType &GetParameterLowerBounds() ITK_OVERRIDE;
38 virtual ListType &GetParameterUpperBounds() ITK_OVERRIDE;
41 void SetEstimateAxialDiffusivity(
bool arg);
42 void SetEstimateTissueRadius(
bool arg);
43 void SetCompartmentVector(ModelOutputVectorType &compartmentVector) ITK_OVERRIDE;
45 unsigned int GetCompartmentSize() ITK_OVERRIDE;
46 unsigned int GetNumberOfParameters() ITK_OVERRIDE;
47 ModelOutputVectorType &GetCompartmentVector() ITK_OVERRIDE;
49 void SetTissueRadius(
double num) ITK_OVERRIDE;
50 void SetAxialDiffusivity(
double num) ITK_OVERRIDE;
53 double GetApparentFractionalAnisotropy() ITK_OVERRIDE;
58 m_EstimateAxialDiffusivity =
true;
59 m_EstimateTissueRadius =
true;
60 m_ChangedConstraints =
true;
62 m_FirstSummation = 0.0;
63 m_SecondSummation = 0.0;
64 m_ThirdSummation = 0.0;
65 m_FourthSummation = 0.0;
67 m_CurrentSmallDelta = 0.0;
68 m_CurrentBigDelta = 0.0;
69 m_CurrentGradientStrength = 0.0;
71 m_ModifiedParameters =
true;
76 void UpdateSignals(
double smallDelta,
double bigDelta,
double gradientStrength);
79 bool m_EstimateAxialDiffusivity, m_EstimateTissueRadius;
80 bool m_ChangedConstraints;
81 unsigned int m_NumberOfParameters;
83 double m_FirstSummation;
84 double m_SecondSummation;
85 double m_ThirdSummation;
86 double m_FourthSummation;
88 double m_CurrentSmallDelta;
89 double m_CurrentBigDelta;
90 double m_CurrentGradientStrength;
92 bool m_ModifiedParameters;
94 const unsigned int m_MaximumNumberOfSumElements = 2000;
BaseCompartment Superclass
virtual ~StaniszCompartment()
std::vector< double > ListType
Superclass::Pointer BasePointer
itk::SmartPointer< const Self > ConstPointer
itk::VariableLengthVector< double > ModelOutputVectorType
itk::Matrix< double, 3, 3 > Matrix3DType
vnl_vector_fixed< double, 3 > Vector3DType
Superclass::Matrix3DType Matrix3DType
Superclass::ModelOutputVectorType ModelOutputVectorType
DiffusionModelCompartmentType
itk::SmartPointer< Self > Pointer
Superclass::Vector3DType Vector3DType
bool GetTensorCompatible() ITK_OVERRIDE
itk::SmartPointer< Self > Pointer