X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.cxx;h=8c8beb05edb61a3fae3d56edcde0459c526bc5da;hb=6aefbb5961fe348605e42445066f6c7933af32f6;hp=4491a012dc333ccbb0161625a03068428ea55ea5;hpb=2ddb9de651984bea4376da16a35e2f02a78a76c0;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx index 4491a01..8c8beb0 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx @@ -153,7 +153,8 @@ void wxContourMainFrame::setVectImages(std::vector imgs) } - wxContourMainFrame* wxContourMainFrame :: getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style,std::string datadir ){ + wxContourMainFrame* wxContourMainFrame :: getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style,std::string datadir ) + { if(instance == NULL){ instance = new wxContourMainFrame(parent, id, title, pos, size, images, style,datadir); } @@ -346,6 +347,15 @@ void wxContourMainFrame::onCreateContourPoints( ){ } // RaC 09-09 -------------------------------------- +// RaC 10-09 -------------------------------------- +void wxContourMainFrame::onCreateContourPolygon( ){ + //JCP 20-10-08 Undo redo implementation + saveState(); + //JCP 20-10-08 Undo redo implementation + createContour( 10 ); +} +// RaC 10-09 -------------------------------------- + //------------------------------------------------------------------------------------------------------------ void wxContourMainFrame :: onCreateContourBullEye(wxPanel* panel ) @@ -903,11 +913,8 @@ void wxContourMainFrame ::loadContours( FILE *pFile, bool staticContour ) } void wxContourMainFrame::onLoad() -{ - char tmp[255]; - char tmpD[255]; +{ std::string fileNameContourROI = GetFileLocation(); - //CMRU 03-09-09----------------------------------------------------------------------------------------------- if(GetFileLocation().empty()) { @@ -919,6 +926,13 @@ void wxContourMainFrame::onLoad() } } + onLoadContours(fileNameContourROI); +} + +void wxContourMainFrame::onLoadContours(std::string fileNameContourROI){ + char tmp[255]; + char tmpD[255]; + FILE *pFile =fopen(fileNameContourROI.c_str(),"r+"); @@ -976,6 +990,23 @@ void wxContourMainFrame::onLoad() } _theViewPanel->getSceneManager()->removeSceneContours(); changeInstant(); + +} + +void wxContourMainFrame::onImport(){ + std::string filename, filenamecontours; + wxFileDialog dialog(NULL, _T("Choose a XML Osirix File"), _T(""), _T(""), _T("*.xml"), wxOPEN ); + + if (dialog.ShowModal() == wxID_OK) + { + filename = dialog.GetPath().mb_str(); + filenamecontours = kernelManager->parseOsirixFile(filename); + + if(filenamecontours.compare("") != 0){ + onLoadContours(filenamecontours); + } + + } } //AD: 29-05-09 @@ -1026,7 +1057,6 @@ void wxContourMainFrame::saveFileWithContours( std::string filename ) fprintf(pFileData,"--CreaContour--\n"); fprintf(pFileData,"Version %s\n", "1.0.2" ); fprintf(pFileData,"OnePixelSize %f\n", _onePixelSize); - std::cout<<"Valor de un pixel: "<<_onePixelSize< wxContourMainFrame::getOutlinesName(int slide){ } +void wxContourMainFrame::SetScalarRange(int grayRangeMin, int grayRangeMax) +{ + _contourextractdata->SetScalarRange(grayRangeMin,grayRangeMax); +} + void wxContourMainFrame::onInformationContourLabels(int typeContourGroup,int selection,int minimumZ,int maximumZ,int grayRangeMin, int grayRangeMax) { @@ -2411,16 +2446,22 @@ void wxContourMainFrame::onInformationContourLabels(int typeContourGroup,int sel } _contourextractdata->SetLstManualContourModel( lstManConModTmp ); + _contourextractdata->SetScalarRange(grayRangeMin,grayRangeMax); pLstValue.clear(); pLstValuePosX.clear(); pLstValuePosY.clear(); pLstValuePosZ.clear(); - _contourextractdata->GetValuesInsideCrown( &pLstValue, + + + int numberOfPixels; + _contourextractdata->GetValuesInsideCrown( &numberOfPixels, + &pLstValue, &pLstValuePosX, &pLstValuePosY, &pLstValuePosZ); + resultSize=numberOfPixels; // Statistics of each slice. _contourextractdata->Statistics( &pLstValue, grayRangeMin, @@ -2431,7 +2472,7 @@ void wxContourMainFrame::onInformationContourLabels(int typeContourGroup,int sel &resultMax, &resultAverage, &resultStandardeviation); - + if (interfMainPanel::getInstance()->getNumberColsInformationPanel()<_numberOfVariablesStatistics*(iContourGroup+1) ) { interfMainPanel::getInstance()->appendColsInformationPanel(_numberOfVariablesStatistics); @@ -2439,7 +2480,8 @@ void wxContourMainFrame::onInformationContourLabels(int typeContourGroup,int sel tmpIntA=_numberOfVariablesStatistics*iContourGroup ; - tempString.Printf(_T("%d"),resultSize); + tempString.Printf(_T("%d"),numberOfPixels); + interfMainPanel::getInstance()->setCellValueInfoPanel(z, tmpIntA, tempString); tempString.Printf(_T("%d"),resultGrayRangeCount); @@ -2691,7 +2733,9 @@ void wxContourMainFrame::SaveValuesXYZ(std::string directory,std::string namefil pLstValuePosX.clear(); pLstValuePosY.clear(); pLstValuePosZ.clear(); - _contourextractdata->GetValuesInsideCrown( &pLstValue, + int numberOfPixels; + _contourextractdata->GetValuesInsideCrown( &numberOfPixels, + &pLstValue, &pLstValuePosX, &pLstValuePosY, &pLstValuePosZ); @@ -3063,4 +3107,4 @@ void wxContourMainFrame::SetFileLocation(std::string newFileLocation) _fileLocation = newFileLocation; std::cout<<"GETFILELOCATION:"<<_fileLocation<