33 #ifndef CXREGISTRATIONIMPLSERVICE_H_
34 #define CXREGISTRATIONIMPLSERVICE_H_
38 #include "org_custusx_registration_Export.h"
39 #include "qdatetime.h"
42 class ctkPluginContext;
47 class RegistrationTransform;
48 class PatientModelService;
69 virtual void setMovingData(
DataPtr data);
70 virtual void setFixedData(
DataPtr data);
71 void setMovingData(QString uid);
72 void setFixedData(QString uid);
73 virtual DataPtr getMovingData();
76 virtual void doPatientRegistration();
77 virtual void doFastRegistration_Translation();
79 virtual void doImageRegistration(
bool translationOnly);
80 virtual void applyImage2ImageRegistration(
Transform3D delta_pre_rMd, QString description);
81 virtual void applyPatientRegistration(
Transform3D rMpr_new, QString description);
84 virtual QDateTime getLastRegistrationTime();
85 virtual void setLastRegistrationTime(QDateTime time);
87 virtual bool isNull();
90 void duringSavePatientSlot(QDomElement &node);
91 void duringLoadPatientSlot(QDomElement &node);
92 void addXml(QDomNode &parentNode);
93 void parseXml(QDomNode &dataNode);
98 void writePreLandmarkRegistration(QString name,
LandmarkMap landmarks);
102 std::vector<Vector3D> convertAndTransformToPoints(
const std::vector<QString> &uids,
const LandmarkMap &data,
Transform3D M);
103 std::vector<Vector3D> convertVtkPointsToPoints(
vtkPointsPtr base);
110 QDateTime mLastRegistrationTime;
112 ctkPluginContext* mContext;
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< class Data > DataPtr
vtkPointsPtr convertTovtkPoints(Eigen::MatrixXd positions)
boost::shared_ptr< RegistrationImplService > RegistrationImplServicePtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
Eigen::Matrix4d performLandmarkRegistration(vtkPointsPtr source, vtkPointsPtr target)
std::map< QString, class Landmark > LandmarkMap
boost::shared_ptr< class SessionStorageService > SessionStorageServicePtr
vtkSmartPointer< class vtkPoints > vtkPointsPtr