ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkImageToSpatialObjectRegistrationMethod.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 itkImageToSpatialObjectRegistrationMethod_h
19#define itkImageToSpatialObjectRegistrationMethod_h
20
21#include "itkProcessObject.h"
22#include "itkImage.h"
26
27namespace itk
28{
83template <typename TFixedImage, typename TMovingSpatialObject>
84class ITK_TEMPLATE_EXPORT ImageToSpatialObjectRegistrationMethod : public ProcessObject
85{
86public:
87 ITK_DISALLOW_COPY_AND_MOVE(ImageToSpatialObjectRegistrationMethod);
88
94
96 itkNewMacro(Self);
97
99 itkOverrideGetNameOfClassMacro(ImageToSpatialObjectRegistrationMethod);
100
102 using FixedImageType = TFixedImage;
103 using FixedImageConstPointer = typename FixedImageType::ConstPointer;
104
106 using MovingSpatialObjectType = TMovingSpatialObject;
107 using MovingSpatialObjectConstPointer = typename MovingSpatialObjectType::ConstPointer;
108
112
115 using TransformPointer = typename TransformType::Pointer;
116
122
125 using InterpolatorPointer = typename InterpolatorType::Pointer;
126
129
133
136
138 itkSetConstObjectMacro(FixedImage, FixedImageType);
139 itkGetConstObjectMacro(FixedImage, FixedImageType);
141
143 itkSetConstObjectMacro(MovingSpatialObject, MovingSpatialObjectType);
144 itkGetConstObjectMacro(MovingSpatialObject, MovingSpatialObjectType);
146
148 itkSetObjectMacro(Optimizer, OptimizerType);
149 itkGetModifiableObjectMacro(Optimizer, OptimizerType);
151
153 itkSetObjectMacro(Metric, MetricType);
154 itkGetModifiableObjectMacro(Metric, MetricType);
156
158 itkSetObjectMacro(Transform, TransformType);
159 itkGetModifiableObjectMacro(Transform, TransformType);
161
163 itkSetObjectMacro(Interpolator, InterpolatorType);
164 itkGetModifiableObjectMacro(Interpolator, InterpolatorType);
166
168 itkSetMacro(InitialTransformParameters, ParametersType);
169 itkGetConstReferenceMacro(InitialTransformParameters, ParametersType);
171
174 itkGetConstReferenceMacro(LastTransformParameters, ParametersType);
175
177 const TransformOutputType *
178 GetOutput() const;
179
186
190 GetMTime() const override;
191
192protected:
195 void
196 PrintSelf(std::ostream & os, Indent indent) const override;
197
200 void
201 GenerateData() override;
202
204 void
206
209
210private:
213
216
219};
220} // end namespace itk
221
222#ifndef ITK_MANUAL_INSTANTIATION
223# include "itkImageToSpatialObjectRegistrationMethod.hxx"
224#endif
225
226#endif
Decorates any subclass of itkObject with a DataObject API.
SmartPointer< Self > Pointer
Computes similarity between a moving spatial object and an Image to be registered.
Transform< CoordinateRepresentationType, Self::ObjectDimension, Self::ImageDimension > TransformType
LinearInterpolateImageFunction< FixedImageType, CoordinateRepresentationType > InterpolatorType
ModifiedTimeType GetMTime() const override
const TransformOutputType * GetOutput() const
typename TransformOutputType::ConstPointer TransformOutputConstPointer
ImageToSpatialObjectMetric< FixedImageType, MovingSpatialObjectType > MetricType
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType output) override
Make a DataObject of the correct type to used as the specified output.
typename MovingSpatialObjectType::ConstPointer MovingSpatialObjectConstPointer
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
~ImageToSpatialObjectRegistrationMethod() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
Control indentation during Print() invocation.
Definition itkIndent.h:50
Generic representation for an optimization method.
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