ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkVolumeSplineKernelTransform.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 itkVolumeSplineKernelTransform_h
19#define itkVolumeSplineKernelTransform_h
20
21#include "itkKernelTransform.h"
22
23namespace itk
24{
32template <typename TParametersValueType, unsigned int VDimension = 3>
33// Number of dimensions
34class ITK_TEMPLATE_EXPORT VolumeSplineKernelTransform : public KernelTransform<TParametersValueType, VDimension>
35{
36public:
38
44
46 itkNewMacro(Self);
47
50
52 using typename Superclass::ScalarType;
53
55 using typename Superclass::ParametersType;
57
59 using typename Superclass::JacobianType;
62
64 static constexpr unsigned int SpaceDimension = Superclass::SpaceDimension;
65
67 using typename Superclass::InputPointType;
68 using typename Superclass::OutputPointType;
69 using typename Superclass::InputVectorType;
70 using typename Superclass::OutputVectorType;
73 using typename Superclass::PointsIterator;
74
75protected:
77 ~VolumeSplineKernelTransform() override = default;
78
80 using typename Superclass::GMatrixType;
81
90 void
91 ComputeG(const InputVectorType & x, GMatrixType & gmatrix) const override;
92
95 void
96 ComputeDeformationContribution(const InputPointType & thisPoint, OutputPointType & result) const override;
97};
98} // namespace itk
99
100#ifndef ITK_MANUAL_INSTANTIATION
101# include "itkVolumeSplineKernelTransform.hxx"
102#endif
103
104#endif // itkVolumeSplineKernelTransform_h
OptimizerParameters< FixedParametersValueType > FixedParametersType
OptimizerParameters< ParametersValueType > ParametersType
itkOverrideGetNameOfClassMacro(TransformBaseTemplate)
ITK_DISALLOW_COPY_AND_MOVE(TransformBaseTemplate)
vnl_matrix_fixed< TParametersValueType, VDimension, VDimension > GMatrixType
Array2D< ParametersValueType > JacobianType
typename PointSetType::PointsContainerIterator PointsIterator
vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > JacobianPositionType
Point< TParametersValueType, VInputDimension > InputPointType
CovariantVector< TParametersValueType, VOutputDimension > OutputCovariantVectorType
static constexpr unsigned int SpaceDimension
ParametersValueType ScalarType
Point< TParametersValueType, VOutputDimension > OutputPointType
Vector< TParametersValueType, VInputDimension > InputVectorType
CovariantVector< TParametersValueType, VInputDimension > InputCovariantVectorType
Vector< TParametersValueType, VOutputDimension > OutputVectorType
vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > InverseJacobianPositionType
Implements transparent reference counting.
vnl_matrix_fixed< TParametersValueType, VDimension, VDimension > GMatrixType
KernelTransform< TParametersValueType, VDimension > Superclass
Point< TParametersValueType, VInputDimension > InputPointType
void ComputeDeformationContribution(const InputPointType &thisPoint, OutputPointType &result) const override
~VolumeSplineKernelTransform() override=default
Point< TParametersValueType, VOutputDimension > OutputPointType
void ComputeG(const InputVectorType &x, GMatrixType &gmatrix) const override
Vector< TParametersValueType, VInputDimension > InputVectorType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....