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;
94 PatientModelServicePtr mPatientModelService;
95 SessionStorageServicePtr mSession;
96 void performImage2ImageRegistration(
Transform3D dMd, QString description,
bool temporaryRegistration =
false);
97 void performPatientRegistration(
Transform3D rMpr_new, QString description,
bool temporaryRegistration =
false);
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
vtkSmartPointer< vtkPoints > vtkPointsPtr
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
Namespace for all CustusX production code.