ITK  4.10.0
Insight Segmentation and Registration Toolkit
itkPointSetToSpatialObjectDemonsRegistration.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 itkPointSetToSpatialObjectDemonsRegistration_h
19 #define itkPointSetToSpatialObjectDemonsRegistration_h
20 
21 #include "itkProcessObject.h"
22 #include "itkImage.h"
25 
26 namespace itk
27 {
52 template< typename TFixedPointSet, typename TMovingSpatialObject >
54 {
55 public:
61 
63  itkNewMacro(Self);
64 
67 
69  typedef TFixedPointSet FixedPointSetType;
70  typedef typename FixedPointSetType::ConstPointer FixedPointSetConstPointer;
71 
73  typedef TMovingSpatialObject MovingSpatialObjectType;
74  typedef typename MovingSpatialObjectType::ConstPointer MovingSpatialObjectConstPointer;
75 
77  itkSetConstObjectMacro(FixedPointSet, FixedPointSetType);
78  itkGetConstObjectMacro(FixedPointSet, FixedPointSetType);
80 
82  itkSetConstObjectMacro(MovingSpatialObject, MovingSpatialObjectType);
83  itkGetConstObjectMacro(MovingSpatialObject, MovingSpatialObjectType);
85 
86 #ifdef ITKV3_COMPATIBILITY
87 
102  void StartRegistration(void) { this->Update(); }
103 #endif
104 
105 protected:
108  virtual void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
109 
110 private:
111  PointSetToSpatialObjectDemonsRegistration(const Self &) ITK_DELETE_FUNCTION;
112  void operator=(const Self &) ITK_DELETE_FUNCTION;
113 
114  MovingSpatialObjectConstPointer m_MovingSpatialObject;
115  FixedPointSetConstPointer m_FixedPointSet;
116 };
117 } // end namespace itk
118 
119 #ifndef ITK_MANUAL_INSTANTIATION
120 #include "itkPointSetToSpatialObjectDemonsRegistration.hxx"
121 #endif
122 
123 #endif
virtual void Update()
Bring this filter up-to-date.
virtual void PrintSelf(std::ostream &os, Indent indent) const override
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
Definition: itkArray.h:30
Implementation of Demons Registration between a PointSet and a SpatialObject.
void operator=(const Self &) ITK_DELETE_FUNCTION
Control indentation during Print() invocation.
Definition: itkIndent.h:49