18#ifndef elxStatisticalShapePenalty_h
19#define elxStatisticalShapePenalty_h
24#include <vnl/vnl_matrix.h>
25#include <vnl/vnl_vector.h>
57template <
class TElastix>
60 typename MetricBase<TElastix>::MovingPointSetType>
105 using typename Superclass1::MeasureType;
106 using typename Superclass1::DerivativeType;
107 using typename Superclass1::ParametersType;
159 typename PointSetType::Pointer & pointSet,
160 const typename ImageType::ConstPointer image);
163 ReadShape(
const std::string & ShapeFileName,
typename PointSetType::Pointer & pointSet);
182#ifndef ITK_MANUAL_INSTANTIATION
183# include "elxStatisticalShapePenalty.hxx"
This class is the elastix base class for all Metrics.
itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > FixedPointSetType
itk::SingleValuedCostFunction ITKBaseType
typename ElastixType::FixedImageType FixedImageType
typename ElastixType::MovingImageType MovingImageType
typename ElastixType::RegistrationBaseType RegistrationType
An metric based on the itk::StatisticalShapePointPenalty.
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
FixedPointSetType PointSetType
void BeforeRegistration() override
elxClassNameMacro("StatisticalShapePenalty")
typename OutputPointType::CoordRepType CoordRepType
typename ElastixType::FixedImageType FixedImageType
void SelectNewSamples() override
typename Superclass2::ITKBaseType ITKBaseType
~StatisticalShapePenalty() override=default
typename CombinationTransformType::InitialTransformType InitialTransformType
void Initialize() override
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
SmartPointer< const Self > ConstPointer
void BeforeEachResolution() override
ITK_DISALLOW_COPY_AND_MOVE(StatisticalShapePenalty)
unsigned int ReadLandmarks(const std::string &landmarkFileName, typename PointSetType::Pointer &pointSet, const typename ImageType::ConstPointer image)
vnl_vector< CoordRepType > VnlVectorType
unsigned int ReadShape(const std::string &ShapeFileName, typename PointSetType::Pointer &pointSet)
StatisticalShapePenalty()=default
typename FixedImageMaskType::Pointer FixedImageMaskPointer
typename MovingImageMaskType::Pointer MovingImageMaskPointer
ImageMaskSpatialObject< Self::MovingPointSetDimension > MovingImageMaskType
Superclass::ParametersValueType CoordinateRepresentationType
ImageMaskSpatialObject< Self::FixedPointSetDimension > FixedImageMaskType
Computes the Mahalanobis distance between the transformed shape and a mean shape. A model mean and co...
typename TransformType::InputPointType InputPointType
typename TransformType::Pointer TransformPointer
typename MovingPointSetType::ConstPointer MovingPointSetConstPointer
typename FixedPointSetType::ConstPointer FixedPointSetConstPointer
TMovingPointSet MovingPointSetType
typename TransformType::ParametersType TransformParametersType
typename TransformType::JacobianType TransformJacobianType
TFixedPointSet FixedPointSetType
typename TransformType::OutputPointType OutputPointType