X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkInfoTextImage.cxx;h=33d6f4c269780f9d8cf7dff67d64dad7b043d9bb;hb=b613b5c774c04bcd993e3c249b43e2c43771847d;hp=d219404bc0c4202dfc6cb67fee2cd5dfd546681e;hpb=9ddd28bedb530df448addc8851763ab796622b42;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImage.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImage.cxx index d219404..33d6f4c 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImage.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImage.cxx @@ -1,3 +1,28 @@ +/*# --------------------------------------------------------------------- +# +# 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 "vtkInfoTextImage.h" #include "vtkTextProperty.h" @@ -12,6 +37,7 @@ vtkInfoTextImage::vtkInfoTextImage() _vtkText_ColorLevel = NULL; _vtkText_position = NULL; _vtkText_pixelIntensity = NULL; + _vtkText_plane = NULL; _marimagedata = NULL; } @@ -25,10 +51,13 @@ vtkInfoTextImage::~vtkInfoTextImage() void vtkInfoTextImage::Configure() { - _vtkText_WindowLevel = Create_Text_Label( 10 , 55 ); - _vtkText_ColorLevel = Create_Text_Label( 10 , 40 ); - _vtkText_position = Create_Text_Label( 10 , 25 ); - _vtkText_pixelIntensity = Create_Text_Label( 10 , 10 ); + if(_vtkText_WindowLevel == NULL){ + _vtkText_WindowLevel = Create_Text_Label( 10 , 60 ); + _vtkText_ColorLevel = Create_Text_Label( 10 , 45 ); + _vtkText_position = Create_Text_Label( 10 , 30 ); + _vtkText_pixelIntensity = Create_Text_Label( 10 , 15 ); + _vtkText_plane = Create_Text_Label( 10 , 0 ); + } } @@ -36,14 +65,14 @@ void vtkInfoTextImage::Configure() void vtkInfoTextImage::SetMarImageData(marImageData *marimagedata) { - _marimagedata=marimagedata; + _marimagedata = marimagedata; } //------------------------------------------------------------------- void vtkInfoTextImage::SetWxVtk2DBaseView(wxVtk2DBaseView *wxvtk2Dbaseview) { - _wxvtk2Dbaseview=wxvtk2Dbaseview; + _wxvtk2Dbaseview = wxvtk2Dbaseview; } //------------------------------------------------------------------- @@ -72,7 +101,7 @@ vtkTextActor *vtkInfoTextImage::Create_Text_Label(int px, int py ) void vtkInfoTextImage::PutWindowLevel() { - int value = (int)( _wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->GetWindow() ); + double value = _wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->GetWindow() ; char zTzxt[20]; char resultText[50]; @@ -80,7 +109,7 @@ void vtkInfoTextImage::PutWindowLevel() //ltoa ( (long)value , zTzxt , 10 ); - sprintf(zTzxt,"%d",value); + sprintf(zTzxt,"%3.4f",value); strcat(resultText,zTzxt); _vtkText_WindowLevel -> SetInput(resultText); @@ -90,19 +119,38 @@ void vtkInfoTextImage::PutWindowLevel() void vtkInfoTextImage::PutColorLevel() { - int value = (int)(_wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->GetLevel()); + double value = _wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->GetLevel(); + char zTzxt[20]; char resultText[50]; strcpy(resultText,"c:"); // itoa (value,zTzxt,10); - sprintf(zTzxt,"%d",value); + sprintf(zTzxt,"%3.2f",value); strcat(resultText,zTzxt); _vtkText_ColorLevel -> SetInput(resultText); } +//------------------------------------------------------------------- +void vtkInfoTextImage::PutPlane() +{ + int plane = _wxvtk2Dbaseview->GetDirection(); + char zTzxt[20]; + char resultText[50]; + + if (plane==0) { strcpy(resultText,"plane:YZ"); } + if (plane==1) { strcpy(resultText,"plane:XZ"); } + if (plane==2) { strcpy(resultText,"plane:XY"); } + +// itoa (value,zTzxt,10); +// sprintf(zTzxt,"%d",value); + +// strcat(resultText,zTzxt); + _vtkText_plane -> SetInput(resultText); +} + //------------------------------------------------------------------- void vtkInfoTextImage::PutPosition(int xx,int yy, int zz) @@ -160,9 +208,6 @@ void vtkInfoTextImage::PutPosition(int xx,int yy, int zz) strcat(resultText,zTzxt); strcat(resultText,")"); - - - _vtkText_position -> SetInput(resultText); } @@ -210,7 +255,7 @@ void vtkInfoTextImage::PutPixelIntensity(int xx, int yy, int zz) } } - if (imagedata->GetScalarType()==VTK_CHAR) + else if (imagedata->GetScalarType()==VTK_CHAR) { char *pOrg=(char*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); @@ -218,7 +263,7 @@ void vtkInfoTextImage::PutPixelIntensity(int xx, int yy, int zz) sprintf(zTzxt,"%d",tmp); } - if (imagedata->GetScalarType()==VTK_SIGNED_CHAR) + else if (imagedata->GetScalarType()==VTK_SIGNED_CHAR) { signed char *pOrg=(signed char*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); @@ -226,7 +271,7 @@ void vtkInfoTextImage::PutPixelIntensity(int xx, int yy, int zz) sprintf(zTzxt,"%d",tmp); } - if (imagedata->GetScalarType()==VTK_UNSIGNED_CHAR) + else if (imagedata->GetScalarType()==VTK_UNSIGNED_CHAR) { unsigned char *pOrg=(unsigned char*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); @@ -234,7 +279,7 @@ void vtkInfoTextImage::PutPixelIntensity(int xx, int yy, int zz) sprintf(zTzxt,"%d",tmp); } - if (imagedata->GetScalarType()==VTK_SHORT) + else if (imagedata->GetScalarType()==VTK_SHORT) { short *pOrg=(short*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); @@ -242,7 +287,7 @@ void vtkInfoTextImage::PutPixelIntensity(int xx, int yy, int zz) sprintf(zTzxt,"%d",tmp); } - if (imagedata->GetScalarType()==VTK_UNSIGNED_SHORT) + else if (imagedata->GetScalarType()==VTK_UNSIGNED_SHORT) { unsigned short *pOrg=(unsigned short*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); @@ -250,14 +295,14 @@ void vtkInfoTextImage::PutPixelIntensity(int xx, int yy, int zz) sprintf(zTzxt,"%d",tmp); } - if (imagedata->GetScalarType()==VTK_INT) + else if (imagedata->GetScalarType()==VTK_INT) { int *pOrg=(int*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); sprintf(zTzxt,"%d",*pOrg); } - if (imagedata->GetScalarType()==VTK_UNSIGNED_INT) + else if (imagedata->GetScalarType()==VTK_UNSIGNED_INT) { unsigned int *pOrg=(unsigned int*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); @@ -265,36 +310,36 @@ void vtkInfoTextImage::PutPixelIntensity(int xx, int yy, int zz) sprintf(zTzxt,"%d",tmp); } - if (imagedata->GetScalarType()==VTK_LONG) + else if (imagedata->GetScalarType()==VTK_LONG) { long *pOrg=(long*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); double tmp=*pOrg; - sprintf(zTzxt,"%3.2f",tmp); + sprintf(zTzxt,"%3.4f",tmp); } - if (imagedata->GetScalarType()==VTK_UNSIGNED_LONG) + else if (imagedata->GetScalarType()==VTK_UNSIGNED_LONG) { unsigned long *pOrg=(unsigned long*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); double tmp=*pOrg; - sprintf(zTzxt,"%3.2f",tmp); + sprintf(zTzxt,"%3.4f",tmp); } - if (imagedata->GetScalarType()==VTK_FLOAT) + else if (imagedata->GetScalarType()==VTK_FLOAT) { float *pOrg=(float*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); double tmp=(double)*pOrg; - sprintf(zTzxt,"%3.2f",tmp); + sprintf(zTzxt,"%3.4f",tmp); } - if (imagedata->GetScalarType()==VTK_DOUBLE) + else if (imagedata->GetScalarType()==VTK_DOUBLE) { double *pOrg=(double*)imagedata->GetScalarPointer ((int)xx,(int)yy,(int)zz); // itoa (*pOrg,zTzxt,10); double tmp=*pOrg; - sprintf(zTzxt,"%3.2f",tmp); + sprintf(zTzxt,"%3.4f",tmp); } } else