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  * 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 __elxMultiBSplineTransformWithNormal_h
19 #define __elxMultiBSplineTransformWithNormal_h
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
25 
28 
29 namespace elastix
30 {
31 
89 template< class TElastix >
91  public
93  typename elx::TransformBase< TElastix >::CoordRepType,
94  elx::TransformBase< TElastix >::FixedImageDimension >,
95  public
96  TransformBase< TElastix >
97 {
98 public:
99 
106  typedef itk::SmartPointer< Self > Pointer;
107  typedef itk::SmartPointer< const Self > ConstPointer;
108 
110  itkNewMacro( Self );
111 
114 
119  elxClassNameMacro( "MultiBSplineTransformWithNormal" );
120 
122  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
123 
129  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
131 
135  itkGetStaticConstMacro( SpaceDimension ),
139  itkGetStaticConstMacro( SpaceDimension ),
143  itkGetStaticConstMacro( SpaceDimension ),
145 
159 
170  typedef typename
172  typedef typename
174 
187 
192  typedef typename GridScheduleComputerType
197 
199  typedef itk::Image< unsigned char,
200  itkGetStaticConstMacro( SpaceDimension ) > ImageLabelType;
201  typedef typename ImageLabelType::Pointer ImageLabelPointer;
202 
207  virtual int BeforeAll( void );
208 
220  virtual void BeforeRegistration( void );
221 
226  virtual void BeforeEachResolution( void );
227 
233  virtual void InitializeTransform( void );
234 
240  virtual void IncreaseScale( void );
241 
243  virtual void ReadFromFile( void );
244 
246  virtual void WriteToFile( const ParametersType & param ) const;
247 
249  virtual void SetOptimizerScales( const unsigned int edgeWidth );
250 
251 protected:
252 
255 
258 
260  virtual void PreComputeGridInformation( void );
261 
262 private:
263 
265  MultiBSplineTransformWithNormal( const Self & ); // purposely not implemented
267  void operator=( const Self & ); // purposely not implemented
268 
274  std::string m_LabelsPath;
275 
277  unsigned int m_SplineOrder;
278 
281 
282 };
283 
284 } // end namespace elastix
285 
286 #ifndef ITK_MANUAL_INSTANTIATION
287 #include "elxMultiBSplineTransformWithNormal.hxx"
288 #endif
289 
290 #endif // end #ifndef __elxMultiBSplineTransformWithNormal_h
elastix::MultiBSplineTransformWithNormal::Self
MultiBSplineTransformWithNormal Self
Definition: elxMultiBSplineTransformWithNormal.h:101
elastix::MultiBSplineTransformWithNormal::GridScheduleType
GridScheduleComputerType ::VectorGridSpacingFactorType GridScheduleType
Definition: elxMultiBSplineTransformWithNormal.h:193
itk::AdvancedCombinationTransform::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAdvancedCombinationTransform.h:84
elastix::MultiBSplineTransformWithNormal::GridScheduleComputerType
itk::GridScheduleComputer< CoordRepType, SpaceDimension > GridScheduleComputerType
Definition: elxMultiBSplineTransformWithNormal.h:190
elastix::MultiBSplineTransformWithNormal::m_LabelsPath
std::string m_LabelsPath
Definition: elxMultiBSplineTransformWithNormal.h:274
itk::GridScheduleComputer
This class computes all information about the B-spline grid, given the image information and the desi...
Definition: itkGridScheduleComputer.h:42
elastix::MultiBSplineTransformWithNormal::BeforeAll
virtual int BeforeAll(void)
elastix::MultiBSplineTransformWithNormal::GridUpsamplerPointer
GridUpsamplerType::Pointer GridUpsamplerPointer
Definition: elxMultiBSplineTransformWithNormal.h:196
elastix::MultiBSplineTransformWithNormal::OutputVnlVectorType
Superclass1::OutputVnlVectorType OutputVnlVectorType
Definition: elxMultiBSplineTransformWithNormal.h:156
elastix::MultiBSplineTransformWithNormal::m_Labels
ImageLabelPointer m_Labels
Definition: elxMultiBSplineTransformWithNormal.h:273
elastix::MultiBSplineTransformWithNormal::CoordRepType
Superclass2::CoordRepType CoordRepType
Definition: elxMultiBSplineTransformWithNormal.h:182
itk::AdvancedCombinationTransform::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAdvancedCombinationTransform.h:88
elastix::MultiBSplineTransformWithNormal::ImageType
BSplineTransformBaseType::ImageType ImageType
Definition: elxMultiBSplineTransformWithNormal.h:162
elastix::MultiBSplineTransformWithNormal::~MultiBSplineTransformWithNormal
virtual ~MultiBSplineTransformWithNormal()
Definition: elxMultiBSplineTransformWithNormal.h:257
elastix::MultiBSplineTransformWithNormal::ScalarType
Superclass1::ScalarType ScalarType
Definition: elxMultiBSplineTransformWithNormal.h:147
elastix::MultiBSplineTransformWithNormal::BSplineTransformBasePointer
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
Definition: elxMultiBSplineTransformWithNormal.h:130
elastix::TransformBase::FixedImageType
ElastixType::FixedImageType FixedImageType
Definition: elxTransformBase.h:157
elastix::MultiBSplineTransformWithNormal::SpacingType
BSplineTransformBaseType::SpacingType SpacingType
Definition: elxMultiBSplineTransformWithNormal.h:167
SmartPointer< Self >
elastix::MultiBSplineTransformWithNormal::GridUpsamplerType
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
Definition: elxMultiBSplineTransformWithNormal.h:195
elastix::TransformBase::CoordRepType
ElastixType::CoordRepType CoordRepType
Definition: elxTransformBase.h:156
elastix::MultiBSplineTransformWithNormal::Superclass1
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Definition: elxMultiBSplineTransformWithNormal.h:104
itk::AdvancedBSplineDeformableTransformBase::SpacingType
ImageType::SpacingType SpacingType
Definition: itkAdvancedBSplineDeformableTransformBase.h:191
elastix::TransformBase::RegistrationPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxTransformBase.h:153
elastix::MultiBSplineTransformWithNormal
A transform based on the itkMultiBSplineDeformableTransformWithNormal.
Definition: elxMultiBSplineTransformWithNormal.h:97
itkAdvancedCombinationTransform.h
elastix::MultiBSplineTransformWithNormal::ConfigurationPointer
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxMultiBSplineTransformWithNormal.h:179
elastix::MultiBSplineTransformWithNormal::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
itkUpsampleBSplineParametersFilter.h
itk::AdvancedBSplineDeformableTransformBase::ParameterIndexArrayType
Array< unsigned long > ParameterIndexArrayType
Definition: itkAdvancedBSplineDeformableTransformBase.h:218
ContinuousIndex< ScalarType, SpaceDimension >
elastix::MultiBSplineTransformWithNormal::ImageLabelPointer
ImageLabelType::Pointer ImageLabelPointer
Definition: elxMultiBSplineTransformWithNormal.h:201
itk::GridScheduleComputer::VectorGridSpacingFactorType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
Definition: itkGridScheduleComputer.h:76
Image
elastix::MultiBSplineTransformWithNormal::PreComputeGridInformation
virtual void PreComputeGridInformation(void)
elastix::MultiBSplineTransformWithNormal::RegistrationPointer
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxMultiBSplineTransformWithNormal.h:181
elastix::MultiBSplineTransformWithNormal::SetOptimizerScales
virtual void SetOptimizerScales(const unsigned int edgeWidth)
itkGridScheduleComputer.h
itk::AdvancedCombinationTransform::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAdvancedCombinationTransform.h:86
elastix::MultiBSplineTransformWithNormal::InitializeBSplineTransform
unsigned int InitializeBSplineTransform()
elastix::MultiBSplineTransformWithNormal::JacobianType
Superclass1::JacobianType JacobianType
Definition: elxMultiBSplineTransformWithNormal.h:150
elastix::MultiBSplineTransformWithNormal::InitializeTransform
virtual void InitializeTransform(void)
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
elastix::MultiBSplineTransformWithNormal::MultiBSplineTransformWithNormalLinearType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > MultiBSplineTransformWithNormalLinearType
Definition: elxMultiBSplineTransformWithNormal.h:136
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::MultiBSplineTransformWithNormal::BeforeEachResolution
virtual void BeforeEachResolution(void)
elastix::TransformBase::MovingImageType
ElastixType::MovingImageType MovingImageType
Definition: elxTransformBase.h:158
elastix::MultiBSplineTransformWithNormal::MultiBSplineTransformWithNormal
MultiBSplineTransformWithNormal()
itk::AdvancedCombinationTransform::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAdvancedCombinationTransform.h:78
itk::MultiBSplineDeformableTransformWithNormal
This transform is a composition of B-spline transformations, allowing sliding motion between differen...
Definition: itkAdvancedBSplineDeformableTransform.h:49
elastix::TransformBase::ElastixType
Superclass::ElastixType ElastixType
Definition: elxTransformBase.h:141
elastix::MultiBSplineTransformWithNormal::elxClassNameMacro
elxClassNameMacro("MultiBSplineTransformWithNormal")
elastix::MultiBSplineTransformWithNormal::NumberOfParametersType
Superclass1::NumberOfParametersType NumberOfParametersType
Definition: elxMultiBSplineTransformWithNormal.h:149
elastix::MultiBSplineTransformWithNormal::m_MultiBSplineTransformWithNormal
MultiBSplineTransformWithNormalCubicType::Pointer m_MultiBSplineTransformWithNormal
Definition: elxMultiBSplineTransformWithNormal.h:270
itk::AdvancedBSplineDeformableTransformBase::OriginType
ImageType::PointType OriginType
Definition: itkAdvancedBSplineDeformableTransformBase.h:193
elastix::MultiBSplineTransformWithNormal::IndexType
BSplineTransformBaseType::IndexType IndexType
Definition: elxMultiBSplineTransformWithNormal.h:165
itk::AdvancedCombinationTransform::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAdvancedCombinationTransform.h:92
elastix::MultiBSplineTransformWithNormal::InputVnlVectorType
Superclass1::InputVnlVectorType InputVnlVectorType
Definition: elxMultiBSplineTransformWithNormal.h:155
elastix::MultiBSplineTransformWithNormal::ElastixPointer
Superclass2::ElastixPointer ElastixPointer
Definition: elxMultiBSplineTransformWithNormal.h:177
elastix::MultiBSplineTransformWithNormal::ContinuousIndexType
BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
Definition: elxMultiBSplineTransformWithNormal.h:171
itk::AdvancedTransform
Transform maps points, vectors and covariant vectors from an input space to an output space.
Definition: itkAdvancedTransform.h:87
elastix::MultiBSplineTransformWithNormal::m_GridUpsampler
GridUpsamplerPointer m_GridUpsampler
Definition: elxMultiBSplineTransformWithNormal.h:272
elastix::MultiBSplineTransformWithNormal::InputVectorType
Superclass1::InputVectorType InputVectorType
Definition: elxMultiBSplineTransformWithNormal.h:151
elastix::TransformBase::ElastixPointer
Superclass::ElastixPointer ElastixPointer
Definition: elxTransformBase.h:145
elastix::MultiBSplineTransformWithNormal::MultiBSplineTransformWithNormalCubicType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > MultiBSplineTransformWithNormalCubicType
Definition: elxMultiBSplineTransformWithNormal.h:144
itk::AdvancedCombinationTransform::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAdvancedCombinationTransform.h:90
elastix::MultiBSplineTransformWithNormal::Superclass2
elx::TransformBase< TElastix > Superclass2
Definition: elxMultiBSplineTransformWithNormal.h:105
itk::AdvancedCombinationTransform::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAdvancedCombinationTransform.h:85
elastix::MultiBSplineTransformWithNormal::PixelType
BSplineTransformBaseType::PixelType PixelType
Definition: elxMultiBSplineTransformWithNormal.h:161
elastix::MultiBSplineTransformWithNormal::IncreaseScale
virtual void IncreaseScale(void)
elastix::MultiBSplineTransformWithNormal::FixedImageType
Superclass2::FixedImageType FixedImageType
Definition: elxMultiBSplineTransformWithNormal.h:183
elastix::MultiBSplineTransformWithNormal::CombinationTransformType
Superclass2::CombinationTransformType CombinationTransformType
Definition: elxMultiBSplineTransformWithNormal.h:186
elastix::MultiBSplineTransformWithNormal::WriteToFile
virtual void WriteToFile(const ParametersType &param) const
elastix::MultiBSplineTransformWithNormal::ITKBaseType
Superclass2::ITKBaseType ITKBaseType
Definition: elxMultiBSplineTransformWithNormal.h:185
elastix::MultiBSplineTransformWithNormal::RegionType
BSplineTransformBaseType::RegionType RegionType
Definition: elxMultiBSplineTransformWithNormal.h:164
elastix::MultiBSplineTransformWithNormal::GridScheduleComputerPointer
GridScheduleComputerType::Pointer GridScheduleComputerPointer
Definition: elxMultiBSplineTransformWithNormal.h:191
elastix::MultiBSplineTransformWithNormal::DirectionType
BSplineTransformBaseType::DirectionType DirectionType
Definition: elxMultiBSplineTransformWithNormal.h:169
elxIncludes.h
elastix::MultiBSplineTransformWithNormal::ParametersType
Superclass1::ParametersType ParametersType
Definition: elxMultiBSplineTransformWithNormal.h:148
itk::AdvancedCombinationTransform::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAdvancedCombinationTransform.h:89
itk::AdvancedCombinationTransform::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedCombinationTransform.h:82
elastix::MultiBSplineTransformWithNormal::BeforeRegistration
virtual void BeforeRegistration(void)
itk::AdvancedBSplineDeformableTransformBase::IndexType
RegionType::IndexType IndexType
Definition: itkAdvancedBSplineDeformableTransformBase.h:189
elastix::MultiBSplineTransformWithNormal::RegistrationType
Superclass2::RegistrationType RegistrationType
Definition: elxMultiBSplineTransformWithNormal.h:180
elastix::MultiBSplineTransformWithNormal::ParameterIndexArrayType
BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
Definition: elxMultiBSplineTransformWithNormal.h:173
elastix::MultiBSplineTransformWithNormal::OutputVectorType
Superclass1::OutputVectorType OutputVectorType
Definition: elxMultiBSplineTransformWithNormal.h:152
itkMultiBSplineDeformableTransformWithNormal.h
elastix::MultiBSplineTransformWithNormal::SizeType
BSplineTransformBaseType::SizeType SizeType
Definition: elxMultiBSplineTransformWithNormal.h:166
elastix::MultiBSplineTransformWithNormal::InputCovariantVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
Definition: elxMultiBSplineTransformWithNormal.h:153
itk::AdvancedCombinationTransform::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedCombinationTransform.h:91
elastix::TransformBase::ConfigurationType
Superclass::ConfigurationType ConfigurationType
Definition: elxTransformBase.h:146
elastix::MultiBSplineTransformWithNormal::ElastixType
Superclass2::ElastixType ElastixType
Definition: elxMultiBSplineTransformWithNormal.h:176
elastix::MultiBSplineTransformWithNormal::MultiBSplineTransformWithNormal
MultiBSplineTransformWithNormal(const Self &)
elastix::MultiBSplineTransformWithNormal::MovingImageType
Superclass2::MovingImageType MovingImageType
Definition: elxMultiBSplineTransformWithNormal.h:184
elastix::MultiBSplineTransformWithNormal::OutputCovariantVectorType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
Definition: elxMultiBSplineTransformWithNormal.h:154
elastix::MultiBSplineTransformWithNormal::BSplineTransformBaseType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
Definition: elxMultiBSplineTransformWithNormal.h:129
itk::AdvancedCombinationTransform::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition: itkAdvancedCombinationTransform.h:87
elastix::TransformBase::ConfigurationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxTransformBase.h:147
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::MultiBSplineTransformWithNormal::MultiBSplineTransformWithNormalQuadraticType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > MultiBSplineTransformWithNormalQuadraticType
Definition: elxMultiBSplineTransformWithNormal.h:140
elastix::MultiBSplineTransformWithNormal::ReadFromFile
virtual void ReadFromFile(void)
elastix::MultiBSplineTransformWithNormal::Pointer
itk::SmartPointer< Self > Pointer
Definition: elxMultiBSplineTransformWithNormal.h:106
elastix::MultiBSplineTransformWithNormal::OutputPointType
Superclass1::OutputPointType OutputPointType
Definition: elxMultiBSplineTransformWithNormal.h:158
elastix::MultiBSplineTransformWithNormal::ImagePointer
BSplineTransformBaseType::ImagePointer ImagePointer
Definition: elxMultiBSplineTransformWithNormal.h:163
elastix::MultiBSplineTransformWithNormal::InputPointType
Superclass1::InputPointType InputPointType
Definition: elxMultiBSplineTransformWithNormal.h:157
elastix::MultiBSplineTransformWithNormal::m_SplineOrder
unsigned int m_SplineOrder
Definition: elxMultiBSplineTransformWithNormal.h:277
elastix::TransformBase
This class is the elastix base class for all Transforms.
Definition: elxTransformBase.h:133
elastix::MultiBSplineTransformWithNormal::ImageLabelType
itk::Image< unsigned char, itkGetStaticConstMacro(SpaceDimension) > ImageLabelType
Definition: elxMultiBSplineTransformWithNormal.h:200
elastix
Definition: elxFixedGenericPyramid.h:25
itk::AdvancedBSplineDeformableTransformBase::ImagePointer
ImageType::Pointer ImagePointer
Definition: itkAdvancedBSplineDeformableTransformBase.h:167
elastix::MultiBSplineTransformWithNormal::operator=
void operator=(const Self &)
elastix::MultiBSplineTransformWithNormal::m_GridScheduleComputer
GridScheduleComputerPointer m_GridScheduleComputer
Definition: elxMultiBSplineTransformWithNormal.h:271
itk::AdvancedBSplineDeformableTransformBase::DirectionType
ImageType::DirectionType DirectionType
Definition: itkAdvancedBSplineDeformableTransformBase.h:192
elastix::MultiBSplineTransformWithNormal::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: elxMultiBSplineTransformWithNormal.h:107
elastix::MultiBSplineTransformWithNormal::OriginType
BSplineTransformBaseType::OriginType OriginType
Definition: elxMultiBSplineTransformWithNormal.h:168
itkAdvancedBSplineDeformableTransform.h
elastix::MultiBSplineTransformWithNormal::ConfigurationType
Superclass2::ConfigurationType ConfigurationType
Definition: elxMultiBSplineTransformWithNormal.h:178
elastix::TransformBase::RegistrationType
Superclass::RegistrationType RegistrationType
Definition: elxTransformBase.h:152


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo