ITK  4.8.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>
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 
90 
91  typedef typename TransformType::OriginType OriginType;
92  typedef typename TransformType::SizeType SizeType;
93  typedef typename TransformType::SpacingType SpacingType;
94  typedef typename TransformType::IndexType IndexType;
95  typedef typename TransformType::MeshSizeType MeshSizeType;
96  typedef typename TransformType::DirectionType DirectionType;
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 
109 
111  itkGetConstReferenceMacro( RequiredTransformDomainMeshSize, MeshSizeType );
112 
115 
117  itkGetConstReferenceMacro( RequiredTransformDomainPhysicalDimensions, PhysicalDimensionsType );
118 
121 
123  itkGetConstReferenceMacro( RequiredTransformDomainOrigin, OriginType );
124 
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();
139 
140  void PrintSelf( std::ostream & os, Indent indent ) const ITK_OVERRIDE;
141 
142 private:
143  BSplineTransformParametersAdaptor( const Self & ); //purposely not implemented
144  void operator=( const Self & ); //purposely not implemented
145 
148 
153 
154 }; //class BSplineTransformParametersAdaptor
155 } // namespace itk
156 
157 #ifndef ITK_MANUAL_INSTANTIATION
158 #include "itkBSplineTransformParametersAdaptor.hxx"
159 #endif
160 
161 #endif /* itkBSplineTransformParametersAdaptor_h */
void SetRequiredTransformDomainPhysicalDimensions(const PhysicalDimensionsType &)
Light weight base class for most itk classes.
Superclass::FixedParametersType FixedParametersType
Base helper class intended for multi-resolution image registration.
void SetRequiredTransformDomainDirection(const DirectionType &)
Superclass::FixedParametersValueType FixedParametersValueType
void PrintSelf(std::ostream &os, Indent indent) const override
TransformType::PhysicalDimensionsType PhysicalDimensionsType
TransformParametersAdaptor< TTransform > Superclass
virtual void SetRequiredFixedParameters(const FixedParametersType) override
void SetRequiredTransformDomainMeshSize(const MeshSizeType &)
Superclass::ParametersValueType ParametersValueType
Superclass::FixedParametersValueType FixedParametersValueType
virtual void AdaptTransformParameters() override
BSplineTransformParametersAdaptor adapts a BSplineTransform to the new specified fixed parameters...
Control indentation during Print() invocation.
Definition: itkIndent.h:49
TransformType::CoefficientImageArray CoefficientImageArray
void SetRequiredTransformDomainOrigin(const OriginType &)