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 applyContinuousImage2ImageRegistration(
Transform3D delta_pre_rMd, QString description);
82 virtual void applyPatientRegistration(
Transform3D rMpr_new, QString description);
83 virtual void applyContinuousPatientRegistration(
Transform3D rMpr_new, QString description);
86 virtual QDateTime getLastRegistrationTime();
87 virtual void setLastRegistrationTime(QDateTime time);
89 virtual bool isNull();
92 void duringSavePatientSlot(QDomElement &node);
93 void duringLoadPatientSlot(QDomElement &node);
94 void addXml(QDomNode &parentNode);
95 void parseXml(QDomNode &dataNode);
100 void writePreLandmarkRegistration(QString name,
LandmarkMap landmarks);
104 std::vector<Vector3D> convertAndTransformToPoints(
const std::vector<QString> &uids,
const LandmarkMap &data,
Transform3D M);
105 std::vector<Vector3D> convertVtkPointsToPoints(
vtkPointsPtr base);
112 QDateTime mLastRegistrationTime;
114 ctkPluginContext* mContext;
117 void performImage2ImageRegistration(
Transform3D delta_pre_rMd, QString description,
bool continuous =
false);
118 void performPatientRegistration(
Transform3D rMpr_new, QString description,
bool continuous =
false);
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