]> Creatis software - clitk.git/blob - vv/vvToolExtractPatient.h
Smart pointer for filter in vv tools
[clitk.git] / vv / vvToolExtractPatient.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
19 #ifndef VVTOOLEXTRACTPATIENT_H
20 #define VVTOOLEXTRACTPATIENT_H
21
22 // clitk
23 #include "clitkExtractPatientGenericFilter.h"
24 #include "../segmentation/clitkExtractPatient_ggo.h"
25
26 // vv
27 #include "ui_vvToolExtractPatient.h"
28 #include "vvToolBase.h"
29 #include "vvToolWidgetBase.h"
30 #include "vvROIActor.h"
31
32 // qt
33 #include <QtDesigner/QDesignerExportWidget>
34
35 //------------------------------------------------------------------------------
36 class vvToolExtractPatient:
37   public vvToolWidgetBase,
38   public vvToolBase<vvToolExtractPatient>, 
39   private Ui::vvToolExtractPatient 
40 {
41   Q_OBJECT
42     public:
43   vvToolExtractPatient(vvMainWindowBase* parent=0, Qt::WindowFlags f=0);
44   ~vvToolExtractPatient();
45
46   //-----------------------------------------------------
47   static void Initialize();
48   virtual void InputIsSelected(vvSlicerManager *m);
49   void GetArgsInfoFromGUI();
50   void SetGUIFromArgsInfo();
51
52   //-----------------------------------------------------
53 public slots:
54   virtual void apply();
55   virtual bool close();
56   // void PatientMaskInputIsSelected();
57   void ThreadInterrupted();
58
59   //-----------------------------------------------------
60 protected:
61   typedef args_info_clitkExtractPatient ArgsInfoType;
62   ArgsInfoType * mArgsInfo;
63   typedef clitk::ExtractPatientGenericFilter<ArgsInfoType> FilterType;
64   FilterType * mFilter;
65   vvImage::Pointer mPatient;
66   double mPatientBackgroundValue;
67   bool m_IsThreadInterrupted;
68
69 }; // end class vvToolExtractPatient
70 //------------------------------------------------------------------------------
71
72 #endif
73