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,
214 const unsigned int shapeLength)
const;
void CalculateDerivative(DerivativeType &derivative, const MeasureType &value, const VnlVectorType &differenceVector, const VnlVectorType ¢errotated, const VnlVectorType &eigrot, const unsigned int shapeLength) const