]> Creatis software - clitk.git/blob - vv/vvSegmentationDialog.h
remove antique RCS headers
[clitk.git] / vv / vvSegmentationDialog.h
1 #ifndef _VVSEGMENTATIONDIALOG_H
2 #define _VVSEGMENTATIONDIALOG_H
3
4 /*=========================================================================
5
6 Program:   vv
7 Language:  C++
8 Author :   David Sarrut (david.sarrut@gmail.com)
9
10 Copyright (C) 2008
11 Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
12 CREATIS-LRMN http://www.creatis.insa-lyon.fr
13
14 This program is free software: you can redistribute it and/or modify
15 it under the terms of the GNU General Public License as published by
16 the Free Software Foundation, version 3 of the License.
17
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 GNU General Public License for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with this program.  If not, see <http://www.gnu.org/licenses/>.
25
26 =========================================================================*/
27
28
29 #include "ui_vvSegmentationDialog.h"
30 #include "clitkCommon.h"
31 #include "vvImage.h"
32 #include "vvSlicerManager.h"
33 #include "vtkMarchingSquares.h"
34 #include "vtkImageClip.h"
35 #include "vtkClipPolyData.h"
36 #include "vtkImageToPolyDataFilter.h"
37 #include "vtkLookupTable.h"
38 #include "vtkImageMapToWindowLevelColors.h"
39 #include "vtkImageActor.h"
40 #include "vtkMarchingCubes.h"
41 #include "vtkPolyData.h"
42 #include <vtkPolyDataMapper.h>
43
44 #include <QtDesigner/QDesignerExportWidget>
45 #include <QTreeWidget>
46
47 //====================================================================
48 class vvSegmentationDialog : public QDialog, private Ui::vvSegmentationDialog {
49
50     Q_OBJECT
51
52 public:
53     // constructor - destructor
54     vvSegmentationDialog(QWidget * parent=0, Qt::WindowFlags f=0);
55     ~vvSegmentationDialog();
56     void SetImage(vvImage::Pointer image);
57
58 public slots:
59     void clippingvaluechanged(int);
60     void UpdateSlice(int slicer,int slice);
61     void BinariseSurface();
62     void Erode();
63     void Dilate();
64     void Save();
65     void ChangeDimRendering();
66     void InsertSeed();
67     void KernelValueChanged(int kernel);
68
69 protected:
70     Ui::vvSegmentationDialog ui;
71
72     vvSlicerManager* mManager;
73
74     vtkImageClip* mClipper;
75
76     vtkMarchingSquares* mSquares1;
77     vtkPolyDataMapper* mSquaresMapper1;
78     vtkActor* mSquaresActor1;
79
80     vtkMarchingSquares* mSquares2;
81     vtkPolyDataMapper* mSquaresMapper2;
82     vtkActor* mSquaresActor2;
83
84     std::vector<vtkPolyDataMapper*> m3DMappers;
85     //vtkActor* m3DActor;
86     vtkMarchingCubes* m3DExtractor;
87     std::vector<vtkActor*> m3DActors;
88
89     int mKernelValue;
90
91     std::vector<vtkImageData*> mBinaireImages;
92
93 }; // end class vvSegmentationDialog
94 //====================================================================
95
96 #endif /* end #define _VVSEGMENTATIONDIALOG_H */