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  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __elxStatisticalShapePenalty_H__
19 #define __elxStatisticalShapePenalty_H__
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
23 
24 #include <vnl/vnl_matrix.h>
25 #include <vnl/vnl_vector.h>
26 
27 namespace elastix
28 {
29 using namespace itk;
30 
57 template< class TElastix >
60  typename MetricBase< TElastix >::FixedPointSetType,
61  typename MetricBase< TElastix >::MovingPointSetType >,
62  public MetricBase< TElastix >
63 {
64 public:
65 
72  typedef SmartPointer< Self > Pointer;
73  typedef SmartPointer< const Self > ConstPointer;
74 
76  itkNewMacro( Self );
77 
79  itkTypeMacro( StatisticalShapePenalty,
81 
86  elxClassNameMacro( "StatisticalShapePenalty" );
87 
94 
95 // typedef typename Superclass1::FixedImageRegionType FixedImageRegionType;
102 // typedef typename Superclass1::RealType RealType;
110 
111  typedef typename OutputPointType::CoordRepType CoordRepType;
112  typedef vnl_vector< CoordRepType > VnlVectorType;
113 
115  typedef itk::Object ObjectType;
116  /*typedef itk::AdvancedTransform<
117  CoordRepType,
118  itkGetStaticConstMacro( FixedImageDimension ),
119  itkGetStaticConstMacro( MovingImageDimension ) > ITKBaseType;
120  */
122  itkGetStaticConstMacro( FixedImageDimension ) > CombinationTransformType;
123  typedef typename
125 
136 
138  itkStaticConstMacro( FixedImageDimension, unsigned int,
139  FixedImageType::ImageDimension );
140 
142  itkStaticConstMacro( MovingImageDimension, unsigned int,
143  MovingImageType::ImageDimension );
144 
150 
154  void Initialize( void ) override;
155 
160  void BeforeRegistration( void ) override;
161 
162  void BeforeEachResolution( void ) override;
163 
165  unsigned int ReadLandmarks(
166  const std::string & landmarkFileName,
167  typename PointSetType::Pointer & pointSet,
168  const typename ImageType::ConstPointer image );
169 
170  unsigned int ReadShape(
171  const std::string & ShapeFileName,
172  typename PointSetType::Pointer & pointSet,
173  const typename ImageType::ConstPointer image );
174 
176  void SelectNewSamples( void ) override{}
177 
178 protected:
179 
184 
185 private:
186 
188  StatisticalShapePenalty( const Self & ); // purposely not implemented
190  void operator=( const Self & ); // purposely not implemented
191 
192 };
193 
194 } // end namespace elastix
195 
196 #ifndef ITK_MANUAL_INSTANTIATION
197 #include "elxStatisticalShapePenalty.hxx"
198 #endif
199 
200 #endif // end #ifndef __elxStatisticalShapePenalty_H__
A class that deals with user given parameters and command line arguments.
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:73
itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
itk::SingleValuedCostFunction ITKBaseType
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:89
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:81
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:95
itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > FixedPointSetType
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:92
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:87
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:88
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:85
An metric based on the itk::StatisticalShapePointPenalty.
Superclass2::RegistrationType RegistrationType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass2::MovingImageType MovingImageType
Superclass1::MovingPointSetType MovingPointSetType
Superclass2::ConfigurationType ConfigurationType
StatisticalShapePointPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType > Superclass1
itk::AdvancedCombinationTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension) > CombinationTransformType
Superclass1::MovingPointSetConstPointer MovingPointSetConstPointer
void BeforeRegistration(void) override
Superclass1::OutputPointType OutputPointType
elxClassNameMacro("StatisticalShapePenalty")
Superclass2::ElastixPointer ElastixPointer
Superclass1::FixedPointSetType FixedPointSetType
Superclass1::MovingImageMaskPointer MovingImageMaskPointer
Superclass1::DerivativeType DerivativeType
Superclass2::RegistrationPointer RegistrationPointer
Superclass1::FixedImageMaskPointer FixedImageMaskPointer
Superclass1::TransformJacobianType TransformJacobianType
Superclass1::MovingImageMaskType MovingImageMaskType
Superclass1::FixedPointSetConstPointer FixedPointSetConstPointer
Superclass1::TransformPointer TransformPointer
unsigned int ReadShape(const std::string &ShapeFileName, typename PointSetType::Pointer &pointSet, const typename ImageType::ConstPointer image)
void BeforeEachResolution(void) override
void Initialize(void) override
Superclass1::InputPointType InputPointType
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass1::FixedImageMaskType FixedImageMaskType
Superclass1::ParametersType ParametersType
Superclass2::ConfigurationPointer ConfigurationPointer
OutputPointType::CoordRepType CoordRepType
Superclass2::FixedImageType FixedImageType
Superclass1::TransformType TransformType
unsigned int ReadLandmarks(const std::string &landmarkFileName, typename PointSetType::Pointer &pointSet, const typename ImageType::ConstPointer image)
Superclass1::CoordinateRepresentationType CoordinateRepresentationType
Superclass1::TransformParametersType TransformParametersType
CombinationTransformType::InitialTransformType InitialTransformType
This class combines two transforms: an 'initial transform' with a 'current transform'.
SpatialObject< itkGetStaticConstMacro(MovingPointSetDimension) > MovingImageMaskType
SpatialObject< itkGetStaticConstMacro(FixedPointSetDimension) > FixedImageMaskType
Computes the Mahalanobis distance between the transformed shape and a mean shape. A model mean and co...
Superclass::MovingPointSetConstPointer MovingPointSetConstPointer
Superclass::FixedPointSetType FixedPointSetType
Superclass::TransformParametersType TransformParametersType
Superclass::TransformJacobianType TransformJacobianType
Superclass::MovingPointSetType MovingPointSetType
Superclass::FixedPointSetConstPointer FixedPointSetConstPointer


Generated on 1652341256 for elastix by doxygen 1.9.1 elastix logo