ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkPointSetToImageRegistrationMethod.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 itkPointSetToImageRegistrationMethod_h
19#define itkPointSetToImageRegistrationMethod_h
20
21#include "itkProcessObject.h"
22#include "itkImage.h"
26
27namespace itk
28{
66template <typename TFixedPointSet, typename TMovingImage>
67class ITK_TEMPLATE_EXPORT PointSetToImageRegistrationMethod : public ProcessObject
68{
69public:
70 ITK_DISALLOW_COPY_AND_MOVE(PointSetToImageRegistrationMethod);
71
77
79 itkNewMacro(Self);
80
82 itkOverrideGetNameOfClassMacro(PointSetToImageRegistrationMethod);
83
85 using FixedPointSetType = TFixedPointSet;
86 using FixedPointSetConstPointer = typename FixedPointSetType::ConstPointer;
87
89 using MovingImageType = TMovingImage;
90 using MovingImageConstPointer = typename MovingImageType::ConstPointer;
91
95
98 using TransformPointer = typename TransformType::Pointer;
99
105
108 using InterpolatorPointer = typename InterpolatorType::Pointer;
109
112
116
119
121 itkSetConstObjectMacro(FixedPointSet, FixedPointSetType);
122 itkGetConstObjectMacro(FixedPointSet, FixedPointSetType);
124
126 itkSetConstObjectMacro(MovingImage, MovingImageType);
127 itkGetConstObjectMacro(MovingImage, MovingImageType);
129
131 itkSetObjectMacro(Optimizer, OptimizerType);
132 itkGetModifiableObjectMacro(Optimizer, OptimizerType);
134
136 itkSetObjectMacro(Metric, MetricType);
137 itkGetModifiableObjectMacro(Metric, MetricType);
139
141 itkSetObjectMacro(Transform, TransformType);
142 itkGetModifiableObjectMacro(Transform, TransformType);
144
146 itkSetObjectMacro(Interpolator, InterpolatorType);
147 itkGetModifiableObjectMacro(Interpolator, InterpolatorType);
149
151 virtual void
153
154 itkGetConstReferenceMacro(InitialTransformParameters, ParametersType);
155
158 itkGetConstReferenceMacro(LastTransformParameters, ParametersType);
159
161 void
163
165 const TransformOutputType *
166 GetOutput() const;
167
174
176 GetMTime() const override;
177
178protected:
181 void
182 PrintSelf(std::ostream & os, Indent indent) const override;
183
184 void
185 GenerateData() override;
186
187private:
190
193
196
199};
200} // end namespace itk
201
202#ifndef ITK_MANUAL_INSTANTIATION
203# include "itkPointSetToImageRegistrationMethod.hxx"
204#endif
205
206#endif
Decorates any subclass of itkObject with a DataObject API.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Definition itkIndent.h:50
Generic representation for an optimization method.
Computes similarity between a point set and an image.
Transform< CoordinateRepresentationType, Self::MovingImageDimension, Self::FixedPointSetDimension > TransformType
InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > InterpolatorType
typename TransformOutputType::ConstPointer TransformOutputConstPointer
ModifiedTimeType GetMTime() const override
typename MetricType::TransformParametersType ParametersType
void PrintSelf(std::ostream &os, Indent indent) const override
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType output) override
Make a DataObject of the correct type to used as the specified output.
typename FixedPointSetType::ConstPointer FixedPointSetConstPointer
const TransformOutputType * GetOutput() const
PointSetToImageMetric< FixedPointSetType, MovingImageType > MetricType
virtual void SetInitialTransformParameters(const ParametersType &param)
typename MovingImageType::ConstPointer MovingImageConstPointer
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
typename TransformOutputType::Pointer TransformOutputPointer
~PointSetToImageRegistrationMethod() override=default
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
Make a DataObject of the correct type to used as the specified output.
This class is a base for the Optimization methods that optimize a single valued function.
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