go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxAdvancedBSplineTransform.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 __elxAdvancedBSplineTransform_h
19 #define __elxAdvancedBSplineTransform_h
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
24 
29 
30 namespace elastix
31 {
108 template< class TElastix >
110  public
112  typename elx::TransformBase< TElastix >::CoordRepType,
113  elx::TransformBase< TElastix >::FixedImageDimension >,
114  public
115  TransformBase< TElastix >
116 {
117 public:
118 
125  typedef itk::SmartPointer< Self > Pointer;
126  typedef itk::SmartPointer< const Self > ConstPointer;
127 
129  itkNewMacro( Self );
130 
133 
138  elxClassNameMacro( "BSplineTransform" );
139 
141  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
142 
147  typename elx::TransformBase< TElastix >::CoordRepType,
148  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
150 
153  typename elx::TransformBase< TElastix >::CoordRepType,
154  itkGetStaticConstMacro( SpaceDimension ),
157  typename elx::TransformBase< TElastix >::CoordRepType,
158  itkGetStaticConstMacro( SpaceDimension ),
161  typename elx::TransformBase< TElastix >::CoordRepType,
162  itkGetStaticConstMacro( SpaceDimension ),
165  typename elx::TransformBase< TElastix >::CoordRepType,
166  itkGetStaticConstMacro( SpaceDimension ),
169  typename elx::TransformBase< TElastix >::CoordRepType,
170  itkGetStaticConstMacro( SpaceDimension ),
173  typename elx::TransformBase< TElastix >::CoordRepType,
174  itkGetStaticConstMacro( SpaceDimension ),
176 
190 
201  typedef typename
203  typedef typename
205 
218 
225  typedef typename GridScheduleComputerType
230 
233 
238  virtual int BeforeAll( void );
239 
251  virtual void BeforeRegistration( void );
252 
257  virtual void BeforeEachResolution( void );
258 
264  virtual void InitializeTransform( void );
265 
271  virtual void IncreaseScale( void );
272 
274  virtual void ReadFromFile( void );
275 
277  virtual void WriteToFile( const ParametersType & param ) const;
278 
283  virtual void CreateTransformParametersMap(
284  const ParametersType & param, ParameterMapType * paramsMap ) const;
285 
287  virtual void SetOptimizerScales( const unsigned int edgeWidth );
288 
289 protected:
290 
293 
296 
298  virtual void PreComputeGridInformation( void );
299 
300 private:
301 
303  AdvancedBSplineTransform( const Self & ); // purposely not implemented
305  void operator=( const Self & ); // purposely not implemented
306 
308  BSplineTransformBasePointer m_BSplineTransform;
309  GridScheduleComputerPointer m_GridScheduleComputer;
310  GridUpsamplerPointer m_GridUpsampler;
311 
313  unsigned int m_SplineOrder;
314  bool m_Cyclic;
315 
317  unsigned int InitializeBSplineTransform();
318 
319 };
320 
321 } // end namespace elastix
322 
323 #ifndef ITK_MANUAL_INSTANTIATION
324 #include "elxAdvancedBSplineTransform.hxx"
325 #endif
326 
327 #endif // end #ifndef __elxAdvancedBSplineTransform_h
unsigned int InitializeBSplineTransform()
This class combines two transforms: an &#39;initial transform&#39; with a &#39;current transform&#39;.
virtual void PreComputeGridInformation(void)
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass1::InputVnlVectorType InputVnlVectorType
Superclass::RegistrationPointer RegistrationPointer
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Deformable transform using a B-spline representation.
BSplineTransformBaseType::ImagePointer ImagePointer
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
BSplineTransformBaseType::SizeType SizeType
virtual void SetOptimizerScales(const unsigned int edgeWidth)
GridUpsamplerType::Pointer GridUpsamplerPointer
virtual void WriteToFile(void) const
ElastixType::ParameterMapType ParameterMapType
Superclass1::OutputVectorType OutputVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
Superclass2::RegistrationPointer RegistrationPointer
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
GridScheduleComputerPointer m_GridScheduleComputer
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
Superclass1::OutputVnlVectorType OutputVnlVectorType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > BSplineTransformCubicType
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
elx::TransformBase< TElastix > Superclass2
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
virtual void CreateTransformParametersMap(const ParametersType &param, ParameterMapType *paramsMap) const
BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
BSplineTransformBaseType::ImageType ImageType
BSplineTransformBasePointer m_BSplineTransform
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > CyclicBSplineTransformCubicType
BSplineTransformBaseType::PixelType PixelType
ElastixType::FixedImageType FixedImageType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > CyclicBSplineTransformQuadraticType
BSplineTransformBaseType::DirectionType DirectionType
Superclass1::InputVectorType InputVectorType
Deformable transform using a B-spline representation in which the B-spline grid is formulated in a cy...
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...
BSplineTransformBaseType::SpacingType SpacingType
Superclass2::ConfigurationPointer ConfigurationPointer
GridScheduleComputerType::Pointer GridScheduleComputerPointer
BSplineTransformBaseType::IndexType IndexType
Superclass2::ParameterMapType ParameterMapType
virtual void InitializeTransform(void)
Superclass1::OutputPointType OutputPointType
ElastixType::MovingImageType MovingImageType
Superclass2::ConfigurationType ConfigurationType
Superclass::ElastixPointer ElastixPointer
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationType RegistrationType
Superclass1::NumberOfParametersType NumberOfParametersType
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
This class computes all information about the B-spline grid.
itk::CyclicGridScheduleComputer< CoordRepType, SpaceDimension > CyclicGridScheduleComputerType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Superclass2::MovingImageType MovingImageType
virtual void BeforeRegistration(void)
Superclass::NumberOfParametersType NumberOfParametersType
ContinuousIndex< ScalarType, SpaceDimension > ContinuousIndexType
itk::SmartPointer< const Self > ConstPointer
This class is the elastix base class for all Transforms.
A transform based on the itkAdvancedBSplineTransform.
BSplineTransformBaseType::RegionType RegionType
Superclass::ConfigurationType ConfigurationType
Superclass::OutputVnlVectorType OutputVnlVectorType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > BSplineTransformLinearType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > CyclicBSplineTransformLinearType
BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
Convenience class for upsampling a B-spline coefficient image.
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::InputVnlVectorType InputVnlVectorType
Superclass2::CombinationTransformType CombinationTransformType
Base class for deformable transform using a B-spline representation.
Superclass2::RegistrationType RegistrationType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > BSplineTransformQuadraticType
elxClassNameMacro("BSplineTransform")
virtual void IncreaseScale(void)
virtual void BeforeEachResolution(void)
BSplineTransformBaseType::OriginType OriginType
GridScheduleComputerType ::VectorGridSpacingFactorType GridScheduleType
itk::GridScheduleComputer< CoordRepType, SpaceDimension > GridScheduleComputerType


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.13 elastix logo