X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolRigidReg.h;h=02d679b41ac033baa89b962c621e92791fc9128b;hb=d268b74408bad9a7388c864e01627d8217549bd6;hp=1fb0301a5a6a63b7feda83ec6b5b449997e93d80;hpb=3bc47a2c2754d924d6540ada266e3e48fba20b47;p=clitk.git diff --git a/vv/vvToolRigidReg.h b/vv/vvToolRigidReg.h index 1fb0301..02d679b 100644 --- a/vv/vvToolRigidReg.h +++ b/vv/vvToolRigidReg.h @@ -1,10 +1,9 @@ - /*========================================================================= Program: vv http://www.creatis.insa-lyon.fr/rio/vv Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -15,19 +14,15 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef VVTOOLRIGIDREG_H #define VVTOOLRIGIDREG_H -#include -#include #include "vvToolBase.h" #include "vvToolWidgetBase.h" -#include "vvMainWindowBase.h" #include "vvMainWindow.h" #include "ui_vvToolRigidReg.h" #include "vtkMatrix4x4.h" -#include "clitkAffineRegistration_ggo.h" //------------------------------------------------------------------------------ class vvToolRigidReg: @@ -39,48 +34,32 @@ class vvToolRigidReg: public: vvToolRigidReg(vvMainWindowBase * parent=0, Qt::WindowFlags f=0); ~vvToolRigidReg(); - virtual void InputIsSelected(std::vector & m); + static void Initialize(); + virtual void InputIsSelected(vvSlicerManager *input); + public slots: virtual void apply(); virtual bool close(); virtual void reject(); - //----------------------------------------------------- - static void Initialize() { - SetToolName("Register"); - SetToolMenuName("Register"); - SetToolIconFilename(":/common/icons/register.png"); - SetToolTip("Register Image."); - SetToolExperimental(true); - } - virtual void GetArgsInfoFromGUI(); - void SetOverlay(vvImage::Pointer Image); - void RemoveOverlay(); - void SetXvalue(); - void SetYvalue(); - void SetZvalue(); - void Render(); - void UpdateTextEditor(vtkMatrix4x4 *matrix,QTextEdit *textEdit); - void UpdateTransform_sliders(); - void UpdateTransform_sb(); - void UpdateTransform(bool slider_enabled); - void AutoRegister(); + void SetTranslationStep(double v); + void SetRotationStep(double v); + void SliderChange(int newVal); + void SpinBoxChange(double newVal); + void ToggleSpinBoxAnglesUnit(); void SaveFile(); - void ReadFile(); + void LoadFile(); + void ChangeOfRotationCenter(); void ResetTransform(); - void SetRotationCenter(); - void SetSliderRanges(); - void InitializeSliders(double xtrans,double ytrans, double ztrans, double xrot, double yrot, double zrot,bool sliders); - protected: + +protected: Ui::vvToolRigidReg ui; - vvSlicerManager * mInput1; - vvSlicerManager * mInput2; - vvMainWindow * mWindow; - bool mTwoInputs; - std::vector mImageSize; - args_info_clitkAffineRegistration mArgsInfo; - double mInitialMatrix[16]; - void SetTransform(double tX, double tY, double tZ, double aX, double aY, double aZ,bool update); + vvSlicerManager * mInput; + vtkSmartPointer mInitialMatrix; + void ExtentMax(const double [8][4], double [2][3]); void SetTransform(vtkMatrix4x4 * matrix); + void GetSlidersAndSpinBoxes(std::vector&transSliders, std::vector&rotSliders, + std::vector&transSBs, std::vector&rotSBs); + void Render(); }; // end class vvToolRigidReg //------------------------------------------------------------------------------