Computer Assited Medical Intervention Tool Kit  version 4.1
SingleImageComponent.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2018 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  * This file is part of CamiTK.
10  *
11  * CamiTK is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * CamiTK is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License version 3 for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22  *
23  * $CAMITK_LICENCE_END$
24  ****************************************************************************/
25 
26 #ifndef SINGLEIMAGEVOLUMECOMPONENT_H
27 #define SINGLEIMAGEVOLUMECOMPONENT_H
28 
29 
30 // -- Core stuff
31 #include "Component.h"
32 #include "Slice.h"
33 
34 // -- QT stuff classes
35 class QMenu;
36 
37 // -- VTK stuff
38 #include <vtkImageReslice.h>
39 #include <vtkWindowLevelLookupTable.h>
40 #include <vtkImageChangeInformation.h>
41 
42 // -- VTK stuff classes
43 class vtkImageClip;
44 
45 namespace camitk {
57  Q_OBJECT
58 
60  Q_PROPERTY(bool viewSliceIn3D READ getViewSliceIn3D WRITE setViewSliceIn3D)
61 
62 public:
64  SingleImageComponent(Component* parentComponent, Slice::SliceOrientation, const QString& name, vtkSmartPointer<vtkWindowLevelLookupTable> lut);
65 
66  ~SingleImageComponent() override = default;
67 
69  void pixelPicked(double, double, double) override;
70 
72  void setSelected(const bool, const bool) override;
73 
76  void setTransform(vtkSmartPointer<vtkTransform>) override;
77  void resetTransform() override;
78  void translate(double, double, double) override;
79  void rotate(double, double, double) override;
80  void rotateVTK(double, double, double) override;
81  void setTransformTranslation(double, double, double) override;
82  void setTransformTranslationVTK(double, double, double) override;
83  void setTransformRotation(double, double, double) override;
84  void setTransformRotationVTK(double, double, double) override;
85 
87  void singleImageSelected(const bool);
88 
89  bool getViewSliceIn3D() const;
90 
94  void setViewSliceIn3D(bool viewSliceIn3D);
95 
96 protected:
97 
99  void initRepresentation() override;
100 
101 protected:
103 
104  vtkSmartPointer<vtkWindowLevelLookupTable> lut;
105 
107  bool viewSliceIn3D;
108 
109 };
110 
111 }
112 
113 #endif
SliceOrientation
Common slices orientation: axial, sagittal, coronal axial_neuro.
Definition: Slice.h:132
This Component manages a set of images, destined to be seen in a single orientation only (axial OR sa...
Definition: SingleImageComponent.h:56
Definition: Action.cpp:36
Slice::SliceOrientation sliceOrientation
Definition: SingleImageComponent.h:102
A Component represents something that could be included in the explorer view, the interactive 3D view...
Definition: sdk/libraries/core/component/Component.h:298
#define CAMITK_API
Definition: CamiTKAPI.h:49
vtkSmartPointer< vtkWindowLevelLookupTable > lut
Definition: SingleImageComponent.h:104