go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxBSplineStackTransform.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 __elxBSplineStackTransform_h
19 #define __elxBSplineStackTransform_h
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
22 
26 #include "itkStackTransform.h"
27 
31 
32 namespace elastix
33 {
34 
111 template< class TElastix >
113  public
115  typename elx::TransformBase< TElastix >::CoordRepType,
116  elx::TransformBase< TElastix >::FixedImageDimension >,
117  public
118  TransformBase< TElastix >
119 {
120 public:
121 
128  typedef itk::SmartPointer< Self > Pointer;
129  typedef itk::SmartPointer< const Self > ConstPointer;
130 
132  itkNewMacro( Self );
133 
136 
141  elxClassNameMacro( "BSplineStackTransform" );
142 
144  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
145  itkStaticConstMacro( ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1 );
146 
152  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
154 
158  itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionBSplineTransformBaseType;
160 
162  typedef itk::StackTransform<
164  itkGetStaticConstMacro( SpaceDimension ),
165  itkGetStaticConstMacro( SpaceDimension ) > BSplineStackTransformType;
167 
171  itkGetStaticConstMacro( ReducedSpaceDimension ),
175  itkGetStaticConstMacro( ReducedSpaceDimension ),
179  itkGetStaticConstMacro( ReducedSpaceDimension ),
181 
186 
197 
210 
212  typedef itk::Image< PixelType,
213  itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionImageType;
214  typedef itk::ImageRegion<
215  itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionRegionType;
216  typedef typename ReducedDimensionRegionType::SizeType ReducedDimensionSizeType;
217  typedef typename ReducedDimensionRegionType::IndexType ReducedDimensionIndexType;
218  typedef typename ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType;
219  typedef typename ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType;
220  typedef typename ReducedDimensionImageType::PointType ReducedDimensionOriginType;
221 
224  CoordRepType, ReducedSpaceDimension > GridScheduleComputerType;
226  typedef typename GridScheduleComputerType
231 
233  typedef std::vector< std::string > ParameterValueType;
234 
240  virtual int BeforeAll( void );
241 
255  virtual void BeforeRegistration( void );
256 
261  virtual void BeforeEachResolution( void );
262 
268  virtual void InitializeTransform( void );
269 
276  virtual void IncreaseScale( void );
277 
279  virtual void ReadFromFile( void );
280 
282  virtual void WriteToFile( const ParametersType & param ) const;
283 
285  virtual void SetOptimizerScales( const unsigned int edgeWidth );
286 
289  const ParametersType & param, ParameterMapType * paramsMap ) const;
290 
291 protected:
292 
295 
298 
300  virtual void PreComputeGridInformation( void );
301 
302 private:
303 
305  BSplineStackTransform( const Self & ); // purposely not implemented
306  void operator=( const Self & ); // purposely not implemented
307 
312 
316 
318  unsigned int m_SplineOrder;
319 
323 
326 
327 };
328 
329 } // end namespace elastix
330 
331 #ifndef ITK_MANUAL_INSTANTIATION
332 #include "elxBSplineStackTransform.hxx"
333 #endif
334 
335 #endif // end #ifndef __elxBSplineStackTransform_h
itk::GridScheduleComputer
This class computes all information about the B-spline grid, given the image information and the desi...
Definition: itkGridScheduleComputer.h:42
elastix::BSplineStackTransform::ReducedDimensionBSplineTransformBasePointer
ReducedDimensionBSplineTransformBaseType::Pointer ReducedDimensionBSplineTransformBasePointer
Definition: elxBSplineStackTransform.h:159
elastix::BSplineStackTransform::RegionType
BSplineTransformBaseType::RegionType RegionType
Definition: elxBSplineStackTransform.h:191
itkStackTransform.h
elastix::BSplineStackTransform::ITKBaseType
Superclass2::ITKBaseType ITKBaseType
Definition: elxBSplineStackTransform.h:208
elastix::BSplineStackTransform::GridScheduleComputerType
itk::GridScheduleComputer< CoordRepType, ReducedSpaceDimension > GridScheduleComputerType
Definition: elxBSplineStackTransform.h:224
elastix::BSplineStackTransform::GridScheduleComputerPointer
GridScheduleComputerType::Pointer GridScheduleComputerPointer
Definition: elxBSplineStackTransform.h:225
elastix::BSplineStackTransform::SpacingType
BSplineTransformBaseType::SpacingType SpacingType
Definition: elxBSplineStackTransform.h:194
elastix::BSplineStackTransform::m_StackSpacing
double m_StackSpacing
Definition: elxBSplineStackTransform.h:322
elastix::BSplineStackTransform::BeforeAll
virtual int BeforeAll(void)
elastix::BSplineStackTransform::ConfigurationType
Superclass2::ConfigurationType ConfigurationType
Definition: elxBSplineStackTransform.h:201
elastix::TransformBase::FixedImageType
ElastixType::FixedImageType FixedImageType
Definition: elxTransformBase.h:157
elastix::BSplineStackTransform::Superclass2
elx::TransformBase< TElastix > Superclass2
Definition: elxBSplineStackTransform.h:127
elastix::BSplineStackTransform::operator=
void operator=(const Self &)
SmartPointer< Self >
elastix::BSplineStackTransform::WriteToFile
virtual void WriteToFile(const ParametersType &param) const
elastix::BSplineStackTransform::GridScheduleType
GridScheduleComputerType ::VectorGridSpacingFactorType GridScheduleType
Definition: elxBSplineStackTransform.h:227
elastix::TransformBase::CoordRepType
ElastixType::CoordRepType CoordRepType
Definition: elxTransformBase.h:156
itk::AdvancedBSplineDeformableTransformBase::SpacingType
ImageType::SpacingType SpacingType
Definition: itkAdvancedBSplineDeformableTransformBase.h:191
elastix::TransformBase::RegistrationPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxTransformBase.h:153
elastix::BSplineStackTransform::BSplineTransformLinearType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 1 > BSplineTransformLinearType
Definition: elxBSplineStackTransform.h:172
itkAdvancedCombinationTransform.h
elastix::BSplineStackTransform::ElastixType
Superclass2::ElastixType ElastixType
Definition: elxBSplineStackTransform.h:199
elastix::BSplineStackTransform::FixedImageType
Superclass2::FixedImageType FixedImageType
Definition: elxBSplineStackTransform.h:206
elastix::BSplineStackTransform::BSplineTransformCubicType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 3 > BSplineTransformCubicType
Definition: elxBSplineStackTransform.h:180
itkUpsampleBSplineParametersFilter.h
elastix::BSplineStackTransform::ReducedDimensionImageType
itk::Image< PixelType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionImageType
Definition: elxBSplineStackTransform.h:213
elastix::BSplineStackTransform::BSplineTransformQuadraticType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 2 > BSplineTransformQuadraticType
Definition: elxBSplineStackTransform.h:176
itk::GridScheduleComputer::VectorGridSpacingFactorType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
Definition: itkGridScheduleComputer.h:76
itk::AdvancedBSplineDeformableTransform
Deformable transform using a B-spline representation.
Definition: itkAdvancedBSplineDeformableTransform.h:135
elastix::BSplineStackTransform::CreateTransformParametersMap
virtual void CreateTransformParametersMap(const ParametersType &param, ParameterMapType *paramsMap) const
elastix::BSplineStackTransform::ReducedDimensionIndexType
ReducedDimensionRegionType::IndexType ReducedDimensionIndexType
Definition: elxBSplineStackTransform.h:217
elastix::BSplineStackTransform::Pointer
itk::SmartPointer< Self > Pointer
Definition: elxBSplineStackTransform.h:128
Image
elastix::BSplineStackTransform::CoordRepType
Superclass2::CoordRepType CoordRepType
Definition: elxBSplineStackTransform.h:205
itkGridScheduleComputer.h
elastix::BSplineStackTransform::BeforeRegistration
virtual void BeforeRegistration(void)
elastix::BSplineStackTransform::BSplineTransformBasePointer
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
Definition: elxBSplineStackTransform.h:153
elastix::BSplineStackTransform::InitializeBSplineTransform
unsigned int InitializeBSplineTransform()
itk::AdvancedBSplineDeformableTransformBase::PixelType
ParametersType::ValueType PixelType
Definition: itkAdvancedBSplineDeformableTransformBase.h:164
ImageRegion< itkGetStaticConstMacro(SpaceDimension) >
itk::UpsampleBSplineParametersFilter
Convenience class for upsampling a B-spline coefficient image.
Definition: itkUpsampleBSplineParametersFilter.h:41
itk::AdvancedCombinationTransform::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAdvancedCombinationTransform.h:79
itk::AdvancedCombinationTransform
This class combines two transforms: an 'initial transform' with a 'current transform'.
Definition: itkAdvancedCombinationTransform.h:58
elastix::BSplineStackTransform::DirectionType
BSplineTransformBaseType::DirectionType DirectionType
Definition: elxBSplineStackTransform.h:196
elastix::BSplineStackTransform::BSplineStackTransform
BSplineStackTransform()
elastix::TransformBase::MovingImageType
ElastixType::MovingImageType MovingImageType
Definition: elxTransformBase.h:158
elastix::BSplineStackTransform::ReducedDimensionOriginType
ReducedDimensionImageType::PointType ReducedDimensionOriginType
Definition: elxBSplineStackTransform.h:220
elastix::TransformBase::ElastixType
Superclass::ElastixType ElastixType
Definition: elxTransformBase.h:141
elastix::BSplineStackTransform::ReducedDimensionDirectionType
ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType
Definition: elxBSplineStackTransform.h:219
itk::AdvancedBSplineDeformableTransformBase::OriginType
ImageType::PointType OriginType
Definition: itkAdvancedBSplineDeformableTransformBase.h:193
elastix::BSplineStackTransform::m_GridScheduleComputer
GridScheduleComputerPointer m_GridScheduleComputer
Definition: elxBSplineStackTransform.h:314
elastix::BSplineStackTransform::PreComputeGridInformation
virtual void PreComputeGridInformation(void)
elastix::BSplineStackTransform::RegistrationPointer
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxBSplineStackTransform.h:204
elastix::BSplineStackTransform::PixelType
BSplineTransformBaseType::PixelType PixelType
Definition: elxBSplineStackTransform.h:188
elastix::BSplineStackTransform::m_NumberOfSubTransforms
unsigned int m_NumberOfSubTransforms
Definition: elxBSplineStackTransform.h:321
elastix::BSplineStackTransform::BSplineStackTransformPointer
BSplineStackTransformType::Pointer BSplineStackTransformPointer
Definition: elxBSplineStackTransform.h:166
elastix::BSplineStackTransform::ImageType
BSplineTransformBaseType::ImageType ImageType
Definition: elxBSplineStackTransform.h:189
elastix::BSplineStackTransform::MovingImageType
Superclass2::MovingImageType MovingImageType
Definition: elxBSplineStackTransform.h:207
elastix::BSplineStackTransform::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: elxBSplineStackTransform.h:129
elastix::BSplineStackTransform::BSplineTransformBaseType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
Definition: elxBSplineStackTransform.h:152
elastix::BSplineStackTransform::ParameterMapType
Superclass2::ParameterMapType ParameterMapType
Definition: elxBSplineStackTransform.h:184
itk::AdvancedTransform
Transform maps points, vectors and covariant vectors from an input space to an output space.
Definition: itkAdvancedTransform.h:87
elastix::BSplineStackTransform::ConfigurationPointer
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxBSplineStackTransform.h:202
elastix::TransformBase::ElastixPointer
Superclass::ElastixPointer ElastixPointer
Definition: elxTransformBase.h:145
elastix::BSplineStackTransform
A B-spline transform based on the itkStackTransform.
Definition: elxBSplineStackTransform.h:119
elastix::BSplineStackTransform::m_GridUpsampler
GridUpsamplerPointer m_GridUpsampler
Definition: elxBSplineStackTransform.h:315
elastix::BSplineStackTransform::m_BSplineStackTransform
BSplineStackTransformPointer m_BSplineStackTransform
Definition: elxBSplineStackTransform.h:309
itk::StackTransform
Implements stack of transforms: one for every last dimension index.
Definition: itkStackTransform.h:42
elastix::BSplineStackTransform::elxClassNameMacro
elxClassNameMacro("BSplineStackTransform")
elastix::BSplineStackTransform::OriginType
BSplineTransformBaseType::OriginType OriginType
Definition: elxBSplineStackTransform.h:195
elastix::BSplineStackTransform::BSplineStackTransformType
itk::StackTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) > BSplineStackTransformType
Definition: elxBSplineStackTransform.h:165
elxIncludes.h
itk::AdvancedCombinationTransform::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedCombinationTransform.h:82
itk::AdvancedBSplineDeformableTransformBase::IndexType
RegionType::IndexType IndexType
Definition: itkAdvancedBSplineDeformableTransformBase.h:189
elastix::BSplineStackTransform::ElastixPointer
Superclass2::ElastixPointer ElastixPointer
Definition: elxBSplineStackTransform.h:200
elastix::BSplineStackTransform::m_BSplineDummySubTransform
ReducedDimensionBSplineTransformBasePointer m_BSplineDummySubTransform
Definition: elxBSplineStackTransform.h:311
elastix::BSplineStackTransform::IndexType
BSplineTransformBaseType::IndexType IndexType
Definition: elxBSplineStackTransform.h:192
elastix::BSplineStackTransform::ReducedDimensionRegionType
itk::ImageRegion< itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionRegionType
Definition: elxBSplineStackTransform.h:215
elastix::BSplineStackTransform::ReducedDimensionBSplineTransformBaseType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionBSplineTransformBaseType
Definition: elxBSplineStackTransform.h:158
elastix::BSplineStackTransform::itkStaticConstMacro
itkStaticConstMacro(ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1)
elastix::TransformBase::ConfigurationType
Superclass::ConfigurationType ConfigurationType
Definition: elxTransformBase.h:146
elastix::BSplineStackTransform::SetOptimizerScales
virtual void SetOptimizerScales(const unsigned int edgeWidth)
elastix::BSplineStackTransform::CombinationTransformType
Superclass2::CombinationTransformType CombinationTransformType
Definition: elxBSplineStackTransform.h:209
elastix::BSplineStackTransform::ReducedDimensionSizeType
ReducedDimensionRegionType::SizeType ReducedDimensionSizeType
Definition: elxBSplineStackTransform.h:216
elastix::BSplineStackTransform::Self
BSplineStackTransform Self
Definition: elxBSplineStackTransform.h:123
elastix::BSplineStackTransform::m_StackOrigin
double m_StackOrigin
Definition: elxBSplineStackTransform.h:322
elastix::BSplineStackTransform::NumberOfParametersType
Superclass1::NumberOfParametersType NumberOfParametersType
Definition: elxBSplineStackTransform.h:185
elastix::BSplineStackTransform::~BSplineStackTransform
virtual ~BSplineStackTransform()
Definition: elxBSplineStackTransform.h:297
elastix::BSplineStackTransform::BeforeEachResolution
virtual void BeforeEachResolution(void)
elastix::BSplineStackTransform::InitializeTransform
virtual void InitializeTransform(void)
elastix::TransformBase::ConfigurationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxTransformBase.h:147
elastix::BSplineStackTransform::SizeType
BSplineTransformBaseType::SizeType SizeType
Definition: elxBSplineStackTransform.h:193
elastix::BSplineStackTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
itk::AdvancedBSplineDeformableTransformBase
Base class for deformable transform using a B-spline representation.
Definition: itkAdvancedBSplineDeformableTransformBase.h:44
itk::AdvancedBSplineDeformableTransformBase::SizeType
RegionType::SizeType SizeType
Definition: itkAdvancedBSplineDeformableTransformBase.h:190
elastix::BSplineStackTransform::m_SplineOrder
unsigned int m_SplineOrder
Definition: elxBSplineStackTransform.h:318
elastix::BSplineStackTransform::BSplineStackTransform
BSplineStackTransform(const Self &)
elastix::BSplineStackTransform::Superclass1
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Definition: elxBSplineStackTransform.h:126
elastix::TransformBase::ParameterMapType
ElastixType::ParameterMapType ParameterMapType
Definition: elxTransformBase.h:207
elastix::BSplineStackTransform::ParametersType
Superclass1::ParametersType ParametersType
Definition: elxBSplineStackTransform.h:183
elastix::BSplineStackTransform::RegistrationType
Superclass2::RegistrationType RegistrationType
Definition: elxBSplineStackTransform.h:203
elastix::BSplineStackTransform::ReducedDimensionSpacingType
ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType
Definition: elxBSplineStackTransform.h:218
elastix::TransformBase
This class is the elastix base class for all Transforms.
Definition: elxTransformBase.h:133
elastix::BSplineStackTransform::GridUpsamplerPointer
GridUpsamplerType::Pointer GridUpsamplerPointer
Definition: elxBSplineStackTransform.h:230
elastix
Definition: elxFixedGenericPyramid.h:25
itk::AdvancedBSplineDeformableTransformBase::ImagePointer
ImageType::Pointer ImagePointer
Definition: itkAdvancedBSplineDeformableTransformBase.h:167
elastix::BSplineStackTransform::ReadFromFile
virtual void ReadFromFile(void)
elastix::BSplineStackTransform::ParameterValueType
std::vector< std::string > ParameterValueType
Definition: elxBSplineStackTransform.h:233
elastix::BSplineStackTransform::IncreaseScale
virtual void IncreaseScale(void)
elastix::BSplineStackTransform::GridUpsamplerType
itk::UpsampleBSplineParametersFilter< ParametersType, ReducedDimensionImageType > GridUpsamplerType
Definition: elxBSplineStackTransform.h:229
itk::AdvancedBSplineDeformableTransformBase::DirectionType
ImageType::DirectionType DirectionType
Definition: itkAdvancedBSplineDeformableTransformBase.h:192
itkAdvancedBSplineDeformableTransform.h
elastix::BSplineStackTransform::ImagePointer
BSplineTransformBaseType::ImagePointer ImagePointer
Definition: elxBSplineStackTransform.h:190
elastix::TransformBase::RegistrationType
Superclass::RegistrationType RegistrationType
Definition: elxTransformBase.h:152


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo