77 using typename Superclass::ParametersType;
81 using typename Superclass::MeasureType;
82 using typename Superclass::DerivativeType;
108 GetValue(
const ParametersType & parameters)
const override;
112 GetDerivative(
const ParametersType & parameters, DerivativeType & Derivative)
const override;
118 DerivativeType & Derivative)
const override;
121 itkSetClampMacro(ShrinkageIntensity, MeasureType, 0.0, 1.0);
122 itkGetConstMacro(ShrinkageIntensity, MeasureType);
124 itkSetMacro(ShrinkageIntensityNeedsUpdate,
bool);
125 itkBooleanMacro(ShrinkageIntensityNeedsUpdate);
128 itkSetClampMacro(BaseVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
129 itkGetConstMacro(BaseVariance, MeasureType);
131 itkSetMacro(BaseVarianceNeedsUpdate,
bool);
132 itkBooleanMacro(BaseVarianceNeedsUpdate);
134 itkSetClampMacro(CentroidXVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
135 itkGetConstMacro(CentroidXVariance, MeasureType);
137 itkSetClampMacro(CentroidYVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
138 itkGetConstMacro(CentroidYVariance, MeasureType);
140 itkSetClampMacro(CentroidZVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
141 itkGetConstMacro(CentroidZVariance, MeasureType);
143 itkSetClampMacro(SizeVariance, MeasureType, -1.0, NumericTraits<MeasureType>::max());
144 itkGetConstMacro(SizeVariance, MeasureType);
146 itkSetMacro(VariancesNeedsUpdate,
bool);
147 itkBooleanMacro(VariancesNeedsUpdate);
149 itkSetClampMacro(CutOffValue, MeasureType, 0.0, NumericTraits<MeasureType>::max());
150 itkGetConstMacro(CutOffValue, MeasureType);
152 itkSetClampMacro(CutOffSharpness,
154 NumericTraits<MeasureType>::NonpositiveMin(),
155 NumericTraits<MeasureType>::max());
156 itkGetConstMacro(CutOffSharpness, MeasureType);
158 itkSetMacro(ShapeModelCalculation,
int);
159 itkGetConstReferenceMacro(ShapeModelCalculation,
int);
161 itkSetMacro(NormalizedShapeModel,
bool);
162 itkGetConstReferenceMacro(NormalizedShapeModel,
bool);
163 itkBooleanMacro(NormalizedShapeModel);
165 itkSetConstObjectMacro(EigenVectors, vnl_matrix<double>);
166 itkSetConstObjectMacro(EigenValues, vnl_vector<double>);
167 itkSetConstObjectMacro(MeanVector, vnl_vector<double>);
169 itkSetConstObjectMacro(CovarianceMatrix, vnl_matrix<double>);
177 PrintSelf(std::ostream & os, Indent indent)
const override;
209 const MeasureType & value,
212 const unsigned int shapeLength)
const;