go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMissingStructurePenalty.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 __elxMissingStructurePenalty_H__
19 #define __elxMissingStructurePenalty_H__
20 
21 #include "elxIncludes.h"
23 
24 #include "itkMeshFileReader.h"
25 #include "itkMeshFileWriter.h"
26 
27 namespace elastix
28 {
29 
53 template< class TElastix >
55  public
57  typename MetricBase< TElastix >::FixedPointSetType,
58  typename MetricBase< TElastix >::MovingPointSetType >,
59  public MetricBase< TElastix >
60 {
61 public:
62 
69  typedef itk::SmartPointer< Self > Pointer;
70  typedef itk::SmartPointer< const Self > ConstPointer;
71 
73  itkNewMacro( Self );
74 
76  itkTypeMacro( MissingStructurePenalty,
78 
83  elxClassNameMacro( "MissingStructurePenalty" );
84 
89 
100 
101  // typedef typename Superclass1::FixedImageRegionType FixedImageRegionType;
108  // typedef typename Superclass1::RealType RealType;
116 
117  typedef typename OutputPointType::CoordRepType CoordRepType;
118 
121  typedef itk::Object ObjectType;
122 
124  itkGetStaticConstMacro( FixedImageDimension ) > CombinationTransformType;
125  typedef typename
127 
138 
140  itkStaticConstMacro( FixedImageDimension, unsigned int,
141  FixedImageType::ImageDimension );
142  itkStaticConstMacro( MovingImageDimension, unsigned int,
143  MovingImageType::ImageDimension );
144 
148  typedef FixedPointSetType PointSetType;
149  typedef FixedMeshType MeshType;
150  typedef FixedImageType ImageType;
151 
155  virtual void Initialize( void ) throw ( itk::ExceptionObject );
156 
161  virtual int BeforeAllBase( void );
162 
163  virtual void BeforeRegistration( void );
164 
165  virtual void AfterEachIteration( void );
166 
167  virtual void AfterEachResolution( void );
168 
170  unsigned int ReadMesh(
171  const std::string & meshFileName,
172  typename FixedMeshType::Pointer & mesh );
173 
174  void WriteResultMesh( const char * filename, MeshIdType meshId );
175 
176  unsigned int ReadTransformixPoints( const std::string & filename, typename MeshType::Pointer & mesh );
177 
179  virtual void SelectNewSamples( void ){}
180 
181 protected:
182 
187 
188 private:
189 
191  MissingStructurePenalty( const Self & ); // purposely not implemented
193  void operator=( const Self & ); // purposely not implemented
194 
195  unsigned int m_NumberOfMeshes;
196 }; // end class MissingStructurePenalty
197 
198 } // end namespace elastix
199 
200 #ifndef ITK_MANUAL_INSTANTIATION
201 #include "elxMissingStructurePenalty.hxx"
202 #endif
203 
204 #endif // end #ifndef __elxMissingStructurePenalty_H__
205 
Superclass1::FixedMeshPointer FixedMeshPointer
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:86
Superclass::TransformPointer TransformPointer
Superclass::TransformJacobianType TransformJacobianType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:89
Superclass1::DerivativeType DerivativeType
Superclass1::FixedImageMaskType FixedImageMaskType
Superclass1::TransformJacobianType TransformJacobianType
virtual void BeforeRegistration(void)
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:87
Superclass1::ParametersType ParametersType
Superclass1::MappedMeshContainerType MappedMeshContainerType
Superclass1::FixedPointSetConstPointer FixedPointSetConstPointer
Superclass2::MovingImageType MovingImageType
VectorContainer< MeshIdType, FixedMeshPointer > MappedMeshContainerType
Mesh< DummyMeshPixelType, FixedPointSetDimension, MeshTraitsType > FixedMeshType
Superclass::DerivativeType DerivativeType
Superclass1::FixedImageMaskPointer FixedImageMaskPointer
itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > FixedPointSetType
Superclass2::RegistrationType RegistrationType
itk::MissingVolumeMeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType > Superclass1
itk::AdvancedCombinationTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension) > CombinationTransformType
Superclass1::FixedPointSetType FixedPointSetType
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:93
SpatialObject< itkGetStaticConstMacro(MovingPointSetDimension) > MovingImageMaskType
VectorContainer< MeshIdType, FixedMeshConstPointer > FixedMeshContainerType
Superclass1::FixedMeshConstPointer FixedMeshConstPointer
MeshTraitsType::CellType::CellInterface CellInterfaceType
MappedMeshContainerType::Pointer MappedMeshContainerPointer
Superclass1::OutputPointType OutputPointType
Superclass1::MovingImageMaskType MovingImageMaskType
Superclass2::RegistrationPointer RegistrationPointer
FixedMeshContainerType::Pointer FixedMeshContainerPointer
Superclass1::FixedMeshContainerType FixedMeshContainerType
Superclass1::MovingImageMaskPointer MovingImageMaskPointer
CombinationTransformType::InitialTransformType InitialTransformType
unsigned int ReadMesh(const std::string &meshFileName, typename FixedMeshType::Pointer &mesh)
SpatialObject< itkGetStaticConstMacro(FixedPointSetDimension) > FixedImageMaskType
virtual void AfterEachResolution(void)
Superclass::TransformParametersType TransformParametersType
Superclass2::ConfigurationPointer ConfigurationPointer
Superclass2::ElastixPointer ElastixPointer
unsigned int ReadTransformixPoints(const std::string &filename, typename MeshType::Pointer &mesh)
Superclass::TransformType TransformType
FixedMeshType::ConstPointer FixedMeshConstPointer
OutputPointType::CoordRepType CoordRepType
Superclass1::InputPointType InputPointType
virtual void AfterEachIteration(void)
Superclass1::MovingPointSetType MovingPointSetType
Superclass::InputPointType InputPointType
Superclass2::ConfigurationType ConfigurationType
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:82
itk::SingleValuedCostFunction ITKBaseType
itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
Superclass1::MovingPointSetConstPointer MovingPointSetConstPointer
void WriteResultMesh(const char *filename, MeshIdType meshId)
Superclass1::FixedMeshContainerPointer FixedMeshContainerPointer
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:96
Superclass::OutputPointType OutputPointType
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:90
Superclass1::CoordinateRepresentationType CoordinateRepresentationType
elxClassNameMacro("MissingStructurePenalty")
itk::SmartPointer< const Self > ConstPointer
Superclass1::CellInterfaceType CellInterfaceType
Superclass1::FixedMeshType FixedMeshType
Superclass2::FixedImageType FixedImageType
Superclass1::TransformPointer TransformPointer
Superclass1::TransformParametersType TransformParametersType
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:88
Superclass1::MappedMeshContainerPointer MappedMeshContainerPointer
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:73
Computes the (pseudo) volume of the transformed surface mesh of a structure. .


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo