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 
128  typename elx::TransformBase< TElastix >::CoordRepType,
129  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
131 
134  typename elx::TransformBase< TElastix >::CoordRepType,
135  itkGetStaticConstMacro( SpaceDimension ),
138  typename elx::TransformBase< TElastix >::CoordRepType,
139  itkGetStaticConstMacro( SpaceDimension ),
142  typename elx::TransformBase< TElastix >::CoordRepType,
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 
271  GridScheduleComputerPointer m_GridScheduleComputer;
272  GridUpsamplerPointer m_GridUpsampler;
273  ImageLabelPointer m_Labels;
274  std::string m_LabelsPath;
275 
277  unsigned int m_SplineOrder;
278 
280  unsigned int InitializeBSplineTransform();
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
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
itk::Image< unsigned char, itkGetStaticConstMacro(SpaceDimension) > ImageLabelType
A transform based on the itkMultiBSplineDeformableTransformWithNormal.
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
Superclass1::NumberOfParametersType NumberOfParametersType
virtual void WriteToFile(void) const
ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
Superclass2::CombinationTransformType CombinationTransformType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
GridScheduleComputerType ::VectorGridSpacingFactorType GridScheduleType
MultiBSplineTransformWithNormalCubicType::Pointer m_MultiBSplineTransformWithNormal
BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
ElastixType::FixedImageType FixedImageType
BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
virtual void SetOptimizerScales(const unsigned int edgeWidth)
This class computes all information about the B-spline grid, given the image information and the desi...
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Superclass::ElastixType ElastixType
Transform maps points, vectors and covariant vectors from an input space to an output space...
GridScheduleComputerType::Pointer GridScheduleComputerPointer
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > MultiBSplineTransformWithNormalQuadraticType
Superclass1::InputCovariantVectorType InputCovariantVectorType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > MultiBSplineTransformWithNormalLinearType
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::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
Superclass::NumberOfParametersType NumberOfParametersType
ContinuousIndex< ScalarType, SpaceDimension > ContinuousIndexType
This class is the elastix base class for all Transforms.
Superclass::ConfigurationType ConfigurationType
Superclass::OutputVnlVectorType OutputVnlVectorType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > MultiBSplineTransformWithNormalCubicType
Convenience class for upsampling a B-spline coefficient image.
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::InputVnlVectorType InputVnlVectorType
itk::GridScheduleComputer< CoordRepType, SpaceDimension > GridScheduleComputerType
Base class for deformable transform using a B-spline representation.
BSplineTransformBaseType::DirectionType DirectionType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType


Generated on 14-07-2017 for elastix by doxygen 1.8.13 elastix logo