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"
35 //-------------------------------------------------------------------
36 //-------------------------------------------------------------------
37 //-------------------------------------------------------------------
38 vtkImageViewer2_XYZ::vtkImageViewer2_XYZ()
41 _vtkimageviewer2 = vtkImageViewer2::New();
42 _vtkimageviewer2->GetRenderer()->GradientBackgroundOn();
43 _vtkimageviewer2->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 );
44 _vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 );
47 //-------------------------------------------------------------------
48 vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ()
50 //_vtkimageviewer2->Delete();
53 //-------------------------------------------------------------------
54 void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2,
66 //-------------------------------------------------------------------
67 void vtkImageViewer2_XYZ::SetXSlice(int slice)
69 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
70 imageActor->SetDisplayExtent(slice, slice, _y1, _y2, _z1, _z2 );
73 //-------------------------------------------------------------------
74 void vtkImageViewer2_XYZ::SetYSlice(int slice)
76 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
77 imageActor->SetDisplayExtent(_x1, _x2, slice, slice, _z1, _z2 );
80 //-------------------------------------------------------------------
81 void vtkImageViewer2_XYZ::SetZSlice(int slice)
83 #if (VTK_MAJOR_VERSION >= 5)
84 // _vtkimageviewer2->SetSlice( slice );
85 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
86 imageActor->SetDisplayExtent(_x1, _x2, _y1, _y2, slice, slice );
88 _vtkimageviewer2->SetZSlice( slice );
91 //-------------------------------------------------------------------
92 int vtkImageViewer2_XYZ::GetXSlice()
94 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
95 return imageActor->GetDisplayExtent()[0];
98 //-------------------------------------------------------------------
99 int vtkImageViewer2_XYZ::GetYSlice()
101 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
102 return imageActor->GetDisplayExtent()[2];
105 //-------------------------------------------------------------------
106 int vtkImageViewer2_XYZ::GetZSlice()
109 #if (VTK_MAJOR_VERSION >= 5)
110 result= _vtkimageviewer2->GetSlice( );
112 result= _vtkimageviewer2->GetZSlice( );
117 //-------------------------------------------------------------------
118 vtkImageViewer2 *vtkImageViewer2_XYZ::GetVtkImageViewer2()
120 return _vtkimageviewer2;
123 //-------------------------------------------------------------------
124 void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable)
126 if(colortable!=NULL && colortable->GetSize()>0 && _colortable!=colortable)
128 _colortable = colortable;
129 vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel();
130 imagemaptowindowlevel->SetLookupTable(_colortable);
134 //-------------------------------------------------------------------
135 void vtkImageViewer2_XYZ::setScalarsToColors(vtkScalarsToColors* colortable, int outputformat)
137 /* outputformat VTK-8.1.1/Common/Core/vtkSystemIncludes.h
139 VTK_LUMINANCE_ALPHA 2
143 if( _colortable!=colortable)
145 _colortable = colortable;
146 _vtkimageviewer2->GetWindowLevel()->SetOutputFormat( outputformat );
147 _vtkimageviewer2->GetWindowLevel()->SetLookupTable(colortable);
148 _vtkimageviewer2->GetWindowLevel()->SetOutputFormatToRGB();
149 // vtkLookupTableDirectionVector2 *_LutEED = vtkLookupTableDirectionVector2::New();
150 // _LutEED->SetVectorModeToRGBColors();
151 // _vtkimageviewer2->GetWindowLevel()->SetLookupTable(_LutEED);