]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx
f39e637ccea649f44caa87fe5fc82683227b5e67
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtkImageViewer2_XYZ.cxx
1 /*# ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 #                        pour la Sant�)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and
10 #  abiding by the rules of distribution of free software. You can  use,
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 #  license as circulated by CEA, CNRS and INRIA at the following URL
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability.
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
25
26 #include "vtkImageViewer2_XYZ.h"
27 #include "vtkRenderer.h"
28 #include "vtkImageActor.h"
29 #include "vtkImageData.h"
30 //-------------------------------------------------------------------
31 //-------------------------------------------------------------------
32 //-------------------------------------------------------------------
33 vtkImageViewer2_XYZ::vtkImageViewer2_XYZ()
34 {
35         _vtkimageviewer2=  vtkImageViewer2::New();
36         _vtkimageviewer2->GetRenderer()->GradientBackgroundOn();
37         _vtkimageviewer2->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 );
38         _vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 );
39         _colortable = NULL;
40 }
41 //-------------------------------------------------------------------
42 vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ()
43 {
44         //_vtkimageviewer2->Delete();
45 }
46 //-------------------------------------------------------------------
47 void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2,
48                                                                                          int y1,int y2,
49                                                                                          int z1,int z2)
50 {
51         _x1=x1;
52         _x2=x2;
53         _y1=y1;
54         _y2=y2;
55         _z1=z1;
56         _z2=z2;
57 }
58 //-------------------------------------------------------------------
59 void vtkImageViewer2_XYZ::SetXSlice(int slice)
60 {
61         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
62         imageActor->SetDisplayExtent(slice, slice, _y1, _y2, _z1, _z2 );  
63 }
64 //-------------------------------------------------------------------
65 void vtkImageViewer2_XYZ::SetYSlice(int slice)
66 {
67         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
68         imageActor->SetDisplayExtent(_x1, _x2, slice, slice, _z1, _z2 );  
69 }
70 //-------------------------------------------------------------------
71 void vtkImageViewer2_XYZ::SetZSlice(int slice)
72 {
73 #if (VTK_MAJOR_VERSION >= 5)
74 //              _vtkimageviewer2->SetSlice( slice );
75         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
76         imageActor->SetDisplayExtent(_x1, _x2, _y1, _y2, slice, slice );  
77 #else
78                 _vtkimageviewer2->SetZSlice( slice );
79 #endif
80
81
82 }
83 //-------------------------------------------------------------------
84 int vtkImageViewer2_XYZ::GetXSlice()
85 {
86         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
87         return imageActor->GetDisplayExtent()[0];
88 }
89 //-------------------------------------------------------------------
90 int vtkImageViewer2_XYZ::GetYSlice()
91 {
92         vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
93         return imageActor->GetDisplayExtent()[2];
94 }
95 //-------------------------------------------------------------------
96 int vtkImageViewer2_XYZ::GetZSlice()
97 {
98
99          int result;
100 #if (VTK_MAJOR_VERSION >= 5)
101                 result= _vtkimageviewer2->GetSlice( );
102 #else
103                 result= _vtkimageviewer2->GetZSlice( );
104 #endif
105
106         
107         return result;
108 }
109 //-------------------------------------------------------------------
110 vtkImageViewer2 *vtkImageViewer2_XYZ::GetVtkImageViewer2()
111 {
112         return _vtkimageviewer2;
113 }
114
115 void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable){
116
117         
118         vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel();
119
120         if(colortable!=NULL&&colortable->GetSize()>0 && _colortable != colortable){
121                 _colortable = colortable;
122                 imagemaptowindowlevel->SetLookupTable(colortable);
123         }
124
125 }