X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2FContour%2FContourCrownWidget.cxx;h=010ec0c533cb3ca0b73357c5e14b7ed894ab3a2d;hb=a906c7009b5c3c2ef5263f4d84ba13be7d4549ff;hp=ba64844d8ef8dc08b5e16441471ef8e1bf7bd0b1;hpb=c5feadbb145eecf6d73f793535b7e23eb18db2cb;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourCrownWidget.cxx b/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourCrownWidget.cxx index ba64844..010ec0c 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourCrownWidget.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourCrownWidget.cxx @@ -1,48 +1,43 @@ +/*# --------------------------------------------------------------------- +# +# 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 "ContourCrownWidget.h" #include #include - +#include "wxVtk2DBaseView.h" +#include "vtkLookupTable.h" //---------------------------------------------------------------------- - wxMaracasCoutourTool::wxMaracasCoutourTool(wxWindow *parent, wxVtkBaseView *wxvtkbaseview, vtkImageData* imagedata) + wxMaracasCoutourTool::wxMaracasCoutourTool(wxWindow *parent) : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) { -//EED this->mbbtkContourCrown = contourcrown; - this->imagedata = imagedata; - this->wxvtkbaseview = wxvtkbaseview; wxPanel *panel = this; wxSizer *sizer = NULL; - InitVtkImagesResult(); - - vtkLookupTable *table = vtkLookupTable::New(); -// table->SetAlphaRange(128,255); - table->SetRange(0, 255); // image intensity range -// table->SetValueRange(0.0, 1.0); // from black to white - table->SetValueRange(0.0, 255.0); // from black to white - - table->SetTableValue (0, 1.0 , 1.0 , 1.0 , 0.1 ); - table->SetTableValue (255, 1.0 , 1.0 , 0.0 , 0.1); - -// table->SetTableValue (0, 0.0 , 0.0 , 1.0 , 0.35 ); -// table->SetTableValue (255, 1.0 , 0.0 , 0.0 , 0.10); - - table->SetSaturationRange(0.0, 0.0); // no color saturation - table->SetRampToLinear(); - table->Build(); - - vtkImageMapToColors *mapperImage = vtkImageMapToColors::New(); - mapperImage->SetLookupTable(table); - mapperImage->SetInput( imagedataMaskResult ); - vtkImageActor *actorImage = vtkImageActor::New(); - actorImage->SetInput( mapperImage->GetOutput() ); - actorImage->SetOpacity(1); - - wxvtkbaseview->GetRenderer()->AddActor(actorImage); - // Widget interface wxButton *btnContourA = new wxButton( panel, -1, _T("Crown Extern")); wxButton *btnContourB = new wxButton( panel, -1, _T("Crown Intern")); @@ -103,8 +98,53 @@ } - // ------------------------------------------------------------------------ + // ------------------------------------------------------------------------ +void wxMaracasCoutourTool::Init(wxVtkBaseView *wxvtkbaseview, vtkImageData* imagedata) +{ + this->imagedata = imagedata; + this->wxvtkbaseview = wxvtkbaseview; + + InitVtkImagesResult(); + + vtkLookupTable *table = vtkLookupTable::New(); + // table->SetAlphaRange(128,255); + table->SetRange(0, 255); // image intensity range + // table->SetValueRange(0.0, 1.0); // from black to white + table->SetValueRange(0.0, 255.0); // from black to white + + table->SetTableValue (0, 1.0 , 1.0 , 1.0 , 0.1 ); + table->SetTableValue (255, 1.0 , 1.0 , 0.0 , 0.1); + + // table->SetTableValue (0, 0.0 , 0.0 , 1.0 , 0.35 ); + // table->SetTableValue (255, 1.0 , 0.0 , 0.0 , 0.10); + + table->SetSaturationRange(0.0, 0.0); // no color saturation + table->SetRampToLinear(); + table->Build(); + + vtkImageMapToColors *mapperImage = vtkImageMapToColors::New(); + vtkImageActor *actorImage = vtkImageActor::New(); + + mapperImage->SetLookupTable(table); + + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + mapperImage->SetInput( imagedataMaskResult ); + actorImage->SetInput( mapperImage->GetOutput() ); +#else + mapperImage->SetInputData( imagedataMaskResult ); + actorImage->SetInputData( mapperImage->GetOutput() ); +#endif + + + actorImage->SetOpacity(1); + + wxvtkbaseview->GetRenderer()->AddActor(actorImage); +} + + // ------------------------------------------------------------------------ void wxMaracasCoutourTool::ConfigureVTK() { double spc[3]; @@ -133,7 +173,7 @@ _manContourControl_1->SetModelView( _mContourModel_1 , _mViewContour_1 ); - this->wxvtkbaseview->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _manContourControl_1 ); + ((vtkInteractorStyleBaseView*)this->wxvtkbaseview->GetInteractorStyleBaseView())->AddInteractorStyleMaracas( _manContourControl_1 ); _manContourControl_1->CreateNewManualContour(); _manContourControl_1->SetActive(false); _mViewContour_1->RefreshContour(); @@ -157,7 +197,7 @@ _manContourControl_2->SetModelView( _mContourModel_2 , _mViewContour_2 ); - this->wxvtkbaseview->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _manContourControl_2 ); + ((vtkInteractorStyleBaseView*)this->wxvtkbaseview->GetInteractorStyleBaseView())->AddInteractorStyleMaracas( _manContourControl_2 ); _manContourControl_2->CreateNewManualContour(); _manContourControl_2->SetActive(false); _mViewContour_2->RefreshContour(); @@ -244,7 +284,7 @@ void wxMaracasCoutourTool::GetMinMaxPoint(int *minPoint, ) { int i; - int np = manualviewbaseecontour->GetNumberOfPoints( ); // number of control points + //int np = manualviewbaseecontour->GetNumberOfPoints( ); // number of control points // JPRx // JSTG 26-02-08 --------------------------------------------------------------------------------------- //int nps = manualviewbaseecontour->GetNumberOfPointsSpline(); // number of points in the spline @@ -459,17 +499,31 @@ void wxMaracasCoutourTool::InitVtkImagesResult() imagedataValueResult = vtkImageData::New(); // imagedataValueResult->SetScalarType(scalartype); - imagedataValueResult->SetScalarTypeToUnsignedShort(); imagedataValueResult->SetSpacing(spc); imagedataValueResult->SetDimensions( newDim ); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + imagedataValueResult->SetScalarTypeToUnsignedShort(); imagedataValueResult->AllocateScalars(); +#else + imagedataValueResult->AllocateScalars(VTK_UNSIGNED_SHORT,1); +#endif + imagedataMaskResult = vtkImageData::New(); // imagedataMaskResult->SetScalarType(scalartype); - imagedataMaskResult->SetScalarTypeToUnsignedShort(); imagedataMaskResult->SetSpacing(spc); imagedataMaskResult->SetDimensions( newDim ); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + imagedataMaskResult->SetScalarTypeToUnsignedShort(); imagedataMaskResult->AllocateScalars(); +#else + imagedataMaskResult->AllocateScalars(VTK_UNSIGNED_SHORT,1); +#endif + } @@ -567,8 +621,9 @@ void wxMaracasCoutourTool::EreaseLastContour(wxCommandEvent& event) { while(!feof(fd)) { - fscanf(fd,""); - fscanf(fd," %s %d",&firstline,&size); +// //fscanf(fd," %s %d",&firstline,&size); // JPRx + fscanf(fd," %s %d",firstline,&size); + _SizesC.push_back(size); for(j=0; j