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 virtual DataPtr getMovingData();
74 virtual void doPatientRegistration();
75 virtual void doFastRegistration_Translation();
77 virtual void doImageRegistration(
bool translationOnly);
78 virtual void applyImage2ImageRegistration(
Transform3D delta_pre_rMd, QString description);
79 virtual void applyPatientRegistration(
Transform3D rMpr_new, QString description);
82 virtual QDateTime getLastRegistrationTime();
83 virtual void setLastRegistrationTime(QDateTime time);
85 virtual bool isNull();
88 void duringSavePatientSlot(QDomElement &node);
89 void duringLoadPatientSlot(QDomElement &node);
90 void addXml(QDomNode &parentNode);
91 void parseXml(QDomNode &dataNode);
96 void writePreLandmarkRegistration(QString name,
LandmarkMap landmarks);
100 std::vector<Vector3D> convertAndTransformToPoints(
const std::vector<QString> &uids,
const LandmarkMap &data,
Transform3D M);
101 std::vector<Vector3D> convertVtkPointsToPoints(
vtkPointsPtr base);
106 QDateTime mLastRegistrationTime;
108 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