1 /*# ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
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
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.
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
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 # ------------------------------------------------------------------------ */
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()
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 );
41 //-------------------------------------------------------------------
42 vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ()
44 //_vtkimageviewer2->Delete();
46 //-------------------------------------------------------------------
47 void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2,
58 //-------------------------------------------------------------------
59 void vtkImageViewer2_XYZ::SetXSlice(int slice)
61 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
62 imageActor->SetDisplayExtent(slice, slice, _y1, _y2, _z1, _z2 );
64 //-------------------------------------------------------------------
65 void vtkImageViewer2_XYZ::SetYSlice(int slice)
67 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
68 imageActor->SetDisplayExtent(_x1, _x2, slice, slice, _z1, _z2 );
70 //-------------------------------------------------------------------
71 void vtkImageViewer2_XYZ::SetZSlice(int slice)
73 #if (VTK_MAJOR_VERSION >= 5)
74 // _vtkimageviewer2->SetSlice( slice );
75 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
76 imageActor->SetDisplayExtent(_x1, _x2, _y1, _y2, slice, slice );
78 _vtkimageviewer2->SetZSlice( slice );
83 //-------------------------------------------------------------------
84 int vtkImageViewer2_XYZ::GetXSlice()
86 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
87 return imageActor->GetDisplayExtent()[0];
89 //-------------------------------------------------------------------
90 int vtkImageViewer2_XYZ::GetYSlice()
92 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
93 return imageActor->GetDisplayExtent()[2];
95 //-------------------------------------------------------------------
96 int vtkImageViewer2_XYZ::GetZSlice()
100 #if (VTK_MAJOR_VERSION >= 5)
101 result= _vtkimageviewer2->GetSlice( );
103 result= _vtkimageviewer2->GetZSlice( );
109 //-------------------------------------------------------------------
110 vtkImageViewer2 *vtkImageViewer2_XYZ::GetVtkImageViewer2()
112 return _vtkimageviewer2;
115 void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable){
118 vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel();
120 if(colortable!=NULL&&colortable->GetSize()>0 && _colortable != colortable){
121 _colortable = colortable;
122 imagemaptowindowlevel->SetLookupTable(colortable);