X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkImageViewer2_XYZ.cxx;h=69a183fd49a728ad669b2f55543f9cd41d781911;hb=dea0efc567d8332b2e7eb936e3ba4ac1c11b2542;hp=c692f96ed76db559906340690f774792721f58a7;hpb=6e940f8b87d85a90438f01d56c3c6c92da2bc14a;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx index c692f96..69a183f 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx @@ -1,6 +1,32 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #include "vtkImageViewer2_XYZ.h" #include "vtkRenderer.h" #include "vtkImageActor.h" +#include "vtkImageData.h" //------------------------------------------------------------------- //------------------------------------------------------------------- //------------------------------------------------------------------- @@ -9,7 +35,8 @@ vtkImageViewer2_XYZ::vtkImageViewer2_XYZ() _vtkimageviewer2= vtkImageViewer2::New(); _vtkimageviewer2->GetRenderer()->GradientBackgroundOn(); _vtkimageviewer2->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 ); - _vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 ); + _vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 ); + _colortable = NULL; } //------------------------------------------------------------------- vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ() @@ -21,25 +48,28 @@ void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2, int y1,int y2, int z1,int z2) { - _x1=x1; - _x2=x2; - _y1=y1; - _y2=y2; - _z1=z1; - _z2=z2; + _x1 = x1; + _x2 = x2; + _y1 = y1; + _y2 = y2; + _z1 = z1; + _z2 = z2; } + //------------------------------------------------------------------- void vtkImageViewer2_XYZ::SetXSlice(int slice) { vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor(); imageActor->SetDisplayExtent(slice, slice, _y1, _y2, _z1, _z2 ); } + //------------------------------------------------------------------- void vtkImageViewer2_XYZ::SetYSlice(int slice) { vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor(); imageActor->SetDisplayExtent(_x1, _x2, slice, slice, _z1, _z2 ); } + //------------------------------------------------------------------- void vtkImageViewer2_XYZ::SetZSlice(int slice) { @@ -50,8 +80,6 @@ void vtkImageViewer2_XYZ::SetZSlice(int slice) #else _vtkimageviewer2->SetZSlice( slice ); #endif - - } //------------------------------------------------------------------- int vtkImageViewer2_XYZ::GetXSlice() @@ -59,38 +87,38 @@ int vtkImageViewer2_XYZ::GetXSlice() vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor(); return imageActor->GetDisplayExtent()[0]; } + //------------------------------------------------------------------- int vtkImageViewer2_XYZ::GetYSlice() { vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor(); return imageActor->GetDisplayExtent()[2]; } + //------------------------------------------------------------------- int vtkImageViewer2_XYZ::GetZSlice() { - int result; #if (VTK_MAJOR_VERSION >= 5) result= _vtkimageviewer2->GetSlice( ); #else result= _vtkimageviewer2->GetZSlice( ); -#endif - - +#endif return result; } + //------------------------------------------------------------------- vtkImageViewer2 *vtkImageViewer2_XYZ::GetVtkImageViewer2() { return _vtkimageviewer2; } - -void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable){ - +//------------------------------------------------------------------- +void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable) +{ vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel(); - - if(colortable!=NULL&&colortable->GetSize()>0){ + if(colortable!=NULL&&colortable->GetSize()>0 && _colortable != colortable) + { + _colortable = colortable; imagemaptowindowlevel->SetLookupTable(colortable); } - }