12 #ifndef CXREGISTRATIONIMPLSERVICE_H_
13 #define CXREGISTRATIONIMPLSERVICE_H_
17 #include "org_custusx_registration_Export.h"
18 #include "qdatetime.h"
21 class ctkPluginContext;
26 class RegistrationTransform;
27 class PatientModelService;
48 virtual void setMovingData(
DataPtr data);
49 virtual void setFixedData(
DataPtr data);
50 void setMovingData(QString uid);
51 void setFixedData(QString uid);
52 virtual DataPtr getMovingData();
55 virtual void doPatientRegistration();
56 virtual void doFastRegistration_Translation();
58 virtual void doImageRegistration(
bool translationOnly);
59 virtual void addImage2ImageRegistration(
Transform3D dMd, QString description);
60 virtual void updateImage2ImageRegistration(
Transform3D dMd, QString description);
61 virtual void addPatientRegistration(
Transform3D rMpr_new, QString description);
62 virtual void updatePatientRegistration(
Transform3D rMpr_new, QString description);
65 virtual QDateTime getLastRegistrationTime();
66 virtual void setLastRegistrationTime(QDateTime time);
68 virtual bool isNull();
71 void duringSavePatientSlot(QDomElement &node);
72 void duringLoadPatientSlot(QDomElement &node);
73 void addXml(QDomNode &parentNode);
74 void parseXml(QDomNode &dataNode);
79 void writePreLandmarkRegistration(QString name,
LandmarkMap landmarks);
83 std::vector<Vector3D> convertAndTransformToPoints(
const std::vector<QString> &uids,
const LandmarkMap &data,
Transform3D M);
84 std::vector<Vector3D> convertVtkPointsToPoints(
vtkPointsPtr base);
91 QDateTime mLastRegistrationTime;
93 ctkPluginContext* mContext;
96 void performImage2ImageRegistration(
Transform3D dMd, QString description,
bool temporaryRegistration =
false);
97 void performPatientRegistration(
Transform3D rMpr_new, QString description,
bool temporaryRegistration =
false);