ITK  4.13.0
Insight Segmentation and Registration Toolkit
itkBSplineTransformParametersAdaptor.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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 itkBSplineTransformParametersAdaptor_h
19 #define itkBSplineTransformParametersAdaptor_h
20 
22 
23 namespace itk
24 {
64 template<typename TTransform>
65 class ITK_TEMPLATE_EXPORT BSplineTransformParametersAdaptor
66 : public TransformParametersAdaptor<TTransform>
67 {
68 public:
69 
75 
77  itkNewMacro( Self );
78 
81 
83  typedef TTransform TransformType;
84  typedef typename TransformType::Pointer TransformPointer;
85 
86  typedef typename Superclass::FixedParametersType FixedParametersType;
87  typedef typename Superclass::FixedParametersValueType FixedParametersValueType;
88  typedef typename Superclass::ParametersType ParametersType;
89  typedef typename Superclass::ParametersValueType ParametersValueType;
90 
91  typedef typename TransformType::OriginType OriginType;
93  typedef typename TransformType::SpacingType SpacingType;
95  typedef typename TransformType::MeshSizeType MeshSizeType;
97  typedef typename TransformType::PhysicalDimensionsType PhysicalDimensionsType;
98 
99 
100  typedef typename TransformType::ImageType ImageType;
101  typedef typename ImageType::RegionType RegionType;
102  typedef typename TransformType::CoefficientImageArray CoefficientImageArray;
103 
105  itkStaticConstMacro( SpaceDimension, unsigned int, TransformType::SpaceDimension );
106 
108  void SetRequiredTransformDomainMeshSize( const MeshSizeType & );
109 
111  itkGetConstReferenceMacro( RequiredTransformDomainMeshSize, MeshSizeType );
112 
114  void SetRequiredTransformDomainPhysicalDimensions( const PhysicalDimensionsType & );
115 
117  itkGetConstReferenceMacro( RequiredTransformDomainPhysicalDimensions, PhysicalDimensionsType );
118 
120  void SetRequiredTransformDomainOrigin( const OriginType & );
121 
123  itkGetConstReferenceMacro( RequiredTransformDomainOrigin, OriginType );
124 
126  void SetRequiredTransformDomainDirection( const DirectionType & );
127 
129  itkGetConstReferenceMacro( RequiredTransformDomainDirection, DirectionType );
130 
131  virtual void SetRequiredFixedParameters( const FixedParametersType ) ITK_OVERRIDE;
132 
134  virtual void AdaptTransformParameters() ITK_OVERRIDE;
135 
136 protected:
138  ~BSplineTransformParametersAdaptor() ITK_OVERRIDE;
139 
140  void PrintSelf( std::ostream & os, Indent indent ) const ITK_OVERRIDE;
141 
142 private:
143  ITK_DISALLOW_COPY_AND_ASSIGN(BSplineTransformParametersAdaptor);
144 
146  void UpdateRequiredFixedParameters();
147 
148  MeshSizeType m_RequiredTransformDomainMeshSize;
149  OriginType m_RequiredTransformDomainOrigin;
150  DirectionType m_RequiredTransformDomainDirection;
151  PhysicalDimensionsType m_RequiredTransformDomainPhysicalDimensions;
152 
153 }; //class BSplineTransformParametersAdaptor
154 } // namespace itk
155 
156 #ifndef ITK_MANUAL_INSTANTIATION
157 #include "itkBSplineTransformParametersAdaptor.hxx"
158 #endif
159 
160 #endif /* itkBSplineTransformParametersAdaptor_h */
Light weight base class for most itk classes.
Base helper class intended for multi-resolution image registration.
TransformType::PhysicalDimensionsType PhysicalDimensionsType
TransformParametersAdaptor< TTransform > Superclass
Superclass::FixedParametersValueType FixedParametersValueType
BSplineTransformParametersAdaptor adapts a BSplineTransform to the new specified fixed parameters...
Control indentation during Print() invocation.
Definition: itkIndent.h:49
TransformType::CoefficientImageArray CoefficientImageArray