ITK  6.0.0
Insight Toolkit
itkBSplineTransformParametersAdaptor.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
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 * https://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
23namespace itk
24{
63template <typename TTransform>
64class ITK_TEMPLATE_EXPORT BSplineTransformParametersAdaptor : public TransformParametersAdaptor<TTransform>
65{
66public:
67 ITK_DISALLOW_COPY_AND_MOVE(BSplineTransformParametersAdaptor);
68
74
76 itkNewMacro(Self);
77
79 itkOverrideGetNameOfClassMacro(BSplineTransformParametersAdaptor);
80
82 using TransformType = TTransform;
84
85 using typename Superclass::FixedParametersType;
86 using typename Superclass::FixedParametersValueType;
87 using typename Superclass::ParametersType;
88 using typename Superclass::ParametersValueType;
89
90 using OriginType = typename TransformType::OriginType;
92 using SpacingType = typename TransformType::SpacingType;
94 using MeshSizeType = typename TransformType::MeshSizeType;
96 using PhysicalDimensionsType = typename TransformType::PhysicalDimensionsType;
97
98
99 using ImageType = typename TransformType::ImageType;
101 using CoefficientImageArray = typename TransformType::CoefficientImageArray;
102
104 static constexpr unsigned int SpaceDimension = TransformType::SpaceDimension;
105
107 void
109
111 itkGetConstReferenceMacro(RequiredTransformDomainMeshSize, MeshSizeType);
112
114 void
116
118 itkGetConstReferenceMacro(RequiredTransformDomainPhysicalDimensions, PhysicalDimensionsType);
119
121 void
123
125 itkGetConstReferenceMacro(RequiredTransformDomainOrigin, OriginType);
126
128 void
130
132 itkGetConstReferenceMacro(RequiredTransformDomainDirection, DirectionType);
133
134 void
136
138 void
140
141protected:
144
145 void
146 PrintSelf(std::ostream & os, Indent indent) const override;
147
148private:
150 void
152
153 MeshSizeType m_RequiredTransformDomainMeshSize{};
154 OriginType m_RequiredTransformDomainOrigin{};
155 DirectionType m_RequiredTransformDomainDirection{};
156 PhysicalDimensionsType m_RequiredTransformDomainPhysicalDimensions{};
157
158}; // class BSplineTransformParametersAdaptor
159} // namespace itk
160
161#ifndef ITK_MANUAL_INSTANTIATION
162# include "itkBSplineTransformParametersAdaptor.hxx"
163#endif
164
165#endif /* itkBSplineTransformParametersAdaptor_h */
BSplineTransformParametersAdaptor adapts a BSplineTransform to the new specified fixed parameters.
void SetRequiredTransformDomainOrigin(const OriginType &)
typename TransformType::DirectionType DirectionType
typename TransformType::CoefficientImageArray CoefficientImageArray
void SetRequiredTransformDomainMeshSize(const MeshSizeType &)
~BSplineTransformParametersAdaptor() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
void SetRequiredTransformDomainDirection(const DirectionType &)
void SetRequiredTransformDomainPhysicalDimensions(const PhysicalDimensionsType &)
typename TransformType::PhysicalDimensionsType PhysicalDimensionsType
void SetRequiredFixedParameters(const FixedParametersType) override
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
Base helper class intended for multi-resolution image registration.
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....