#include <elxStatisticalShapePenalty.h>
An metric based on the itk::StatisticalShapePointPenalty.
The parameters used in this class are:
Metric: Select this metric as follows:
(Metric "StatisticalShapePenalty")
ShrinkageIntensity: The mixing ratio ($\beta$) of the provided covariance matrix and an identity matrix. $\Sigma' = (1-\beta)\Sigma + \beta \sigma_0^2 I$ Can be defined for each resolution
example: (ShrinkageIntensity 0.2)
BaseVariance: The width ($\sigma_0^2$) of the non-informative prior. Can be defined for each resolution
example: (BaseVariance 1000.0)
Definition at line 58 of file elxStatisticalShapePenalty.h.

Public Types | |
| using | CombinationTransformType = itk::AdvancedCombinationTransform<CoordinateType, Self::FixedImageDimension> |
| using | ConstPointer = SmartPointer<const Self> |
| using | CoordinateType = typename OutputPointType::CoordinateType |
| using | FixedImageType |
| using | ImageType = FixedImageType |
| using | InitialTransformType = typename CombinationTransformType::InitialTransformType |
| using | ITKBaseType = typename Superclass2::ITKBaseType |
| using | MovingImageType |
| using | Pointer = SmartPointer<Self> |
| using | PointSetType = FixedPointSetType |
| using | Self = StatisticalShapePenalty |
| using | Superclass1 |
| using | Superclass2 = MetricBase<TElastix> |
| using | VnlVectorType = vnl_vector<CoordinateType> |
| Public Types inherited from itk::StatisticalShapePointPenalty< TFixedPointSet, TMovingPointSet > | |
| using | ConstPointer = SmartPointer<const Self> |
| using | CoordinateType = typename OutputPointType::CoordinateType |
| using | DerivativeValueType |
| using | FixedPointSetConstPointer |
| using | FixedPointSetType |
| using | InputPointType |
| using | MovingPointSetConstPointer |
| using | MovingPointSetType |
| using | NonZeroJacobianIndicesType |
| using | OutputPointType |
| using | PCACovarianceType = vnl_svd_economy<CoordinateType> |
| using | Pointer = SmartPointer<Self> |
| using | PointIterator |
| using | ProposalDerivativeType = typename std::vector<VnlVectorType *> |
| using | Self = StatisticalShapePointPenalty |
| using | Superclass = SingleValuedPointSetToPointSetMetric<TFixedPointSet, TMovingPointSet> |
| using | TransformJacobianType |
| using | TransformPointer |
| using | TransformType |
| using | VnlMatrixType = vnl_matrix<CoordinateType> |
| using | VnlVectorType = vnl_vector<CoordinateType> |
| Public Types inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet > | |
| using | ConstPointer = SmartPointer<const Self> |
| using | CoordinateRepresentationType = Superclass::ParametersValueType |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| using | FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer |
| using | FixedImageMaskPointer = typename FixedImageMaskType::Pointer |
| using | FixedImageMaskType = ImageMaskSpatialObject<Self::FixedPointSetDimension> |
| using | FixedPointSetConstPointer = typename FixedPointSetType::ConstPointer |
| using | FixedPointSetType = TFixedPointSet |
| using | InputPointType = typename TransformType::InputPointType |
| using | MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer |
| using | MovingImageMaskPointer = typename MovingImageMaskType::Pointer |
| using | MovingImageMaskType = ImageMaskSpatialObject<Self::MovingPointSetDimension> |
| using | MovingPointSetConstPointer = typename MovingPointSetType::ConstPointer |
| using | MovingPointSetType = TMovingPointSet |
| using | NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType |
| using | OutputPointType = typename TransformType::OutputPointType |
| using | Pointer = SmartPointer<Self> |
| using | PointIterator = typename FixedPointSetType::PointsContainer::ConstIterator |
| using | Self = SingleValuedPointSetToPointSetMetric |
| using | Superclass = SingleValuedCostFunction |
| using | TransformJacobianType = typename TransformType::JacobianType |
| using | TransformParametersType = typename TransformType::ParametersType |
| using | TransformPointer = typename TransformType::Pointer |
| using | TransformType |
| Public Types inherited from elastix::MetricBase< TElastix > | |
| using | AdvancedMetricType = itk::AdvancedImageToImageMetric<FixedImageType, MovingImageType> |
| using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType |
| using | ElastixType |
| using | FixedImageType = typename ElastixType::FixedImageType |
| using | FixedPointSetType |
| using | FixedPointType = typename FixedImageType::PointType |
| using | FixedPointValueType = typename FixedPointType::ValueType |
| using | ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType |
| using | ITKBaseType = itk::SingleValuedCostFunction |
| using | MeasureType = typename ITKBaseType::MeasureType |
| using | MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType |
| using | MovingImageType = typename ElastixType::MovingImageType |
| using | MovingPointSetType |
| using | MovingPointType = typename MovingImageType::PointType |
| using | MovingPointValueType = typename MovingPointType::ValueType |
| using | RegistrationType |
| using | Self = MetricBase |
| using | Superclass = BaseComponentSE<TElastix> |
| Public Types inherited from elastix::BaseComponentSE< TElastix > | |
| using | ElastixType = TElastix |
| using | RegistrationType = typename ElastixType::RegistrationBaseType |
| using | Self = BaseComponentSE |
| using | Superclass = BaseComponent |
Public Member Functions | |
| void | BeforeEachResolution () override |
| void | BeforeRegistration () override |
| elxClassNameMacro ("StatisticalShapePenalty") | |
| void | Initialize () override |
| ITK_DISALLOW_COPY_AND_MOVE (StatisticalShapePenalty) | |
| itkOverrideGetNameOfClassMacro (StatisticalShapePenalty) | |
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) | |
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) | |
| unsigned int | ReadShape (const std::string &ShapeFileName, typename PointSetType::Pointer &pointSet) |
| void | SelectNewSamples () override |
| Public Member Functions inherited from itk::StatisticalShapePointPenalty< TFixedPointSet, TMovingPointSet > | |
| virtual void | BaseVarianceNeedsUpdateOff () |
| virtual void | BaseVarianceNeedsUpdateOn () |
| virtual MeasureType | GetBaseVariance () const |
| virtual MeasureType | GetCentroidXVariance () const |
| virtual MeasureType | GetCentroidYVariance () const |
| virtual MeasureType | GetCentroidZVariance () const |
| virtual MeasureType | GetCutOffSharpness () const |
| virtual MeasureType | GetCutOffValue () const |
| void | GetDerivative (const ParametersType ¶meters, DerivativeType &Derivative) const override |
| virtual const bool & | GetNormalizedShapeModel () |
| virtual const int & | GetShapeModelCalculation () |
| virtual MeasureType | GetShrinkageIntensity () const |
| virtual MeasureType | GetSizeVariance () const |
| MeasureType | GetValue (const ParametersType ¶meters) const override |
| void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override |
| void | Initialize () override |
| ITK_DISALLOW_COPY_AND_MOVE (StatisticalShapePointPenalty) | |
| itkOverrideGetNameOfClassMacro (StatisticalShapePointPenalty) | |
| virtual void | NormalizedShapeModelOff () |
| virtual void | NormalizedShapeModelOn () |
| virtual void | SetBaseVariance (MeasureType _arg) |
| virtual void | SetBaseVarianceNeedsUpdate (bool _arg) |
| virtual void | SetCentroidXVariance (MeasureType _arg) |
| virtual void | SetCentroidYVariance (MeasureType _arg) |
| virtual void | SetCentroidZVariance (MeasureType _arg) |
| virtual void | SetCovarianceMatrix (const vnl_matrix< double > *_arg) |
| virtual void | SetCutOffSharpness (MeasureType _arg) |
| virtual void | SetCutOffValue (MeasureType _arg) |
| virtual void | SetEigenValues (const vnl_vector< double > *_arg) |
| virtual void | SetEigenVectors (const vnl_matrix< double > *_arg) |
| virtual void | SetMeanVector (const vnl_vector< double > *_arg) |
| virtual void | SetNormalizedShapeModel (bool _arg) |
| virtual void | SetShapeModelCalculation (int _arg) |
| virtual void | SetShrinkageIntensity (MeasureType _arg) |
| virtual void | SetShrinkageIntensityNeedsUpdate (bool _arg) |
| virtual void | SetSizeVariance (MeasureType _arg) |
| virtual void | SetVariancesNeedsUpdate (bool _arg) |
| virtual void | ShrinkageIntensityNeedsUpdateOff () |
| virtual void | ShrinkageIntensityNeedsUpdateOn () |
| virtual void | VariancesNeedsUpdateOff () |
| virtual void | VariancesNeedsUpdateOn () |
| Public Member Functions inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet > | |
| virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
| virtual const FixedImageMaskType * | GetFixedImageMask () |
| virtual const FixedPointSetType * | GetFixedPointSet () |
| virtual const MovingImageMaskType * | GetMovingImageMask () |
| virtual const MovingPointSetType * | GetMovingPointSet () |
| unsigned int | GetNumberOfParameters () const override |
| virtual const TransformType * | GetTransform () |
| virtual const bool & | GetUseMetricSingleThreaded () |
| ITK_DISALLOW_COPY_AND_MOVE (SingleValuedPointSetToPointSetMetric) | |
| itkOverrideGetNameOfClassMacro (SingleValuedPointSetToPointSetMetric) | |
| itkStaticConstMacro (FixedPointSetDimension, unsigned int, TFixedPointSet::PointDimension) | |
| itkStaticConstMacro (MovingPointSetDimension, unsigned int, TMovingPointSet::PointDimension) | |
| virtual void | SetFixedImageMask (const FixedImageMaskType *_arg) |
| virtual void | SetFixedPointSet (const FixedPointSetType *_arg) |
| virtual void | SetMovingImageMask (const MovingImageMaskType *_arg) |
| virtual void | SetMovingPointSet (const MovingPointSetType *_arg) |
| virtual void | SetTransform (TransformType *_arg) |
| void | SetTransformParameters (const ParametersType ¶meters) const |
| virtual void | SetUseMetricSingleThreaded (bool _arg) |
| virtual void | UseMetricSingleThreadedOff () |
| virtual void | UseMetricSingleThreadedOn () |
| Public Member Functions inherited from elastix::MetricBase< TElastix > | |
| void | AfterEachIterationBase () override |
| void | BeforeEachResolutionBase () override |
| void | BeforeRegistrationBase () override |
| virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const |
| virtual bool | GetAdvancedMetricUseImageSampler () const |
| ITKBaseType * | GetAsITKBaseType () |
| const ITKBaseType * | GetAsITKBaseType () const |
| virtual MeasureType | GetCurrentExactMetricValue () const |
| virtual bool | GetShowExactMetricValue () const |
| ITK_DISALLOW_COPY_AND_MOVE (MetricBase) | |
| itkOverrideGetNameOfClassMacro (MetricBase) | |
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) | |
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) | |
| virtual void | SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler) |
| Public Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
| void | AddTargetCellToIterationInfo (const char *const name) |
| const Configuration * | GetConfiguration () const |
| ElastixType * | GetElastix () const |
| auto & | GetIterationInfoAt (const char *const name) |
| itk::Statistics::MersenneTwisterRandomVariateGenerator & | GetRandomVariateGenerator () |
| RegistrationType * | GetRegistration () const |
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) | |
| void | RemoveTargetCellFromIterationInfo (const char *const name) |
| void | SetConfiguration (const Configuration *_arg) |
| void | SetElastix (ElastixType *_arg) |
| Public Member Functions inherited from elastix::BaseComponent | |
| virtual void | AfterEachIteration () |
| virtual void | AfterEachResolution () |
| virtual void | AfterEachResolutionBase () |
| virtual void | AfterRegistration () |
| virtual void | AfterRegistrationBase () |
| virtual int | BeforeAll () |
| virtual int | BeforeAllBase () |
| virtual const char * | elxGetClassName () const |
| const char * | GetComponentLabel () const |
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponent) | |
| itkVirtualGetNameOfClassMacro (BaseComponent) | |
| void | SetComponentLabel (const char *label, unsigned int idx) |
Static Public Member Functions | |
| static Pointer | New () |
| Static Public Member Functions inherited from itk::StatisticalShapePointPenalty< TFixedPointSet, TMovingPointSet > | |
| static Pointer | New () |
| Static Public Member Functions inherited from elastix::BaseComponent | |
| template<typename TBaseComponent> | |
| static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType()) |
| static void | InitializeElastixExecutable () |
| static bool | IsElastixLibrary () |
Protected Member Functions | |
| StatisticalShapePenalty ()=default | |
| ~StatisticalShapePenalty () override=default | |
| Protected Member Functions inherited from itk::StatisticalShapePointPenalty< TFixedPointSet, TMovingPointSet > | |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| StatisticalShapePointPenalty () | |
| ~StatisticalShapePointPenalty () override | |
| Protected Member Functions inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet > | |
| const auto & | GetFixedPoints () const |
| const auto & | GetMovingPoints () const |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| SingleValuedPointSetToPointSetMetric ()=default | |
| ~SingleValuedPointSetToPointSetMetric () override=default | |
| Protected Member Functions inherited from elastix::MetricBase< TElastix > | |
| virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
| MetricBase ()=default | |
| ~MetricBase () override=default | |
| Protected Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
| BaseComponentSE ()=default | |
| ~BaseComponentSE () override=default | |
| Protected Member Functions inherited from elastix::BaseComponent | |
| BaseComponent ()=default | |
| virtual | ~BaseComponent ()=default |
Private Attributes | |
| elxOverrideGetSelfMacro | |
| using elastix::StatisticalShapePenalty< TElastix >::CombinationTransformType = itk::AdvancedCombinationTransform<CoordinateType, Self::FixedImageDimension> |
Other typedef's.
Definition at line 117 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::ConstPointer = SmartPointer<const Self> |
Definition at line 72 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::CoordinateType = typename OutputPointType::CoordinateType |
Definition at line 108 of file elxStatisticalShapePenalty.h.
| using elastix::MetricBase< TElastix >::FixedImageType |
Other typedef's.
Definition at line 94 of file elxMetricBase.h.
| using elastix::StatisticalShapePenalty< TElastix >::ImageType = FixedImageType |
Definition at line 137 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::InitialTransformType = typename CombinationTransformType::InitialTransformType |
Definition at line 118 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 123 of file elxStatisticalShapePenalty.h.
| using elastix::MetricBase< TElastix >::MovingImageType |
Definition at line 97 of file elxMetricBase.h.
| using elastix::StatisticalShapePenalty< TElastix >::Pointer = SmartPointer<Self> |
Definition at line 71 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::PointSetType = FixedPointSetType |
Assuming fixed and moving pointsets are of equal type, which implicitly assumes that the fixed and moving image are of the same type.
Definition at line 136 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::Self = StatisticalShapePenalty |
Standard ITK-stuff.
Definition at line 67 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::Superclass1 |
Definition at line 68 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::Superclass2 = MetricBase<TElastix> |
Definition at line 70 of file elxStatisticalShapePenalty.h.
| using elastix::StatisticalShapePenalty< TElastix >::VnlVectorType = vnl_vector<CoordinateType> |
Definition at line 109 of file elxStatisticalShapePenalty.h.
|
protecteddefault |
The constructor.
|
overrideprotecteddefault |
The destructor.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Do some things before registration:
Reimplemented from elastix::BaseComponent.
| elastix::StatisticalShapePenalty< TElastix >::elxClassNameMacro | ( | "StatisticalShapePenalty< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific metric.
example: (Metric "StatisticalShapePenalty")
|
overridevirtual |
Sets up a timer to measure the initialization time and calls the Superclass' implementation.
Reimplemented from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >.
| elastix::StatisticalShapePenalty< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | StatisticalShapePenalty< TElastix > | ) |
| elastix::StatisticalShapePenalty< TElastix >::itkOverrideGetNameOfClassMacro | ( | StatisticalShapePenalty< TElastix > | ) |
Run-time type information (and related methods).
| elastix::StatisticalShapePenalty< TElastix >::itkStaticConstMacro | ( | FixedImageDimension | , |
| unsigned int | , | ||
| FixedImageType::ImageDimension | ) |
The fixed image dimension.
| elastix::StatisticalShapePenalty< TElastix >::itkStaticConstMacro | ( | MovingImageDimension | , |
| unsigned int | , | ||
| MovingImageType::ImageDimension | ) |
The moving image dimension.
|
static |
Method for creation through the object factory.
| unsigned int elastix::StatisticalShapePenalty< TElastix >::ReadShape | ( | const std::string & | ShapeFileName, |
| typename PointSetType::Pointer & | pointSet ) |
|
inlineoverridevirtual |
Overwrite to silence warning.
Reimplemented from elastix::MetricBase< TElastix >.
Definition at line 160 of file elxStatisticalShapePenalty.h.
|
private |
Definition at line 170 of file elxStatisticalShapePenalty.h.
Generated on 26-02-2026
for elastix by 1.16.1 (669aeeefca743c148e2d935b3d3c69535c7491e6) |