ITK  4.8.0
Insight Segmentation and Registration Toolkit
itkPointSetToPointSetRegistrationMethod.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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  * http://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"
24 #include "itkDataObjectDecorator.h"
25 
26 namespace itk
27 {
62 template< typename TFixedPointSet, typename TMovingPointSet >
64 {
65 public:
71 
73  itkNewMacro(Self);
74 
77 
79  typedef TFixedPointSet FixedPointSetType;
80  typedef typename FixedPointSetType::ConstPointer FixedPointSetConstPointer;
81 
83  typedef TMovingPointSet MovingPointSetType;
84  typedef typename MovingPointSetType::ConstPointer MovingPointSetConstPointer;
85 
89 
93 
99 
102 
106 
109 
111  itkSetConstObjectMacro(FixedPointSet, FixedPointSetType);
112  itkGetConstObjectMacro(FixedPointSet, FixedPointSetType);
114 
116  itkSetConstObjectMacro(MovingPointSet, MovingPointSetType);
117  itkGetConstObjectMacro(MovingPointSet, MovingPointSetType);
119 
121  itkSetObjectMacro(Optimizer, OptimizerType);
122  itkGetModifiableObjectMacro(Optimizer, OptimizerType);
124 
126  itkSetObjectMacro(Metric, MetricType);
127  itkGetModifiableObjectMacro(Metric, MetricType);
129 
131  itkSetObjectMacro(Transform, TransformType);
132  itkGetModifiableObjectMacro(Transform, TransformType);
134 
136  virtual void SetInitialTransformParameters(const ParametersType & param);
137 
138  itkGetConstReferenceMacro(InitialTransformParameters, ParametersType);
139 
142  itkGetConstReferenceMacro(LastTransformParameters, ParametersType);
143 
145  void Initialize()
146  throw ( ExceptionObject );
147 
149  const TransformOutputType * GetOutput() const;
150 
154  using Superclass::MakeOutput;
155  virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
156 
159  virtual ModifiedTimeType GetMTime() const ITK_OVERRIDE;
160 
161 #ifdef ITKV3_COMPATIBILITY
162 
177  void StartRegistration(void) { this->Update(); }
178 #endif
179 
180 protected:
183  virtual void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
184 
187  virtual void GenerateData() ITK_OVERRIDE;
188 
189 private:
190  PointSetToPointSetRegistrationMethod(const Self &); //purposely not
191  // implemented
192  void operator=(const Self &); //purposely not
193 
194  // implemented
195 
198 
201 
203 
206 };
207 } // end namespace itk
208 
209 #ifndef ITK_MANUAL_INSTANTIATION
210 #include "itkPointSetToPointSetRegistrationMethod.hxx"
211 #endif
212 
213 #endif
virtual void Update()
Bring this filter up-to-date.
virtual void PrintSelf(std::ostream &os, Indent indent) const override
Light weight base class for most itk classes.
PointSetToPointSetMetric< FixedPointSetType, MovingPointSetType > MetricType
unsigned long ModifiedTimeType
Definition: itkIntTypes.h:164
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Computes similarity between two point sets.
Base class for PointSet to PointSet Registration Methods.
Transform points and vectors from an input space to an output space.
Definition: itkTransform.h:82
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
Class to hold and manage different parameter types used during optimization.
Decorates any subclass of itkObject with a DataObject API.
virtual ModifiedTimeType GetMTime() const override
Standard exception handling object.
Generic representation for an optimization method.
Definition: itkOptimizer.h:38
This class is a base for the Optimization methods that optimize a multiple valued function...
const TransformOutputType * GetOutput() const
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override
Make a DataObject of the correct type to used as the specified output.
Control indentation during Print() invocation.
Definition: itkIndent.h:49
virtual void SetInitialTransformParameters(const ParametersType &param)