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{};