go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxStatisticalShapePenalty.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 #ifndef __elxStatisticalShapePenalty_H__
15 #define __elxStatisticalShapePenalty_H__
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
19 
20 #include "elxTimer.h"
21 #include <vnl/vnl_matrix.h>
22 #include <vnl/vnl_vector.h>
23 #include <vcl_iostream.h>
24 
25 namespace elastix
26 {
27 using namespace itk;
28 
55 template< class TElastix >
58  typename MetricBase< TElastix >::FixedPointSetType,
59  typename MetricBase< TElastix >::MovingPointSetType >,
60  public MetricBase< TElastix >
61 {
62 public:
63 
70  typedef SmartPointer< Self > Pointer;
71  typedef SmartPointer< const Self > ConstPointer;
72 
74  itkNewMacro( Self );
75 
77  itkTypeMacro( StatisticalShapePenalty,
79 
84  elxClassNameMacro( "StatisticalShapePenalty" );
85 
92 
93 // typedef typename Superclass1::FixedImageRegionType FixedImageRegionType;
100 // typedef typename Superclass1::RealType RealType;
108 
109  typedef typename OutputPointType::CoordRepType CoordRepType;
111 
113  typedef itk::Object ObjectType;
114  /*typedef itk::AdvancedTransform<
115  CoordRepType,
116  itkGetStaticConstMacro( FixedImageDimension ),
117  itkGetStaticConstMacro( MovingImageDimension ) > ITKBaseType;
118  */
120  itkGetStaticConstMacro( FixedImageDimension ) > CombinationTransformType;
121  typedef typename
123 
134 
136  itkStaticConstMacro( FixedImageDimension, unsigned int,
137  FixedImageType::ImageDimension );
138 
140  itkStaticConstMacro( MovingImageDimension, unsigned int,
141  MovingImageType::ImageDimension );
142 
148 
152 
156  virtual void Initialize( void ) throw ( ExceptionObject );
157 
162  virtual void BeforeRegistration( void );
163 
164  virtual void BeforeEachResolution( void );
165 
167  unsigned int ReadLandmarks(
168  const std::string & landmarkFileName,
169  typename PointSetType::Pointer & pointSet,
170  const typename ImageType::ConstPointer image );
171 
172  unsigned int ReadShape(
173  const std::string & ShapeFileName,
174  typename PointSetType::Pointer & pointSet,
175  const typename ImageType::ConstPointer image );
176 
178  virtual void SelectNewSamples( void ){}
179 
180 protected:
181 
186 
187 private:
188 
190  StatisticalShapePenalty( const Self & ); // purposely not implemented
192  void operator=( const Self & ); // purposely not implemented
193 
194 };
195 
196 } // end namespace elastix
197 
198 #ifndef ITK_MANUAL_INSTANTIATION
199 #include "elxStatisticalShapePenalty.hxx"
200 #endif
201 
202 #endif // end #ifndef __elxStatisticalShapePenalty_H__
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:84
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:87
Superclass::TransformJacobianType TransformJacobianType
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:85
Superclass1::CoordinateRepresentationType CoordinateRepresentationType
#define elxClassNameMacro(_name)
Definition: elxMacro.h:258
Superclass1::ParametersType ParametersType
Superclass1::MovingPointSetType MovingPointSetType
Superclass1::FixedImageMaskPointer FixedImageMaskPointer
Superclass1::FixedPointSetConstPointer FixedPointSetConstPointer
Computes the Mahalanobis distance between the transformed shape and a mean shape. A model mean and co...
Superclass1::DerivativeType DerivativeType
StatisticalShapePointPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType > Superclass1
CombinationTransformType::InitialTransformType InitialTransformType
Superclass2::RegistrationPointer RegistrationPointer
itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > FixedPointSetType
Superclass1::MovingImageMaskPointer MovingImageMaskPointer
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:91
SpatialObject< itkGetStaticConstMacro(MovingPointSetDimension) > MovingImageMaskType
itk::SmartPointer< Self > Pointer
Definition: elxTimer.h:73
A class to time the different parts of the registration.
Definition: elxTimer.h:66
Superclass::FixedPointSetType FixedPointSetType
Superclass1::TransformJacobianType TransformJacobianType
Superclass1::TransformType TransformType
Superclass1::MovingImageMaskType MovingImageMaskType
Superclass1::TransformPointer TransformPointer
SpatialObject< itkGetStaticConstMacro(FixedPointSetDimension) > FixedImageMaskType
Superclass1::InputPointType InputPointType
Superclass::MovingPointSetType MovingPointSetType
Superclass1::OutputPointType OutputPointType
Superclass2::FixedImageType FixedImageType
Superclass2::MovingImageType MovingImageType
Superclass2::ConfigurationPointer ConfigurationPointer
Superclass1::MovingPointSetConstPointer MovingPointSetConstPointer
Superclass::MovingPointSetConstPointer MovingPointSetConstPointer
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:80
Superclass2::ConfigurationType ConfigurationType
itk::SingleValuedCostFunction ITKBaseType
Definition: elxMetricBase.h:99
itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:94
Superclass1::FixedPointSetType FixedPointSetType
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:88
Superclass1::FixedImageMaskType FixedImageMaskType
An metric based on the itk::StatisticalShapePointPenalty.
Superclass::TransformParametersType TransformParametersType
Superclass2::ElastixPointer ElastixPointer
Superclass1::TransformParametersType TransformParametersType
Superclass::FixedPointSetConstPointer FixedPointSetConstPointer
Superclass2::RegistrationType RegistrationType
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:86
itk::AdvancedCombinationTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension) > CombinationTransformType
OutputPointType::CoordRepType CoordRepType
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:71


Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo