X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuContourVOI.cxx;h=536d67833e6ab35e184e288bcecc4b682c668bef;hb=a7017a8ade695bd14a4c7ee70b197d63b5e76765;hp=61911bea201f3a549ef559386815300ed3bf260b;hpb=44e4be7013ea566bd2bdefb9d48e1da0071c3d91;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuContourVOI.cxx b/bbtk/src/bbmaracasvisuContourVOI.cxx index 61911be..536d678 100644 --- a/bbtk/src/bbmaracasvisuContourVOI.cxx +++ b/bbtk/src/bbmaracasvisuContourVOI.cxx @@ -1,9 +1,37 @@ +/*# --------------------------------------------------------------------- +# +# 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. +# ------------------------------------------------------------------------ */ + //HOLA!!! //HOLA!!! #include "bbmaracasvisuContourVOI.h" -#include "bbmaracasvisuPackage.h" -namespace bbmaracasvisu +#include "bbcreaMaracasVisuPackage.h" + + + +namespace bbcreaMaracasVisu { //-------------------------------------------------------------------------- @@ -20,20 +48,50 @@ END_EVENT_TABLE( ); wxWidgetVOI::wxWidgetVOI(wxWindow* parent, wxVtkBaseView *wxvtkbaseview, vtkImageData *imagedata) : wxPanel( parent, -1 ) { - wxPanel *panel = this; +// wxPanel *panel = this; + + wxFlexGridSizer *sizer=new wxFlexGridSizer(1); + sizer -> AddGrowableCol(0); + this -> SetSizer(sizer); + this -> SetAutoLayout(true); + this->wxvtkbaseview = NULL; + mcontourvoiwidget=NULL; - mcontourvoiwidget = new ContourVOIWidget( panel, wxvtkbaseview, imagedata ); + if(wxvtkbaseview!=NULL&&imagedata!=NULL){ + + setBaseView(wxvtkbaseview); + setImageData(imagedata); + initializeVOIWidget(); + } + } + void wxWidgetVOI::initializeVOIWidget(){ + wxSizer* sizer = this->GetSizer(); + + +/// \TODO fix deprecated warning: virtual bool wxSizer::Remove(wxWindow*) is deprecated (declared at /usr/include/wx-2.8/wx/sizer.h:513) + if(mcontourvoiwidget!=NULL){ + sizer->Remove( mcontourvoiwidget ); + mcontourvoiwidget->Destroy(); + } + + mcontourvoiwidget = new ContourVOIWidget( this, wxvtkbaseview, imagedata ); mcontourvoiwidget->ConfigureVTK(); -// wxwidget = new wxMPRWidget2( panel, marimagedata , 1 ); -// wxwidget->ConfigureVTK(); - wxFlexGridSizer *sizer=new wxFlexGridSizer(1); sizer -> Add( mcontourvoiwidget,1,wxGROW ); - sizer -> AddGrowableCol(0); - panel -> SetSizer(sizer); - panel -> SetAutoLayout(true); - panel -> Layout(); +// wxwidget = new wxMPRWidget2( panel, marimagedata , 1 ); +// wxwidget->ConfigureVTK(); + + this->Refresh(); + } + + void wxWidgetVOI::setBaseView(wxVtkBaseView * wxvtkbaseview){ + this->wxvtkbaseview = wxvtkbaseview; + } + void wxWidgetVOI::setImageData(vtkImageData * imagedata){ + this->imagedata = imagedata; } + + //-------------------------------------------------------------------------- wxWidgetVOI::~wxWidgetVOI() { @@ -42,7 +100,6 @@ END_EVENT_TABLE( ); //-------------------------------------------------------------------------- void wxWidgetVOI::Refresh() { - printf("EED wxWidgetVOI::Refresh \n"); // wxwidget->RefreshView(); } @@ -52,7 +109,6 @@ END_EVENT_TABLE( ); //--------------- void wxWidgetVOI::OnRefreshView(wxCommandEvent &event) { - printf("EED wxWidgetVOI::OnRefreshView \n"); /* if((wxwidget!=NULL) && (mbbViewerMPR!=NULL)) { @@ -70,7 +126,6 @@ END_EVENT_TABLE( ); //-------------------------------------------------------------------------- void wxWidgetVOI::OnDClickLeft(wxCommandEvent & event) { - printf("EED wxWidgetVOI::OnDClickLeft \n"); // wxwidget->RefreshView(); } @@ -87,64 +142,111 @@ ContourVOIWidget* wxWidgetVOI::GetContourVOIWidget() //------------------------------------------------------ -BBTK_ADD_BLACK_BOX_TO_PACKAGE(maracasvisu,ContourVOI) +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ContourVOI) BBTK_BLACK_BOX_IMPLEMENTATION(ContourVOI,bbtk::WxBlackBox); //------------------------------------------------------ void ContourVOI::Process() { - wxWidgetVOI* wxwidgetvoi = (wxWidgetVOI*)bbGetOutputWidget(); - ContourVOIWidget* contourvoiwidget = wxwidgetvoi->GetContourVOIWidget(); - - int voi[6]; - contourvoiwidget->GetVOI(voi); - char buffer[40]; - sprintf(buffer,"%d %d %d ", voi[0], voi[2], voi[4] ); - std::string Index(buffer); - sprintf(buffer,"%d %d %d ", voi[1]-voi[0]+1, voi[3]-voi[2]+1, voi[5]-voi[4]+1 ); - std::string Size(buffer); - - bbSetOutputIndex( Index ); - bbSetOutputSize( Size ); -} -//------------------------------------------------------ -void ContourVOI::CreateWidget() -{ - bbtkDebugMessageInc("Core",9,"ContourVOI::CreateWidget()"<setBaseView(base); + wxwidgetvoi->setImageData(img); + wxwidgetvoi->initializeVOIWidget(); + } + + if (wxwidgetvoi!=NULL && _img!=NULL && _base != NULL){ + ContourVOIWidget* contourvoiwidget = wxwidgetvoi->GetContourVOIWidget(); + + int voi[6]; + contourvoiwidget->GetVOI(voi); + char buffer[40]; + sprintf(buffer,"%d %d %d ", voi[0], voi[2], voi[4] ); + std::string Index(buffer); + sprintf(buffer,"%d %d %d ", voi[1]-voi[0]+1, voi[3]-voi[2]+1, voi[5]-voi[4]+1 ); + std::string Size(buffer); + + std::cout<<"ContourVOI index "<Delete(); + } + _extract = vtkExtractVOI::New(); + _extract->RemoveAllInputs(); + _extract->SetInput(img); + _extract->SetVOI(voi); + _extract->UpdateWholeExtent(); + _extract->Update(); + bbSetOutputVOI(_extract->GetOutput()); + //JCP + */ + + bbSetOutputIndex( Index ); + bbSetOutputSize( Size ); + } +} +//------------------------------------------------------ +void ContourVOI::CreateWidget(wxWindow* parent) +{ + bbtkDebugMessageInc("Core",9,"ContourVOI::CreateWidget()"<bbSignalOutputModification(); + + //Process(); } //------------------------------------------------------ -void ContourVOI::bbUserConstructor() +void ContourVOI::bbUserSetDefaultValues() { + _img = NULL; + _base = NULL; +//EED 20Juin2011 _extract =NULL; + bbSetInputwxVtkBaseView(NULL); + bbSetInputIn(NULL); + bbSetOutputWidget(NULL); + bbSetOutputVOI(NULL); + + bbSetInputIn(NULL); + bbSetInputwxVtkBaseView(NULL); + } -//------------------------------------------------------ -void ContourVOI::bbUserCopyConstructor() +//----------------------------------------------------------------- +void ContourVOI::bbUserInitializeProcessing() { } - -//------------------------------------------------------ -void ContourVOI::bbUserDestructor() + +//----------------------------------------------------------------- +void ContourVOI::bbUserFinalizeProcessing() { } - - + +//----------------------------------------------------------------- + } -// EO namespace bbmaracasvisu - - +// EO namespace bbcreaMaracasVisu