X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolBinarize.h;h=7251f8e8133494aaa88f78d48f857f80fca8b6e0;hb=573d80d0f7a17607d2ee883c21c940c0ba020282;hp=b40b267cfbc764cb33b05ec6893afd108027aae8;hpb=71d769c28f63906bc4872127e4d2d4b7b9f8e5ed;p=clitk.git diff --git a/vv/vvToolBinarize.h b/vv/vvToolBinarize.h index b40b267..7251f8e 100644 --- a/vv/vvToolBinarize.h +++ b/vv/vvToolBinarize.h @@ -1,98 +1,69 @@ /*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Program: vv - Module: $RCSfile: vvToolBinarize.h,v $ - Language: C++ - Date: $Date: 2010/02/06 15:38:14 $ - Version: $Revision: 1.3 $ - Author : David Sarrut (david.sarrut@creatis.insa-lyon.fr) + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://www.centreleonberard.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr - Copyright (C) 2010 - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr - CREATIS http://www.creatis.insa-lyon.fr + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, version 3 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - =========================================================================*/ + It is distributed under dual licence + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +===========================================================================**/ #ifndef VVTOOLBINARIZE_H #define VVTOOLBINARIZE_H #include -#include #include "vvToolBase.h" +#include "vvToolWidgetBase.h" +#include "vvImageContour.h" #include "ui_vvToolBinarize.h" -#include "clitkBinarizeImage_ggo.h" -#include "vtkMarchingSquares.h" -#include "vtkImageClip.h" -#include "vtkMarchingCubes.h" -#include "vtkPolyData.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkProperty.h" -#include "vtkRenderer.h" +#include "clitkBinarizeImage_ggo.h" //------------------------------------------------------------------------------ class vvToolBinarize: - public QDialog, public vvToolBase, private Ui::vvToolBinarize + public vvToolWidgetBase, + public vvToolBase, + private Ui::vvToolBinarize { Q_OBJECT public: - vvToolBinarize(QWidget * parent=0, Qt::WindowFlags f=0); + vvToolBinarize(vvMainWindowBase * parent=0, Qt::WindowFlags f=0); ~vvToolBinarize(); //----------------------------------------------------- - typedef vvToolBinarize Self; - - //----------------------------------------------------- - static void Initialize() { - SetToolName("Binarize"); - SetToolMenuName("Binarize"); - SetToolIconFilename(":/new/prefix1/icons/binarize.png"); - SetToolTip("Image interactive binarization with thresholds."); - } - - void InputIsSet(bool b); + static void Initialize(); void GetArgsInfoFromGUI(); + virtual void InputIsSelected(vvSlicerManager * m); //----------------------------------------------------- - // public slots: -// void InputUpdate(); - public slots: - void apply(); - // void InputChange(int index); + virtual void apply(); + virtual bool close(); + virtual void reject(); void valueChangedT1(double v); void valueChangedT2(double v); void UpdateSlice(int slicer,int slices); - void InputIsSelected(); void enableLowerThan(bool b); void useFGBGtoggled(bool); + void InteractiveDisplayToggled(bool b); + // void LeftButtonReleaseEvent(int slicer); protected: + void RemoveVTKObjects(); + virtual void closeEvent(QCloseEvent *event); Ui::vvToolBinarize ui; - // std::vector mSlicerManagers; -// std::vector mSlicerManagersCompatible; -// vvImage::Pointer mCurrentImage; -// vvSlicerManager * mCurrentSliceManager; args_info_clitkBinarizeImage mArgsInfo; - - vtkImageClip* mClipper; - vtkMarchingSquares* mSquares1; - vtkPolyDataMapper* mSquaresMapper1; - vtkActor* mSquaresActor1; + std::vector mImageContour; + std::vector mImageContourLower; + bool mInteractiveDisplayIsEnabled; }; // end class vvToolBinarize //------------------------------------------------------------------------------