]> Creatis software - clitk.git/blob - vv/vvToolRigidReg.h
Adapted manual rigid registration: less functions in vvImage, more on vvToolRigidRed...
[clitk.git] / vv / vvToolRigidReg.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to:
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ======================================================================-====*/
18 #ifndef VVTOOLRIGIDREG_H
19 #define VVTOOLRIGIDREG_H
20 #include <QtDesigner/QDesignerExportWidget>
21 #include <QDialog>
22
23 #include "vvToolBase.h"
24 #include "vvToolWidgetBase.h"
25 #include "vvMainWindowBase.h"
26 #include "vvMainWindow.h"
27 #include "ui_vvToolRigidReg.h"
28
29 //------------------------------------------------------------------------------
30 class vvToolRigidReg:
31     public vvToolWidgetBase,
32     public vvToolBase<vvToolRigidReg>,
33     private Ui::vvToolRigidReg
34 {
35   Q_OBJECT
36 public:
37   vvToolRigidReg(vvMainWindowBase * parent=0, Qt::WindowFlags f=0);
38   ~vvToolRigidReg();
39   virtual void InputIsSelected(std::vector<vvSlicerManager *> & m);
40 public slots:
41   virtual void apply();
42   virtual bool close();
43   virtual void reject();
44   //-----------------------------------------------------
45   static void Initialize() {
46     SetToolName("Register");
47     SetToolMenuName("Register");
48     SetToolIconFilename(":/common/icons/register.png");
49     SetToolTip("Register Image.");
50   }
51   void SetXvalue();
52   void SetYvalue();
53   void SetZvalue();
54   void UpdateXtranslider();
55   void UpdateYtranslider();
56   void UpdateZtranslider();
57   void UpdateXrotslider();
58   void UpdateYrotslider();
59   void UpdateZrotslider();
60   void SetOverlay();
61 protected:
62   Ui::vvToolRigidReg ui;
63   vvSlicerManager * mInput1;
64   vvSlicerManager * mInput2;
65   vvMainWindow * mWindow;
66   bool mTwoInputs;
67   void SetTransform(double tX, double tY, double tZ, double aX, double aY, double aZ);
68 }; // end class vvToolRigidReg
69 //------------------------------------------------------------------------------
70
71 #endif
72