fw4spl
SPointListRegistration.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2018.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #pragma once
8 
9 #include "basicRegistration/config.hpp"
10 
11 #include <fwCom/Slot.hpp>
12 
13 #include <fwServices/IRegisterer.hpp>
14 
15 namespace basicRegistration
16 {
17 
46 class BASICREGISTRATION_CLASS_API SPointListRegistration : public ::fwServices::IRegisterer
47 {
48 
49 public:
50 
52 
57  BASICREGISTRATION_API static const ::fwCom::Slots::SlotKeyType s_CHANGE_MODE;
59 
64  typedef ::fwCom::Signal< void (double) > ErrorComputedSignalType;
67 
68  BASICREGISTRATION_API SPointListRegistration();
69 
70  BASICREGISTRATION_API virtual ~SPointListRegistration();
71 
72 protected:
73 
75  BASICREGISTRATION_API void computeRegistration(::fwCore::HiResClock::HiResClockType timestamp) override;
76 
78  typedef enum Mode
79  {
82  AFFINE
84 
86  BASICREGISTRATION_API virtual void configuring() override;
87 
89  BASICREGISTRATION_API virtual void starting() override;
90 
92  BASICREGISTRATION_API virtual void stopping() override;
93 
95  BASICREGISTRATION_API virtual void updating() override;
96 
98  BASICREGISTRATION_API virtual void swapping() override;
99 
100 private:
101 
103  void changeMode(std::string _value);
104 
106  std::string m_registeredPointsKey;
107 
109  std::string m_referencePointsKey;
110 
112  std::string m_matrixKey;
113 
115  RegistrationModeType m_registrationMode;
116 };
117 
118 } // namespace basicRegistration
The namespace basicRegistration contains services to perfom a basic registration between images and m...
enum basicRegistration::SPointListRegistration::Mode RegistrationModeType
Registration Mode (default: RIGID)
double HiResClockType
Type returned by HiResClock Functions.
Definition: HiResClock.hpp:29
Mode
Registration Mode (default: RIGID)
This interface defines registerer service API. Must be implemented for services that register objects...
Definition: IRegisterer.hpp:21
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
Register a point list against a reference point list. Each point in the list to register is matched w...