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 
87 template< class TElastix >
89  public
91  typename elx::TransformBase< TElastix >::CoordRepType,
92  elx::TransformBase< TElastix >::FixedImageDimension >,
93  public
94  TransformBase< TElastix >
95 {
96 public:
97 
104  typedef itk::SmartPointer< Self > Pointer;
105  typedef itk::SmartPointer< const Self > ConstPointer;
106 
108  itkNewMacro( Self );
109 
112 
117  elxClassNameMacro( "MultiBSplineTransformWithNormal" );
118 
120  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
121 
126  typename elx::TransformBase< TElastix >::CoordRepType,
127  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
129 
132  typename elx::TransformBase< TElastix >::CoordRepType,
133  itkGetStaticConstMacro( SpaceDimension ),
136  typename elx::TransformBase< TElastix >::CoordRepType,
137  itkGetStaticConstMacro( SpaceDimension ),
140  typename elx::TransformBase< TElastix >::CoordRepType,
141  itkGetStaticConstMacro( SpaceDimension ),
143 
157 
168  typedef typename
170  typedef typename
172 
185 
190  typedef typename GridScheduleComputerType
195 
197  typedef itk::Image< unsigned char,
198  itkGetStaticConstMacro( SpaceDimension ) > ImageLabelType;
199  typedef typename ImageLabelType::Pointer ImageLabelPointer;
200 
205  virtual int BeforeAll( void );
206 
218  virtual void BeforeRegistration( void );
219 
224  virtual void BeforeEachResolution( void );
225 
231  virtual void InitializeTransform( void );
232 
238  virtual void IncreaseScale( void );
239 
241  virtual void ReadFromFile( void );
242 
244  virtual void WriteToFile( const ParametersType & param ) const;
245 
247  virtual void SetOptimizerScales( const unsigned int edgeWidth );
248 
249 protected:
250 
253 
256 
258  virtual void PreComputeGridInformation( void );
259 
260 private:
261 
263  MultiBSplineTransformWithNormal( const Self & ); // purposely not implemented
265  void operator=( const Self & ); // purposely not implemented
266 
269  GridScheduleComputerPointer m_GridScheduleComputer;
270  GridUpsamplerPointer m_GridUpsampler;
271  ImageLabelPointer m_Labels;
272  std::string m_LabelsPath;
273 
275  unsigned int m_SplineOrder;
276 
278  unsigned int InitializeBSplineTransform();
279 
280 };
281 
282 } // end namespace elastix
283 
284 #ifndef ITK_MANUAL_INSTANTIATION
285 #include "elxMultiBSplineTransformWithNormal.hxx"
286 #endif
287 
288 #endif // end #ifndef __elxMultiBSplineTransformWithNormal_h
This class combines two transforms: an 'initial transform' with a 'current transform'.
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
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 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...
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 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo