//HOLA!!!
#include "bbmaracasvisuContourVOI.h"
-#include "bbmaracasvisuPackage.h"
-namespace bbmaracasvisu
+#include "bbcreaMaracasVisuPackage.h"
+namespace bbcreaMaracasVisu
{
//--------------------------------------------------------------------------
wxWidgetVOI::wxWidgetVOI(wxWindow* parent, wxVtkBaseView *wxvtkbaseview, vtkImageData *imagedata)
: wxPanel( parent, -1 )
{
- wxPanel *panel = this;
+// wxPanel *panel = this;
- mcontourvoiwidget = new ContourVOIWidget( panel, wxvtkbaseview, imagedata );
+ wxFlexGridSizer *sizer=new wxFlexGridSizer(1);
+ sizer -> AddGrowableCol(0);
+ this -> SetSizer(sizer);
+ this -> SetAutoLayout(true);
+ this->wxvtkbaseview = NULL;
+ mcontourvoiwidget=NULL;
+
+
+ if(wxvtkbaseview!=NULL&&imagedata!=NULL){
+
+ setBaseView(wxvtkbaseview);
+ setImageData(imagedata);
+ initializeVOIWidget();
+
+ }
+
+
+ }
+ void wxWidgetVOI::initializeVOIWidget(){
+ wxSizer* sizer = this->GetSizer();
+
+
+ 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()
{
//--------------------------------------------------------------------------
void wxWidgetVOI::Refresh()
{
- printf("EED wxWidgetVOI::Refresh \n");
// wxwidget->RefreshView();
}
//---------------
void wxWidgetVOI::OnRefreshView(wxCommandEvent &event)
{
- printf("EED wxWidgetVOI::OnRefreshView \n");
/*
if((wxwidget!=NULL) && (mbbViewerMPR!=NULL))
{
//--------------------------------------------------------------------------
void wxWidgetVOI::OnDClickLeft(wxCommandEvent & event)
{
- printf("EED wxWidgetVOI::OnDClickLeft \n");
// wxwidget->RefreshView();
}
//------------------------------------------------------
-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()"<<std::endl);
-
- if (bbGetInputwxVtkBaseView()==NULL)
+ /*if (bbGetInputwxVtkBaseView()==NULL)
{
- wxMessageDialog(NULL, bbtk::std2wx("(ContourVOI) Input 'wxVtkBaseView' is not set"), bbtk::std2wx(bbGetFullName()) ).ShowModal();
+ wxMessageDialog(NULL, bbtk::std2wx("(ContourVOI) Input 'wxVtkBaseView' is not set"), bbtk::std2wx(bbGetFullName()) ).ShowModal();
}
if (bbGetInputIn()==NULL)
{
wxMessageDialog(NULL, bbtk::std2wx("(ContourVOI) Input 'In' is not set"), bbtk::std2wx(bbGetFullName()) ).ShowModal();
- }
+ }*/
- wxWidgetVOI *mwxwidget = new wxWidgetVOI( bbGetWxParent(), bbGetInputwxVtkBaseView(), bbGetInputIn() );
- bbSetOutputWidget(mwxwidget);
- bbtkDebugDecTab("Core",9);
-}
+ vtkImageData* img = bbGetInputIn();
+ wxVtkBaseView* base = bbGetInputwxVtkBaseView();
+
+ wxWidgetVOI* wxwidgetvoi = (wxWidgetVOI*)bbGetOutputWidget();
+
+ if(base !=NULL && img != NULL && _img != img){
+
+ _img = img;
+ _base = base;
+
+ wxwidgetvoi->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 "<<Index<<" size "<<Size<<std::endl;
+
+ //JCP
+ if(_extract!=NULL){
+ _extract->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::bbUserConstructor()
-{
}
//------------------------------------------------------
-void ContourVOI::bbUserCopyConstructor()
-{
+void ContourVOI::CreateWidget(wxWindow* parent)
+{
+ bbtkDebugMessageInc("Core",9,"ContourVOI::CreateWidget()"<<std::endl);
+ wxWidgetVOI *mwxwidget = new wxWidgetVOI( parent );
+ bbSetOutputWidget(mwxwidget);
+ bbtkDebugDecTab("Core",9);
+ this->bbSignalOutputModification();
+
+ //Process();
}
//------------------------------------------------------
-void ContourVOI::bbUserDestructor()
+void ContourVOI::bbUserSetDefaultValues()
{
+
+ _img = NULL;
+ _base = NULL;
+ _extract =NULL;
+ bbSetInputwxVtkBaseView(NULL);
+ bbSetInputIn(NULL);
+ bbSetOutputWidget(NULL);
+ bbSetOutputVOI(NULL);
+
+ bbSetInputIn(NULL);
+ bbSetInputwxVtkBaseView(NULL);
+
}
+ //-----------------------------------------------------------------
+ void ContourVOI::bbUserInitializeProcessing()
+ {
+ }
+
+ //-----------------------------------------------------------------
+ void ContourVOI::bbUserFinalizeProcessing()
+ {
+ }
+
+ //-----------------------------------------------------------------
+
}
-// EO namespace bbmaracasvisu
+// EO namespace bbcreaMaracasVisu