From cbe3176d12a4163a8ec9bfe62cd62ceba115090e Mon Sep 17 00:00:00 2001 From: Juan Prieto Date: Tue, 14 Apr 2009 17:18:58 +0000 Subject: [PATCH] *** empty log message *** --- .../wxContourGUIExample.cxx | 7 +++- bbtk/src/bbCreaContournDimensions.cxx | 28 +++++++++++----- bbtk/src/bbCreaContournDimensions.h | 6 ++-- .../interfMainPanel.cxx | 4 ++- .../wxContourMainFrame.cxx | 33 ++++++++++--------- .../wxContourMainFrame.h | 6 +++- 6 files changed, 54 insertions(+), 30 deletions(-) diff --git a/appli/wxContourGUIExample/wxContourGUIExample.cxx b/appli/wxContourGUIExample/wxContourGUIExample.cxx index 1901118..201dcbb 100644 --- a/appli/wxContourGUIExample/wxContourGUIExample.cxx +++ b/appli/wxContourGUIExample/wxContourGUIExample.cxx @@ -47,7 +47,8 @@ # define PATH_MAX 2048 #endif - +#include +#include wxContourMainFrame* wxTheApplication::frame = 0; @@ -280,6 +281,10 @@ void wxAppConsole::OnAssertFailure(char const *,int,char const *,char const *,ch bool wxTheApplication :: OnInit() { + + + + wxInitAllImageHandlers(); int image_type = GIMMICK_3D_IMAGE_SELECTION; diff --git a/bbtk/src/bbCreaContournDimensions.cxx b/bbtk/src/bbCreaContournDimensions.cxx index 52aeb28..6708db5 100644 --- a/bbtk/src/bbCreaContournDimensions.cxx +++ b/bbtk/src/bbCreaContournDimensions.cxx @@ -9,6 +9,8 @@ void nDimensions::Process() { double **vectx, **vecty, **vectz; + + std::vector< void * > vectortemp; std::vector size; vtkImageData *mask, *value; @@ -19,16 +21,15 @@ void nDimensions::Process() currentimg=img; selectedimages.push_back(img); - frame->setVectImages(selectedimages); + wxContourMainFrame::getInstance()->setVectImages(selectedimages); } - if(bbGetInputGet()==1){ - bbSetInputGet(0); - //eventHandler->checkInformationPanel(); - //eventHandler->getValuesXYZ(vectx, vecty, vectz, &size); - //eventHandler->getMaskValue(mask, value); + if(currentimg != NULL){ + int contourtype = bbGetInputContourType(); + //wxContourMainFrame::getInstance()->getValuesXYZ(vectx, vecty, vectz, &size); + wxContourMainFrame::getInstance()->getMaskValue(mask, value, contourtype); } bbSetOutputX(vectx); @@ -51,8 +52,17 @@ void nDimensions::CreateWidget(wxWindow* parent) //new wxContourMainFrame( frame1, wxID_ANY, _T(""), wxPoint(50,50), wxSize(800, 600),selectedimages ); //frame1->CreateStatusBar(); //bbSetOutputWidget( frame1 ); - frame = wxContourMainFrame::getInstance(parent, wxID_ANY, wxString(_T("")), wxPoint(100,50), wxSize(800, 600), selectedimages ); - bbSetOutputWidget( frame ); + + char currentPath[_MAX_PATH]; + HMODULE hand = GetModuleHandle("bbcreaContours"); + GetModuleFileName(hand, currentPath, _MAX_PATH); + + std::string path = currentPath; + + path = path.substr(0,path.find_last_of("\\")); + + wxPanel* panel = wxContourMainFrame::getInstance(parent, wxID_ANY, wxString(_T("")), wxPoint(100,50), wxSize(800, 600), selectedimages,wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER,path ); + bbSetOutputWidget( panel ); @@ -62,7 +72,7 @@ void nDimensions::CreateWidget(wxWindow* parent) void nDimensions::bbUserConstructor() { - bbSetInputGet(0); + bbSetInputContourType(0); bbSetInputIn(NULL); } diff --git a/bbtk/src/bbCreaContournDimensions.h b/bbtk/src/bbCreaContournDimensions.h index 1f9989c..ada4f5d 100644 --- a/bbtk/src/bbCreaContournDimensions.h +++ b/bbtk/src/bbCreaContournDimensions.h @@ -32,7 +32,7 @@ virtual void bbUserDestructor(); //================================================================== BBTK_DECLARE_INPUT(WorkDir,std::string); BBTK_DECLARE_INPUT(In,vtkImageData*); - BBTK_DECLARE_INPUT(Get,int); + BBTK_DECLARE_INPUT(ContourType,int); BBTK_PROCESS(Process); void Process(); BBTK_CREATE_WIDGET(CreateWidget); @@ -46,7 +46,7 @@ virtual void bbUserDestructor(); BBTK_DECLARE_OUTPUT(SizeContour,std::vector ); private: - wxContourMainFrame* frame; + //wxContourMainFrame* frame; vtkImageData* currentimg; //wxContourEventHandler * eventHandler; @@ -59,7 +59,7 @@ BBTK_DESCRIPTION("With a given image, the box shows the ndimension application") BBTK_CATEGORY("__CategoryBlackBox__"); BBTK_INPUT(nDimensions,WorkDir,"Working data directory where config and data files are located",std::string,""); BBTK_INPUT(nDimensions,In,"Image to be shown",vtkImageData*,""); -BBTK_INPUT(nDimensions,Get,"Set to 1 when data ready to be exported",int,""); +BBTK_INPUT(nDimensions,ContourType,"Contour type to be exported: ",int,""); BBTK_OUTPUT(nDimensions,Mask,"Mask of the contours",vtkImageData*,""); BBTK_OUTPUT(nDimensions,Value,"Value of the contours",vtkImageData*,""); diff --git a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx index 08cdc94..47f7637 100644 --- a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx +++ b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx @@ -608,7 +608,9 @@ void interfMainPanel::onInformationContourLabels(int typeContourGroup,int select } void interfMainPanel::setStringInfoPanel(wxString tmpString){ - ((interfInformationPanel*)informationPanel)->setStringInfoPanel(tmpString); + if(informationPanel!=NULL){ + ((interfInformationPanel*)informationPanel)->setStringInfoPanel(tmpString); + } } void interfMainPanel::setRowLabelInfoPanel(int z, wxString tempString){ diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx index 34182bd..bb5f01f 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx @@ -2093,7 +2093,10 @@ void wxContourMainFrame::onInformationContourLabels(int typeContourGroup,int sel void wxContourMainFrame::onSaveResults(std::string directory,std::string namefile, std::string filename, int typeContourGroup){ SaveValuesXYZ( directory , namefile, typeContourGroup ); - SaveImageResult( directory , namefile, typeContourGroup); + + vtkImageData* mask, *value; + this->getMaskValue(mask, value, typeContourGroup); + this->SaveImageResult( directory , namefile, mask, value); FILE *pFile=fopen(filename.c_str(),"w+"); @@ -2253,8 +2256,7 @@ void wxContourMainFrame::SaveValuesXYZ(std::string directory,std::string namefil delete contourextractdata; } -void wxContourMainFrame::SaveImageResult(std::string directory,std::string namefile, int typeContourGroup) -{ +void wxContourMainFrame::getMaskValue(vtkImageData* mask,vtkImageData* value,int typeContourGroup){ wxBusyCursor wait; ContourExtractData *contourextractdata = new ContourExtractData( true ); //int typeContourGroup = this->_radiolstboxContourGroup->GetSelection(); @@ -2333,20 +2335,19 @@ void wxContourMainFrame::SaveImageResult(std::string directory,std::string namef } contourextractdata->SetLstManualContourModel( lstManConModTmp ); - - -// for (ii=0 ; iigetModel() ); -// } -// contourextractdata->SetLstManualContourModel( lstManConMod ); - contourextractdata->CalculateImageResult(); // with actual Z } // for iContourGroup } // for z + value = contourextractdata->GetVtkImageValueResult(); + mask = contourextractdata->GetVtkImageMaskResult(); + delete contourextractdata; +} + +void wxContourMainFrame::SaveImageResult(std::string directory,std::string namefile, vtkImageData* mask,vtkImageData* value) +{ + std::string temp = directory + "/" + namefile + "-Value.mhd"; wxString filename = crea::std2wx(temp); @@ -2360,7 +2361,7 @@ void wxContourMainFrame::SaveImageResult(std::string directory,std::string namef // Image Value vtkMetaImageWriter *writerValueImage = vtkMetaImageWriter::New( ); - writerValueImage->SetInput( contourextractdata->GetVtkImageValueResult() ); + writerValueImage->SetInput( value ); writerValueImage->SetFileName( (const char *)filename.mb_str() ); writerValueImage->SetFileDimensionality( 3 ); writerValueImage->Write( ); @@ -2379,15 +2380,17 @@ void wxContourMainFrame::SaveImageResult(std::string directory,std::string namef filename.append(_T("-Mask.mhd"));*/ vtkMetaImageWriter *writerMaskImage = vtkMetaImageWriter::New( ); - writerMaskImage->SetInput( contourextractdata->GetVtkImageMaskResult() ); + writerMaskImage->SetInput( mask ); writerMaskImage->SetFileName( (const char *)filename.mb_str() ); writerMaskImage->SetFileDimensionality( 3 ); writerMaskImage->Write( ); interfMainPanel::getInstance()->setStringInfoPanel( _T("") ); - delete contourextractdata; + } + + void wxContourMainFrame::onChangeInstantInstantPanel(std::string name,int value, int minshow, int maxshow){ if( name.compare( _theViewPanel->getVerticalConceptName() ) == 0){ _theViewPanel->setActualVertical( value); diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h index 80ca4e2..0bcb36c 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h @@ -153,6 +153,10 @@ class wxContourMainFrame : public wxPanel { void setInstantChooserPanel( wxInstantChooserPanel * theInstantChooserPanel ); + void getMaskValue(vtkImageData* mask,vtkImageData* value,int typeContourGroup); + + void SaveImageResult(std::string directory,std::string namefile, vtkImageData* mask,vtkImageData* value); + // void setButtonsBar( wxContour_ButtonsBar * theButtonsBar ); // void setGrid( wxContour_Grid * theGridPanel ); @@ -289,7 +293,7 @@ class wxContourMainFrame : public wxPanel { void SaveValuesXYZ(std::string directory,std::string namefile, int typeContourGroup); - void SaveImageResult(std::string directory,std::string namefile, int typeContourGroup); + void onChangeInstantInstantPanel(std::string name,int value, int minshow, int maxshow); -- 2.45.1