14 #ifndef QmitkRegistrationManipulationWidget_h
15 #define QmitkRegistrationManipulationWidget_h
18 #include <itkEuler3DTransform.h>
19 #include "mapRegistration.h"
20 #include "mapContinuous.h"
28 #include "ui_QmitkRegistrationManipulationWidget.h"
61 map::core::RegistrationBase* GetInterimRegistration()
const;
65 map::core::RegistrationBase::Pointer GenerateRegistration()
const ;
71 void SetCenterOfRotationIsRelativeToTarget(
bool targetRelative);
74 void RegistrationChanged(map::core::RegistrationBase *registration);
78 void OnRotXChanged(
double);
79 void OnRotYChanged(
double);
80 void OnRotZChanged(
double);
82 void OnTransXChanged(
double);
83 void OnTransYChanged(
double);
84 void OnTransZChanged(
double);
86 void OnRotXSlideChanged(
int);
87 void OnRotYSlideChanged(
int);
88 void OnRotZSlideChanged(
int);
90 void OnTransXSlideChanged(
int);
91 void OnTransYSlideChanged(
int);
92 void OnTransZSlideChanged(
int);
97 void ResetTransforms();
103 void UpdateTransformWidgets();
107 void UpdateTransform(
bool updateRotation =
false);
109 void ConfigureTransformCenter();
111 MAPRegistrationType::Pointer m_PreRegistration;
113 using TransformType = itk::Euler3DTransform<::map::core::continuous::ScalarType>;
114 TransformType::Pointer m_InverseCurrentTransform;
115 TransformType::Pointer m_DirectCurrentTransform;
117 MAPRegistrationType::Pointer m_CurrentRegistration;
122 bool m_CenterOfRotationIsRelativeToTarget;
124 bool m_internalUpdate;