-/* Diagrama de Secuencia de cambiar un instante
+/* Diagrama de Secuaencia de cambiar un instante
wxContourEventHandler :: changeInstant()
OutlineModelManager :: ->setInstant( _actualInstant );
OutlineModelManager :: updateToActualInstant()
// Includes
//------------------------------------------------------------------------------------------------------------
-#include "wxContour_ActionCommandsID.h"
+#include "wxContour_ActionCommnadsID.h"
#include "NameWrapper.h"
#include "ConceptDataWrap.h"
#include "OutlineGroup.h"
#include <vtkImageMapToWindowLevelColors.h>
-
//------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------
wxString lstOptions[2];
- lstOptions[0]=_T("General options");
- lstOptions[1]=_T("Detail options");
- _radioboxBullEyeGenOpt = new wxRadioBox(panel, -1, _T("General/Detail options"), wxDefaultPosition, wxSize(200,45), 2 , lstOptions, 2, wxRA_SPECIFY_COLS);
+ lstOptions[0]= wxString("General options",wxConvUTF8);
+ lstOptions[1]= wxString("Detail options",wxConvUTF8);
+ _radioboxBullEyeGenOpt = new wxRadioBox(panel, -1, wxString("General/Detail options",wxConvUTF8), wxDefaultPosition, wxSize(200,45), 2 , lstOptions, 2, wxRA_SPECIFY_COLS);
_radioboxBullEyeGenOpt->SetSelection(0);
_spinctrlBullEyeNumOfCrowns = new wxSpinCtrl( panel , -1,_T("B"),wxDefaultPosition, wxSize(40,20) );
inundo = 0;
inredo = 0;
stundoredo = "data/temp";
- char buff[3000]; // hope it's enough!
- sprintf(buff, "mkdir %s;",stundoredo.c_str());
- system(buff);
- //mkdir(stundoredo.c_str());
+ mkdir(stundoredo.c_str(),755);
stundoredo += "/cont";
}
//------------------------------------------------------------------------------------------------------------
void wxContourEventHandler::onSpreadReset( wxCommandEvent& event )
{
- _wxtextctrlSpread->SetValue(_T(""));
+ _wxtextctrlSpread->SetValue(wxString("",wxConvUTF8));
_contourPropagation->resetAppend();
}
_contourPropagation->appendContour(&vecX , &vecY , &vecZ);
wxString newstring;
- newstring.Printf(_T("%s %d -"),
- _wxtextctrlSpread->GetValue().c_str(),
- actualSlice );
+ //newstring.Printf("%s %d -",_wxtextctrlSpread->GetValue(), actualSlice );
+ newstring.append(wxString(_wxtextctrlSpread->GetValue(),wxConvUTF8));
+ newstring.append(wxString(" ",wxConvUTF8));
+ newstring.append(wxString(intToString(actualSlice).c_str(),wxConvUTF8));
_wxtextctrlSpread->SetValue(newstring);
} // if
}
+
+
//------------------------------------------------------------------------------------------------------------
void wxContourEventHandler::onSpreadGo( wxCommandEvent& event )
{
for ( z=(int)minZ ; z<=(int)maxZ ; z++ )
{
porcent = 100.0* (z-minZ)/totalZ;
- tmpString.Printf( _T(" %d %c %d/%d %d"), (int)porcent , 37 , (int)(z-minZ+1), (int)totalZ,z );
+ int numero = (int)(z-minZ+1)/(int)totalZ;
+ std::string stringtemp = " "+intToString(porcent)+"% "+intToString(numero)+" "+intToString(z);
+ tmpString.Append(wxString(stringtemp.c_str(),wxConvUTF8));
+
+ //tmpString.Printf(" %d %c %d/%d %d", (int)porcent , 37 , (int)(z-minZ+1), (int)totalZ,z );
_staticTextSpread->SetLabel(tmpString);
if (_contourPropagation->ifSliceKeyContourExist(z)==false)
} // if addedModel
}// ifSliceKeyContourExist
} // for z
- _staticTextSpread->SetLabel(_T(" "));
+ _staticTextSpread->SetLabel(wxString(" ",wxConvUTF8));
//RefreshInterface();
_contourPropagation = new ContourPropagation();
- wxPanel *panel = new wxPanel(parent,-1,wxDefaultPosition, wxDefaultSize,wxNO_BORDER, /*wxString("")*/ _T("") );
+ wxPanel *panel = new wxPanel(parent,-1,wxDefaultPosition, wxDefaultSize,wxNO_BORDER, wxString("",wxConvUTF8));
wxButton *spreadResetBtn = new wxButton(panel,-1,_T("Reset"),wxDefaultPosition, wxDefaultSize );
wxButton *spreadAddBtn = new wxButton(panel,-1,_T("Add"),wxDefaultPosition, wxDefaultSize);
lstOptions[0]=_T("A");
lstOptions[1]=_T("B");
lstOptions[2]=_T("C");
- _spreadMethodRadiobox = new wxRadioBox(panel, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxDefaultSize, 3 , lstOptions, 3, wxRA_SPECIFY_COLS);
+ _spreadMethodRadiobox = new wxRadioBox(panel, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxDefaultSize, 3 , lstOptions, 3, wxRA_SPECIFY_COLS);
_spreadMethodRadiobox->SetSelection(2);
wxButton *spreadGoBtn = new wxButton(panel,-1,_T("Go"),wxDefaultPosition, wxDefaultSize);
_staticTextSpread = new wxStaticText(panel,-1,_T(" "));
- _wxtextctrlSpread = new wxTextCtrl(panel,-1, _T("") ,wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
+ _wxtextctrlSpread = new wxTextCtrl(panel,-1, _T(""),wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
Connect( spreadResetBtn->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxContourEventHandler::onSpreadReset );
lstOptions[0]=_T("A");
lstOptions[1]=_T("B");
lstOptions[2]=_T("C");
- methodRadiobox = new wxRadioBox(panel, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxSize(200,45), 3 , lstOptions, 3, wxRA_SPECIFY_COLS);
+ methodRadiobox = new wxRadioBox(panel, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxSize(200,45), 3 , lstOptions, 3, wxRA_SPECIFY_COLS);
methodRadiobox->SetSelection(2);
_staticTextSegmentation = new wxStaticText(panel,-1,_T(" "));
wxButton *spreadResetBtn = new wxButton(panel,-1,_T("Reset"),wxDefaultPosition, wxSize(80,35) );
wxButton *spreadAddBtn = new wxButton(panel,-1,_T("Add"),wxDefaultPosition, wxSize(80,35));
wxButton *spreadGoBtn = new wxButton(panel,-1,_T("GoA"),wxDefaultPosition, wxSize(80,35));
- _wxtextctrlTest = new wxTextCtrl(panel,-1, _T(""),wxDefaultPosition, wxSize(200,150), wxTE_MULTILINE );
+ _wxtextctrlTest = new wxTextCtrl(panel,-1, _T(""),wxDefaultPosition, wxSize(200,150), wxTE_MULTILINE );
_TestFrame->SetEventHandler( this );
Connect( spreadResetBtn->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxContourEventHandler::onTestReset );
} // for
_contourPropagation->appendContour(&vecX , &vecY , &vecZ);
- wxString newstring1( _wxtextctrlTest->GetValue().c_str() , wxConvUTF8);
- wxString newstring2;
- newstring2.Printf(_T(" %d -"), actualSlice );
-
wxString newstring;
- newstring = newstring1+newstring2;
-
- //newstring.Printf("%s %d -",_wxtextctrlTest->GetValue(), actualSlice );
-
+ newstring.append(_wxtextctrlTest->GetValue());
+ newstring.append(_T(" "));
+ newstring.append(wxString(intToString(actualSlice).c_str(),wxConvUTF8));
+ //newstring.Printf(_T("%s %d -"),, );
+ newstring.append(_T(" -"));
_wxtextctrlTest->SetValue(newstring);
} // if
}
//------------------------------------------------------------------------------------------------------------
void wxContourEventHandler::FillGridWithContoursInformation()
{
+ wxString tempString;
_grid->ClearGrid();
_grid->SetColLabelValue(0, _T("A") );
_grid->SetColLabelValue(1, _T("B") );
std::vector<ContourThing**> lstContourThings = this->_modelManager->getOutlinesAtInstant( &instant );
sizeLstContourThings = lstContourThings.size();
- wxString tempString;
- tempString.Printf(_T("%d - %d"),
- z,
- sizeLstContourThings);
-
+ tempString.Printf(_T("%d - %d"),z, sizeLstContourThings);
_grid->SetRowLabelValue(z, tempString );
for (ii=0 ; ii<sizeLstContourThings ; ii++)
{
ContourThing **contourthing = lstContourThings[ii];
- //wxString tempString = (*contourthing)->getName() ; // Doesn't compile. See Creatis Wiki !
- const wxString tempString2((*contourthing)->getName().c_str(),wxConvUTF8 );
- _grid->SetCellValue( z, ii, tempString2 );
+ tempString = wxString((*contourthing)->getName().c_str(),wxConvUTF8) ;
+ _grid->SetCellValue( z, ii, tempString );
}
}
{
porcent = 100.0* (z-minZ)/totalZ;
- tmpString.Printf(_T("Saving Values %d %c %d/%d %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
+
+ tmpString.Printf(_T("Saving Values"));
+ tmpString.Printf(_T(" %d %c %d/%d %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
_staticTextInformation->SetLabel(tmpString);
&pLstValuePosZ);
wxString filename;
- filename.Printf(_T("%s\\%s-slice%d-cont%d.txt"),directory.c_str(),namefile.c_str(),z,iContourGroup);
+ filename.Printf(_T("%s"),directory.c_str());
+ filename.Printf(_T("\\"));
+ filename.Printf(_T("%s"),namefile.c_str());
+ filename.Printf(_T("-slice"));
+ filename.Printf(_T("%d"),z);
+ filename.Printf(_T("-cont"));
+ filename.Printf(_T("%d"),iContourGroup);
+ filename.Printf(_T(".txt"));
FILE *pFile=fopen((const char *)filename.mb_str(),"w+");
fprintf(pFile,"value \t x \t y \t z\n" );
int iLstValue,sizeLstValue=pLstValue.size();
{
porcent = 100.0* (z-minZ)/totalZ;
- tmpString.Printf(_T("Saving Values %d %c %d/%d %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
+ tmpString.Printf(_T("Saving Values"));
+ tmpString.Printf(_T("%d %c %d/%d %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
_staticTextInformation->SetLabel(tmpString);
//Extraction data from contours of each slice
wxString filename;
- filename.Printf(_T("%s\\%s-Value.mhd"),directory.c_str(),namefile.c_str(),z);
+ //filename.Printf(_T("%s\\%s-Value.mhd",directory.c_str(),namefile.c_str(),z);
+ filename.Printf(_T("%s"),directory.c_str());
+ filename.Printf(_T("\\"));
+ filename.Printf(_T("%s"),namefile.c_str());
+ filename.Printf(_T("-Value.mhd"));
// Image Value
vtkMetaImageWriter *writerValueImage = vtkMetaImageWriter::New( );
writerValueImage->Write( );
// Image Mask
- filename.Printf(_T("%s\\%s-Mask.mhd"),directory.c_str(),namefile.c_str(),z);
+ // filename.Printf("%s\\%s-Mask.mhd",directory.c_str(),namefile.c_str(),z);
+ filename.Printf(_T("%s"),directory.c_str());
+ filename.Printf(_T("\\"));
+ filename.Printf(_T("%s"),namefile.c_str());
+ filename.Printf(_T("-Mask.mhd"));
vtkMetaImageWriter *writerMaskImage = vtkMetaImageWriter::New( );
writerMaskImage->SetInput( contourextractdata->GetVtkImageMaskResult() );
writerMaskImage->SetFileName( (const char *)filename.mb_str() );
int iTitle,sizeTitle = (maxX / _numberOfVariablesStatistics);
for ( iTitle=0; iTitle<sizeTitle ; iTitle++)
{
- fprintf(pFile,"-- \t %d-Size \t SizeRange \t Min \t Max \t Ave \t StDv \t" , iTitle, tmpString.c_str() );
+ fprintf(pFile,"-- \t %d-Size \t SizeRange \t Min \t Max \t Ave \t StDv \t" , iTitle,tmpString.char_str() );
}
fprintf(pFile,"\n" );
std::vector<int> tempVector;
_instantPanel->getInstant( tempVector );
_performingOperation->reset();
- _performingOperation->setStartCommand( (char)wxContour_ActionCommandsID::COPY_TOOL );
+ _performingOperation->setStartCommand( (char)wxContour_ActionCommnadsID::COPY_TOOL );
_performingOperation->setStartOperationInstantVector( tempVector );
_performingOperation->setKeyNamesOperationElems( keyNamesVector );
void wxContourEventHandler :: onPasteOutlines( )
{
char theStartCommand = _performingOperation->getStartCommand();
- if ( theStartCommand == wxContour_ActionCommandsID::COPY_TOOL )
+ if ( theStartCommand == wxContour_ActionCommnadsID::COPY_TOOL )
{
//JCP 20-10-08 Undo redo implementation
saveState();
}
//------------------------------------------------------------------------------------------------------------
- void wxContourEventHandler :: deleteContours( std::vector<std::string> & keyNamesVector )
+ void wxContourEventHandler :: deleteContours( std::vector<std::string> keyNamesVector )
{
int i,size=keyNamesVector.size();
for (i=0;i<size;i++)
//JCP 20-10-08 Undo redo implementation
saveState();
//JCP 20-10-08 Undo redo implementation
- //deleteContours( _sceneManager->GetlstContoursNameActualSlice() );
-
- ///\TODO : find something less stupid!
-
- std::vector<std::string> oops;
- oops = _sceneManager->GetlstContoursNameActualSlice();
- deleteContours( oops );
+ deleteContours( (std::vector<std::string>)_sceneManager->GetlstContoursNameActualSlice() );
+
}
return panel;*/
- wxPanel *panel = new wxPanel(parent,-1,wxDefaultPosition, wxDefaultSize,wxNO_BORDER, _T(""));
- _withOfContourLine = new wxSlider(panel, -1, 1 , 1, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
+ wxPanel *panel = new wxPanel(parent,-1,wxDefaultPosition, wxDefaultSize,wxNO_BORDER, wxString(_T("")));
+ _withOfContourLine = new wxSlider(panel, -1, 1 , 1, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
double range[2];
this->_sceneManager->GetImageDataRange(range);
{
std::vector<std::string> currentSelection = _sceneManager->getSelectedObjects();
int elementsSelected = currentSelection.size();
- if( toolCommand == (wxContour_ActionCommandsID::CREATE_TOOL) )
+ if( toolCommand == (wxContour_ActionCommnadsID::CREATE_TOOL) )
{
onCreateContourFrame();
}
- if( toolCommand == (wxContour_ActionCommandsID::CREATE_CONTOUR_KEY) )
+ if( toolCommand == (wxContour_ActionCommnadsID::CREATE_CONTOUR_KEY) )
{
createContour();
}
- else if( toolCommand == wxContour_ActionCommandsID::DELETE_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::DELETE_TOOL )
{
onDeleteFrame( );
}
- else if( toolCommand == wxContour_ActionCommandsID::DELETE_KEY )
+ else if( toolCommand == wxContour_ActionCommnadsID::DELETE_KEY )
{
deleteContours( currentSelection );
}
- else if( toolCommand == wxContour_ActionCommandsID::SAVE_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::SAVE_TOOL )
{
saveFileWithContours( );
}
- else if( toolCommand == wxContour_ActionCommandsID::SAVE_KEY )
+ else if( toolCommand == wxContour_ActionCommnadsID::SAVE_KEY )
{
saveFileWithContoursAutomatique( );
}
- else if( toolCommand == wxContour_ActionCommandsID::OPEN_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::OPEN_TOOL )
{
openFileWithContours( );
}
- else if( toolCommand == wxContour_ActionCommandsID::CHANGE_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::CHANGE_TOOL )
{
if ( elementsSelected >= 1 )
{
}
}
- else if( toolCommand == wxContour_ActionCommandsID::HIDE_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::HIDE_TOOL )
{
if ( elementsSelected >= 1 )
{
onHideOutlines( currentSelection );
}
}
- else if( toolCommand == wxContour_ActionCommandsID::SHOW_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::SHOW_TOOL )
{
if ( elementsSelected >= 1 )
{
onShowOutlines( currentSelection );
}
}
- else if( toolCommand == wxContour_ActionCommandsID::COPY_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::COPY_TOOL )
{
if ( elementsSelected >= 1 )
{
onCopyOutlines( currentSelection );
}
}
- else if( toolCommand == wxContour_ActionCommandsID::PASTE_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::PASTE_TOOL )
{
onPasteOutlines( );
}
- else if( toolCommand == wxContour_ActionCommandsID::SPREAD_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::SPREAD_TOOL )
{
onSpread();
}
- else if( toolCommand == wxContour_ActionCommandsID::AUTOMATIQUESEGMENTATION_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::AUTOMATIQUESEGMENTATION_TOOL )
{
onAutomatiqueSegmentation( );
}
- else if( toolCommand == wxContour_ActionCommandsID::SELECT_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::SELECT_TOOL )
{
onSelectOutlines( currentSelection );
}
- else if( toolCommand == wxContour_ActionCommandsID::EDIT_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::EDIT_TOOL )
{
if ( elementsSelected >= 1 )
{
onEditOutlines( currentSelection );
}
}
- else if( toolCommand == wxContour_ActionCommandsID::UNDO_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::UNDO_TOOL )
{
onUNDO();
}
- else if( toolCommand == wxContour_ActionCommandsID::REDO_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::REDO_TOOL )
{
onREDO();
}
- else if( toolCommand == wxContour_ActionCommandsID::INFORMATIONCONTOUR_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::INFORMATIONCONTOUR_TOOL )
{
onInformationContourFrame();
}
- else if( toolCommand == wxContour_ActionCommandsID::INTERFACECONFIGURATION_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::INTERFACECONFIGURATION_TOOL )
{
onInterfaceConfigurationFrame();
}
- else if( toolCommand == wxContour_ActionCommandsID::TEST_TOOL )
+ else if( toolCommand == wxContour_ActionCommnadsID::TEST_TOOL )
{
onInterfaceTestFrame();
}
inredo = 0;
- char str[9000];
+ //char str[9000];
//itoa(inundo, str, 10);
- sprintf(str, "%d", inundo);
+ std::string str = intToString(inundo);
- std::string temp = stundoredo + *str + ".roi";
+
+ std::string temp = stundoredo + str + ".roi";
saveFileWithContours(temp);
inundo++;
inredo--;
inundo++;
- char str[9000];
+ //char str[9000];
//itoa(inundo, str, 10);
- sprintf(str, "%d", inundo);
+ std::string str = intToString(inundo);
- std::string temp = stundoredo + *str + ".roi";
+ std::string temp = stundoredo + str + ".roi";
loadState(temp);
void wxContourEventHandler :: onUNDO()
{
if(inundo>0){
- char str[9000];
if(inredo==0){
-
+ //char str[9000];
//itoa(inundo, str, 10);
- sprintf(str, "%d",inundo);
+ std::string str = intToString(inundo);
- std::string temp = stundoredo + *str + ".roi";
+ std::string temp = stundoredo + str + ".roi";
saveFileWithContours(temp);
}
inredo++;
inundo--;
-
+ //char str[9000];
//itoa(inundo, str, 10);
- sprintf(str, "%d",inundo);
+ std::string str = intToString(inundo);
+
- std::string temp = stundoredo + *str + ".roi";
+ std::string temp = stundoredo + str + ".roi";
loadState(temp);
}
{
porcent = 100.0* (z-minZ)/totalZ;
- tmpString.Printf(_T("Saving Values %d %c %d/%d %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
+ tmpString.Printf(_T("Saving Values"));
+ tmpString.Printf(_T(" %d %c %d/%d %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
_staticTextInformation->SetLabel(tmpString);
//Extraction data from contours of each slice
lstOptions[0]=_T("A");
lstOptions[1]=_T("B");
lstOptions[2]=_T("C");
- methodRadiobox = new wxRadioBox(panel, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxSize(200,45), 3 , lstOptions, 3, wxRA_SPECIFY_COLS);
+ methodRadiobox = new wxRadioBox(panel, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxSize(200,45), 3 , lstOptions, 3, wxRA_SPECIFY_COLS);
methodRadiobox->SetSelection(2);
_staticTextSegmentation = new wxStaticText(panel,-1,_T(" "));
vecZ[i] = actualSlice;
} // for
- wxDialog* dialog = new wxDialog(parent, -1, _T("Snake"));
+ wxDialog* dialog = new wxDialog(parent, -1, wxString(_T("Snake")));
wxPanel* panel = new wxPanel(dialog,-1);
- wxStaticText* sttext = new wxStaticText(panel, -1, _T("Panel para snake"));
+ wxStaticText* sttext = new wxStaticText(panel, -1, wxString(_T("Panel para snake")));
dialog->ShowModal();
} // if
_InformationContourFrame->Show(false);
}
}
+
+ std::string wxContourEventHandler::intToString(int num){
+ std::string result;
+ for(int k = num; k == 0; k++){
+ char temp = k % 10 + 48;
+ k = k / 10;
+ result = temp + result;
+ }
+ return result;
+ }
//JCP 21 - 10 - 09