ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkBSplineExponentialDiffeomorphicTransform.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 itkBSplineExponentialDiffeomorphicTransform_h
19#define itkBSplineExponentialDiffeomorphicTransform_h
20
23#include "itkPointSet.h"
24
25namespace itk
26{
27
54template <typename TParametersValueType, unsigned int VDimension>
56 : public ConstantVelocityFieldTransform<TParametersValueType, VDimension>
57{
58public:
60
66
69
71 itkNewMacro(Self);
72
74 static constexpr unsigned int ConstantVelocityFieldDimension = VDimension;
75
77 static constexpr unsigned int Dimension = VDimension;
78
80 using typename Superclass::ScalarType;
81 using typename Superclass::DerivativeType;
83
84 using typename Superclass::ParametersType;
88
93
95
101 using SplineOrderType = unsigned int;
105 using ArrayValueType = typename ArrayType::ValueType;
106
112 void
113 UpdateTransformParameters(const DerivativeType & update, ScalarType factor = 1.0) override;
114
120
125 itkGetConstMacro(SplineOrder, SplineOrderType);
127
135 itkSetMacro(NumberOfControlPointsForTheConstantVelocityField, ArrayType);
136 itkGetConstMacro(NumberOfControlPointsForTheConstantVelocityField, ArrayType);
138
146 itkSetMacro(NumberOfControlPointsForTheUpdateField, ArrayType);
147 itkGetConstMacro(NumberOfControlPointsForTheUpdateField, ArrayType);
149
156 void
158
165 void
167
168protected:
171
172 void
173 PrintSelf(std::ostream &, Indent) const override;
174
175private:
178
180};
181
182} // end namespace itk
183
184#ifndef ITK_MANUAL_INSTANTIATION
185# include "itkBSplineExponentialDiffeomorphicTransform.hxx"
186#endif
187
188#endif // itkBSplineExponentialDiffeomorphicTransform_h
OptimizerParameters< FixedParametersValueType > FixedParametersType
itkSetMacro(InputSpaceName, std::string)
TParametersValueType ParametersValueType
OptimizerParameters< ParametersValueType > ParametersType
itkOverrideGetNameOfClassMacro(TransformBaseTemplate)
ITK_DISALLOW_COPY_AND_MOVE(TransformBaseTemplate)
ParametersValueType ValueType
Definition itkArray.h:52
Image< OutputVectorType, ConstantVelocityFieldDimension > ConstantVelocityFieldType
void SetMeshSizeForTheConstantVelocityField(const ArrayType &)
typename BSplineFilterType::WeightsContainerType WeightsContainerType
ConstantVelocityFieldTransform< TParametersValueType, VDimension > Superclass
void UpdateTransformParameters(const DerivativeType &update, ScalarType factor=1.0) override
~BSplineExponentialDiffeomorphicTransform() override=default
PointSet< ConstantVelocityFieldType, Dimension > PointSetType
void PrintSelf(std::ostream &, Indent) const override
typename ConstantVelocityFieldType::Pointer ConstantVelocityFieldPointer
void SetMeshSizeForTheUpdateField(const ArrayType &)
virtual ConstantVelocityFieldPointer BSplineSmoothConstantVelocityField(const ConstantVelocityFieldType *, const ArrayType &)
DisplacementFieldToBSplineImageFilter< ConstantVelocityFieldType > BSplineFilterType
Image< OutputVectorType, ConstantVelocityFieldDimension > ConstantVelocityFieldType
typename DisplacementFieldType::Pointer DisplacementFieldPointer
typename ConstantVelocityFieldType::Pointer ConstantVelocityFieldPointer
Image< OutputVectorType, Dimension > DisplacementFieldType
Class which takes a dense displacement field image and/or a set of points with associated displacemen...
Array< ParametersValueType > DerivativeType
ParametersValueType ScalarType
Control indentation during Print() invocation.
Definition itkIndent.h:50
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
Definition itkPointSet.h:82
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....