ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkPointSetToPointSetRegistrationMethod.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 itkPointSetToPointSetRegistrationMethod_h
19#define itkPointSetToPointSetRegistrationMethod_h
20
21#include "itkProcessObject.h"
25
26namespace itk
27{
65template <typename TFixedPointSet, typename TMovingPointSet>
66class ITK_TEMPLATE_EXPORT PointSetToPointSetRegistrationMethod : public ProcessObject
67{
68public:
69 ITK_DISALLOW_COPY_AND_MOVE(PointSetToPointSetRegistrationMethod);
70
76
78 itkNewMacro(Self);
79
81 itkOverrideGetNameOfClassMacro(PointSetToPointSetRegistrationMethod);
82
84 using FixedPointSetType = TFixedPointSet;
85 using FixedPointSetConstPointer = typename FixedPointSetType::ConstPointer;
86
88 using MovingPointSetType = TMovingPointSet;
89 using MovingPointSetConstPointer = typename MovingPointSetType::ConstPointer;
90
94
97 using TransformPointer = typename TransformType::Pointer;
98
104
107
111
114
116 itkSetConstObjectMacro(FixedPointSet, FixedPointSetType);
117 itkGetConstObjectMacro(FixedPointSet, FixedPointSetType);
119
121 itkSetConstObjectMacro(MovingPointSet, MovingPointSetType);
122 itkGetConstObjectMacro(MovingPointSet, MovingPointSetType);
124
126 itkSetObjectMacro(Optimizer, OptimizerType);
127 itkGetModifiableObjectMacro(Optimizer, OptimizerType);
129
131 itkSetObjectMacro(Metric, MetricType);
132 itkGetModifiableObjectMacro(Metric, MetricType);
134
136 itkSetObjectMacro(Transform, TransformType);
137 itkGetModifiableObjectMacro(Transform, TransformType);
139
141 virtual void
143
144 itkGetConstReferenceMacro(InitialTransformParameters, ParametersType);
145
148 itkGetConstReferenceMacro(LastTransformParameters, ParametersType);
149
151 void
153
155 const TransformOutputType *
156 GetOutput() const;
157
164
166 GetMTime() const override;
167
168protected:
171 void
172 PrintSelf(std::ostream & os, Indent indent) const override;
173
174 void
175 GenerateData() override;
176
177private:
180
183
185
188};
189} // end namespace itk
190
191#ifndef ITK_MANUAL_INSTANTIATION
192# include "itkPointSetToPointSetRegistrationMethod.hxx"
193#endif
194
195#endif
Decorates any subclass of itkObject with a DataObject API.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Definition itkIndent.h:50
This class is a base for the Optimization methods that optimize a multiple valued function.
Generic representation for an optimization method.
Computes similarity between two point sets.
Transform< CoordinateRepresentationType, Self::MovingPointSetDimension, Self::FixedPointSetDimension > TransformType
typename MovingPointSetType::ConstPointer MovingPointSetConstPointer
~PointSetToPointSetRegistrationMethod() override=default
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
typename MetricType::TransformParametersType ParametersType
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void SetInitialTransformParameters(const ParametersType &param)
typename FixedPointSetType::ConstPointer FixedPointSetConstPointer
ModifiedTimeType GetMTime() const override
PointSetToPointSetMetric< FixedPointSetType, MovingPointSetType > MetricType
const TransformOutputType * GetOutput() const
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType output) override
Make a DataObject of the correct type to used as the specified output.
typename TransformOutputType::ConstPointer TransformOutputConstPointer
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
Make a DataObject of the correct type to used as the specified output.
Implements transparent reference counting.
Transform points and vectors from an input space to an output space.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType ModifiedTimeType