81 using typename Superclass::MeasureType;
82 using typename Superclass::DerivativeType;
119 DerivativeType & Derivative)
const override;
122 itkSetClampMacro(ShrinkageIntensity, MeasureType, 0.0, 1.0);
123 itkGetConstMacro(ShrinkageIntensity, MeasureType);
125 itkSetMacro(ShrinkageIntensityNeedsUpdate,
bool);
126 itkBooleanMacro(ShrinkageIntensityNeedsUpdate);
129 itkSetClampMacro(BaseVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
130 itkGetConstMacro(BaseVariance, MeasureType);
132 itkSetMacro(BaseVarianceNeedsUpdate,
bool);
133 itkBooleanMacro(BaseVarianceNeedsUpdate);
135 itkSetClampMacro(CentroidXVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
136 itkGetConstMacro(CentroidXVariance, MeasureType);
138 itkSetClampMacro(CentroidYVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
139 itkGetConstMacro(CentroidYVariance, MeasureType);
141 itkSetClampMacro(CentroidZVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
142 itkGetConstMacro(CentroidZVariance, MeasureType);
144 itkSetClampMacro(SizeVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
145 itkGetConstMacro(SizeVariance, MeasureType);
147 itkSetMacro(VariancesNeedsUpdate,
bool);
148 itkBooleanMacro(VariancesNeedsUpdate);
150 itkSetClampMacro(CutOffValue, MeasureType, 0.0, NumericTraits<MeasureType>::max());
151 itkGetConstMacro(CutOffValue, MeasureType);
153 itkSetClampMacro(CutOffSharpness,
155 NumericTraits<MeasureType>::NonpositiveMin(),
156 NumericTraits<MeasureType>::max());
157 itkGetConstMacro(CutOffSharpness, MeasureType);
159 itkSetMacro(ShapeModelCalculation,
int);
160 itkGetConstReferenceMacro(ShapeModelCalculation,
int);
162 itkSetMacro(NormalizedShapeModel,
bool);
163 itkGetConstReferenceMacro(NormalizedShapeModel,
bool);
164 itkBooleanMacro(NormalizedShapeModel);
166 itkSetConstObjectMacro(EigenVectors, vnl_matrix<double>);
167 itkSetConstObjectMacro(EigenValues, vnl_vector<double>);
168 itkSetConstObjectMacro(MeanVector, vnl_vector<double>);
170 itkSetConstObjectMacro(CovarianceMatrix, vnl_matrix<double>);
178 PrintSelf(std::ostream & os, Indent indent)
const override;
210 const MeasureType & value,
213 const unsigned int shapeLength)
const;
228 double m_CentroidXVariance{};
229 double m_CentroidXStd{};
230 double m_CentroidYVariance{};
231 double m_CentroidYStd{};
232 double m_CentroidZVariance{};
233 double m_CentroidZStd{};
234 double m_SizeVariance{};
237 bool m_ShrinkageIntensityNeedsUpdate{};
238 bool m_BaseVarianceNeedsUpdate{};
239 bool m_VariancesNeedsUpdate{};
244 unsigned int m_ProposalLength{};
245 bool m_NormalizedShapeModel{};
246 int m_ShapeModelCalculation{};
247 double m_ShrinkageIntensity{};
248 double m_BaseVariance{};
253 double m_CutOffValue{};
254 double m_CutOffSharpness{};