go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMultiBSplineTransformWithNormal.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 __elxMultiBSplineTransformWithNormal_h
15 #define __elxMultiBSplineTransformWithNormal_h
16 
20 
23 
24 #include "elxIncludes.h"
25 
26 
27 namespace elastix
28 {
29 
85 template < class TElastix >
87  : public
89  typename elx::TransformBase<TElastix>::CoordRepType,
90  elx::TransformBase<TElastix>::FixedImageDimension > ,
91  public
92  TransformBase<TElastix>
93 {
94 public:
95 
102  typedef itk::SmartPointer<Self> Pointer;
103  typedef itk::SmartPointer<const Self> ConstPointer;
104 
106  itkNewMacro( Self );
107 
110 
115  elxClassNameMacro( "MultiBSplineTransformWithNormal" );
116 
118  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
119 
125  itkGetStaticConstMacro( SpaceDimension )> BSplineTransformBaseType;
127 
131  itkGetStaticConstMacro( SpaceDimension ),
135  itkGetStaticConstMacro( SpaceDimension ),
139  itkGetStaticConstMacro( SpaceDimension ),
141 
155 
166  typedef typename
168  typedef typename
170 
183 
188  typedef typename GridScheduleComputerType
193 
195  typedef itk::Image<unsigned char,
196  itkGetStaticConstMacro( SpaceDimension )> ImageLabelType;
197  typedef typename ImageLabelType::Pointer ImageLabelPointer;
198 
203  virtual int BeforeAll( void );
204 
216  virtual void BeforeRegistration( void );
217 
222  virtual void BeforeEachResolution( void );
223 
229  virtual void InitializeTransform( void );
230 
236  virtual void IncreaseScale( void );
237 
239  virtual void ReadFromFile( void );
240 
242  virtual void WriteToFile( const ParametersType & param ) const;
243 
245  virtual void SetOptimizerScales( const unsigned int edgeWidth );
246 
247 protected:
248 
251 
254 
256  virtual void PreComputeGridInformation( void );
257 
258 private:
259 
261  MultiBSplineTransformWithNormal( const Self& ); // purposely not implemented
263  void operator=( const Self& ); // purposely not implemented
264 
270  std::string m_LabelsPath;
271 
273  unsigned int m_SplineOrder;
274 
276  unsigned int InitializeBSplineTransform();
277 
278 }; // end class AdvancedBSplineTransform
279 
280 
281 
282 
283 } // end namespace elastix
284 
285 #ifndef ITK_MANUAL_INSTANTIATION
286 #include "elxMultiBSplineTransformWithNormal.hxx"
287 #endif
288 
289 #endif // end #ifndef __elxMultiBSplineTransformWithNormal_h
290 
This class combines two transforms: an &#39;initial transform&#39; with a &#39;current transform&#39;.
BSplineTransformBaseType::ImagePointer ImagePointer
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass::RegistrationPointer RegistrationPointer
elxClassNameMacro("MultiBSplineTransformWithNormal")
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Image< PixelType, itkGetStaticConstMacro(SpaceDimension)> ImageType
A transform based on the itkMultiBSplineDeformableTransformWithNormal.
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
Superclass1::NumberOfParametersType NumberOfParametersType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
Superclass2::CombinationTransformType CombinationTransformType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
GridScheduleComputerType::VectorGridSpacingFactorType GridScheduleType
MultiBSplineTransformWithNormalCubicType::Pointer m_MultiBSplineTransformWithNormal
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > MultiBSplineTransformWithNormalQuadraticType
BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > MultiBSplineTransformWithNormalCubicType
itk::Image< unsigned char, itkGetStaticConstMacro(SpaceDimension)> ImageLabelType
ElastixType::FixedImageType FixedImageType
BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
virtual void WriteToFile(void) const
virtual void SetOptimizerScales(const unsigned int edgeWidth)
This class computes all information about the B-spline grid, given the image information and the desi...
Superclass::ElastixType ElastixType
Transform maps points, vectors and covariant vectors from an input space to an output space...
GridScheduleComputerType::Pointer GridScheduleComputerPointer
Superclass1::InputCovariantVectorType InputCovariantVectorType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension)> BSplineTransformBaseType
ElastixType::MovingImageType MovingImageType
This transform is a composition of B-spline transformations, allowing sliding motion between differen...
Superclass::ElastixPointer ElastixPointer
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationType RegistrationType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > MultiBSplineTransformWithNormalLinearType
Superclass::NumberOfParametersType NumberOfParametersType
This class is the elastix base class for all Transforms.
Superclass::ConfigurationType ConfigurationType
Superclass::OutputVnlVectorType OutputVnlVectorType
Convenience class for upsampling a B-spline coefficient image.
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::InputVnlVectorType InputVnlVectorType
ContinuousIndex< ScalarType, SpaceDimension > ContinuousIndexType
itk::GridScheduleComputer< CoordRepType, SpaceDimension > GridScheduleComputerType
Base class for deformable transform using a B-spline representation.
BSplineTransformBaseType::DirectionType DirectionType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType


Generated on 05-01-2014 for elastix by doxygen 1.8.5 elastix logo