infoPanelMask->SetSizer(flexsizer, true);
infoPanelMask->SetAutoLayout( true );
//configPanel->SetEventHandler(this->contourevent);
- wxPanel *panel = wxContourMainFrame::getInstance()->getThresholdImageViewPanel( infoPanelMask );
+ wxPanel *panel = wxContourMainFrame::getInstance()->getMaskImageViewPanel( infoPanelMask );
wxStaticText* stattext = new wxStaticText(infoPanelMask, -1, wxString(_T(" Mask segmentation ")), wxDefaultPosition,
wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
}
-void interfMainPanel::onThreshold()
-{
- wxContourMainFrame::getInstance()->onThreshold();
-}
-
-void interfMainPanel::onThresholdChange()
-{
- wxContourMainFrame::getInstance()->onThresholdChange();
-}
-
-void interfMainPanel::onThresholdInstantChange(double range[])
-{
- panelThreshold->onThresholdInstantChange(range);
-}
-
-void interfMainPanel::onThresholdInterpolation(bool interpolate)
-{
- wxContourMainFrame::getInstance()->onThresholdInterpolation(interpolate);
-}
-
-void interfMainPanel::onThresholdChangeOpacity (int opacity)
-{
- wxContourMainFrame::getInstance()->onThresholdChangeOpacity(opacity);
-}
-
-void interfMainPanel::onThresholdRemove()
-{
- wxContourMainFrame::getInstance()->onThresholdRemove();
-}
+//EED01
void interfMainPanel::onThresholdPressed()
{
- if(thresholdPanel==NULL)
- {
-
- thresholdPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T("")));
+
+ // Threshold view control panel
+ if(thresholdPanel == NULL){
+ thresholdPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString(_T("")));
wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1);
thresholdPanel->SetSizer(flexsizer, true);
thresholdPanel->SetAutoLayout( true );
- panelThreshold = new interfThresholdPanel(thresholdPanel);
-
- wxStaticText* stattext = new wxStaticText(thresholdPanel, -1, wxString(_T(" Threshold Tool ")), wxDefaultPosition,
- wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
-
+ //configPanel->SetEventHandler(this->contourevent);
+ wxPanel *panel = wxContourMainFrame::getInstance()->getThresholdImageViewPanel( thresholdPanel );
+ wxStaticText* stattext = new wxStaticText(thresholdPanel, -1, wxString(_T(" Threshold segmentation ")), wxDefaultPosition,
+ wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
+
flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE);
- flexsizer->Add(panelThreshold, wxEXPAND);
+
+ flexsizer->Add(panel, wxEXPAND);
thresholdPanel->Layout();
-
- }
+
+ }
showPanel(thresholdPanel);
+ wxContourMainFrame::getInstance()->changeInstant();
}
+
void interfMainPanel::ShowResultImages(int typeContourGroup, int selection, int minZ, int maxZ)
{
wxContourMainFrame::getInstance()->ShowResultImages(typeContourGroup, selection, minZ, maxZ);
}
+
void interfMainPanel::SetContourGroup(int contourGroup)
{
wxContourMainFrame::getInstance()->SetContourGroup( contourGroup);
void onSave();
/////////////////////////////7
void RefreshInterface();
-
vtkImageData* getImageData();
-
void getImageRange(double[2]);
-
void onSegmentationOneSlice(int isovalue,int sampling,int method);
-
void onSegmentationOneSliceITK(wxString distance, wxString sigma, wxString alfa, wxString beta, wxString propagation, wxString iterations, wxString inflation);
-
int GetImageDataSizeZ();
-
void onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method);
-
void onMirrorPressed();
-
void onMirror();
-
void onMirrorAxisShow();
-
void onMirrorAxisHide();
-
void onMirrorChangeWidth(int width);
-
- void onThreshold();
-
- void onThresholdChange();
-
- void onThresholdInstantChange(double range[]);
-
- void onThresholdRemove();
-
void onThresholdPressed();
-
- void onThresholdInterpolation(bool interpolate);
-
- void onThresholdChangeOpacity (int opacity);
-
void setLabelSegmentationPanelVTK(wxString tmpString);
-
void onSegmentationPressed();
-
void onSegmentationPressedITK();
-
void onRigidPressed();
-
void onWidthOfContour(double width);
-
int getColorWindow();
int getWindowLevel();
-
void onBrigthnessColorWindowLevel(int colorwindow,int windowlevel);
-
void onInterpolation(bool interpolate);
-
void onSpreadPressed();
-
void onConfigurationPressed();
-
void resetAppend();
-
void onSpreadAdd();
-
void appendStringSpread(std::string val);
-
void onSpreadGo(int type);
-
void setStringSpread(std::string stringtemp);
-
void onInformationPressed();
-
-
void getInstantVector(std::vector<int>& tempVector);
-
std::vector<std::string> getOutlinesName(int slide);
-
void onInformationContourLabels(int typeContourGroup,int selection,int minZ,int maxZ,int grayRangeMin,int grayRangeMax);
-
void setStringInfoPanel(wxString tmpString);
-
void setRowLabelInfoPanel(int z, wxString tempString);
-
int getNumberColsInformationPanel();
-
void appendColsInformationPanel(int _numberOfVariablesStatistics);
-
void setCellValueInfoPanel(int z,int tmpIntA,wxString tempString);
-
void setColLableInfoPanel(int tmpIntB ,wxString tmpTitleString);
-
void onSaveResults(std::string directory,std::string namefile, std::string filename,
int typeContourGroup, int selection, int minZ, int maxZ, bool XYZValues, bool contourImage, bool statistics);
-
wxString getCellValue(int j,int i);
-
void onSnakePressed();
-
virtual bool Show(bool show);
-
void ShowResultImages(int typeContourGroup, int selection, int minZ, int maxZ);
-
void SetContourGroup(int contourGroup);
private:
wxPanel* mirrorPanel;
interfMirrorPanel* panelMirror;
wxPanel* thresholdPanel;
- interfThresholdPanel* panelThreshold;
-
bool axisshown;
bool refLineShown;
-/**
-** Begin of the threshold panel
-**/
-interfThresholdPanel::interfThresholdPanel(wxWindow* parent)
-: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN)
-{
- wxButton *thresholdGoBtn = new wxButton(this,wxID_ANY,_T("Show/Hide Color"), wxDefaultPosition, wxSize(200,30) );
- _interpolationCheckBox = new wxCheckBox(this, -1, _T("Image interpolation") );
- _interpolationCheckBox->SetValue(true);
- _opacity = new wxSlider(this, wxID_ANY, 6, 1, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
- _thresholdGo = false;
-
- double range[2];
- interfMainPanel::getInstance()->getImageRange(range);
-
- int min = (int)floor (range[0]);
- int max = (int)ceil (range[1]);
-
- _mBarThreshold = new mBarRange(this,70,65);
- _mBarThreshold->SetMin(0);
- _mBarThreshold->SetStart(0);
- _mBarThreshold-> SetOrientation( true );
- _mBarThreshold-> setActiveStateTo(true);
- _mBarThreshold-> setVisibleLabels( true );
- _mBarThreshold-> setDeviceEndMargin(10);
- _mBarThreshold-> setRepresentedValues( min , max );
- _mBarThreshold-> setDeviceBlitStart(10,10);
- _mBarThreshold-> setIfWithActualDrawed( false );
- _mBarThreshold-> SetStart( min );
- _mBarThreshold-> SetEnd( max );
-
- Connect( thresholdGoBtn->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &interfThresholdPanel::onThresholdGo );
- Connect( _interpolationCheckBox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &interfThresholdPanel::onThresholdInterpolation );
-
- wxFlexGridSizer * sizer = new wxFlexGridSizer(1);
- sizer -> Add( new wxStaticText(this,-1,_T("Image Threshold")) , 1, wxGROW );
- sizer -> Add( _mBarThreshold, 1, wxGROW );
- sizer -> Add( new wxStaticText(this,-1,_T(" ")) , 1, wxGROW );
- sizer -> Add( new wxStaticText(this,-1,_T("Opacity Level")) , 1, wxGROW );
- sizer -> Add( _opacity, 1, wxGROW );
- sizer -> Add( new wxStaticText(this,-1,_T(" ")) , 1, wxGROW );
- sizer -> Add( thresholdGoBtn, 1, wxGROW );
- sizer -> Add( new wxStaticText(this,-1,_T(" ")) , 1, wxGROW );
- sizer -> Add( _interpolationCheckBox, 1, wxGROW );
-
- this->SetSizer( sizer );
- this->SetAutoLayout( true );
- this->Layout();
-}
-
-interfThresholdPanel::~interfThresholdPanel(){
-}
-
-
-
-void interfThresholdPanel::onThresholdChange(wxCommandEvent& event)
-{
- if (_thresholdGo)
- {
- interfMainPanel::getInstance()->onThresholdChange();
-
- //std::cout<< "Valor Min: " << minVal << " & Valor Max: " << maxVal << std::endl;
- }
-}
-
-void interfThresholdPanel::onThresholdGo(wxCommandEvent& event)
-{
- if (!_thresholdGo)
- {
- interfMainPanel::getInstance()->onThreshold();
- _thresholdGo=true;
- }
- else
- {
- interfMainPanel::getInstance()->onThresholdRemove( );
- _thresholdGo=false;
- }
-}
-
-void interfThresholdPanel::onThresholdStop()
-{
- if (_thresholdGo)
- {
- interfMainPanel::getInstance()->onThresholdRemove( );
- _thresholdGo=false;
- }
-}
-void interfThresholdPanel::onThresholdInstantChange(double range[])
-{
- range[0] = _mBarThreshold->GetStart();
- range[1] = _mBarThreshold->GetEnd();
-}
-
-void interfThresholdPanel::onThresholdInterpolation(wxCommandEvent& event)
-{
- interfMainPanel::getInstance()->onThresholdInterpolation(_interpolationCheckBox->GetValue());
-}
-void interfThresholdPanel::onChangeOpacity(wxScrollEvent& event)
-{
- int opacity = _opacity->GetValue();
- interfMainPanel::getInstance()->onThresholdChangeOpacity(opacity);
-}
BEGIN_EVENT_TABLE(interfMirrorPanel, wxPanel)
- EVT_SCROLL(interfMirrorPanel :: onChangeWidth)
+EVT_SCROLL(interfMirrorPanel :: onChangeWidth)
END_EVENT_TABLE()
-
-BEGIN_EVENT_TABLE(interfThresholdPanel, wxPanel)
- EVT_COMMAND(wxID_ANY, wxEVT_TSBAR_START, interfThresholdPanel :: onThresholdChange)
- EVT_COMMAND(wxID_ANY, wxEVT_TSBAR_END, interfThresholdPanel :: onThresholdChange)
- EVT_COMMAND(wxID_ANY, wxEVT_TSBAR_MOVED, interfThresholdPanel :: onThresholdChange)
- EVT_SCROLL(interfThresholdPanel :: onChangeOpacity)
-END_EVENT_TABLE()
-
-
};
-class interfThresholdPanel
- : public wxPanel
-{
-public:
- interfThresholdPanel(wxWindow * parent);
- ~interfThresholdPanel();
-
- void onThresholdStop();
- void onThresholdInstantChange(double range[]);
-
-private:
-
- mBarRange* _mBarThreshold;
- wxSlider* _opacity;
- bool _thresholdGo;
- wxCheckBox* _interpolationCheckBox;
-
- void onThresholdChange(wxCommandEvent& event);
-
- void onThresholdGo(wxCommandEvent& event);
-
- void onThresholdInterpolation(wxCommandEvent& event);
-
- void onChangeOpacity(wxScrollEvent& event);
-
- DECLARE_EVENT_TABLE()
-};
-
-
#endif
_refLineControl = NULL;
_refLineModel = NULL;
_refLineView = NULL;
- _imageReslicer = NULL;
- _thresholdTable = NULL;
- _thresholdMapper = NULL;
- _thresholdActor = NULL;
- _actorPresent = false;
+// _actorPresent = false;
// set up default notebook style
// m_notebook_style =wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_EXTERNAL_MOVE | wxNO_BORDER;
_contourextractdata = NULL;
_viewMaskImage = NULL;
_viewMaskImagePanel = NULL;
+ _viewThresholdImage = NULL;
+ _viewThresholdImagePanel = NULL;
+
}
wxContourMainFrame :: wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector<vtkImageData*> images, long style,std::string datadir)
_refLineControl = NULL;
_refLineModel = NULL;
_refLineView = NULL;
- _imageReslicer = NULL;
- _thresholdTable = NULL;
- _thresholdMapper = NULL;
- _thresholdActor = NULL;
- _actorPresent = false;
+// _actorPresent = false;
_viewMaskImage = NULL;
_viewMaskImagePanel = NULL;
+ _viewThresholdImage = NULL;
+ _viewThresholdImagePanel = NULL;
// set up default notebook style
m_notebook_style =wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_EXTERNAL_MOVE | wxNO_BORDER;
//cViewer = conwrapviewControl->getViewer();
//_theViewPanel->getSceneManager()->removeWrap( theKeyName );
//cControler* conwrapviewControl->getControler();
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxContourEventHandler::deleteContours() \n" );
-//fprintf(ff," %s %p\n",keyNamesVector[i].c_str(), cControler );
-//fclose(ff);
// delete cModel;
// delete cViewer;
// delete cControler;
{
std::vector<int> instantVect;
_instantPanel->getInstant( instantVect );
-// Instant * theInstant = new Instant ( &instantVect );
-
- //Setting the actual instant
- //_actualInstant = theInstant;
+ int actualSlice = instantVect[1];
kernelManager->setInstant(instantVect);
- //_modelManager->setInstant( _actualInstant );
-
-
- if(_viewMaskImage!=NULL){
- int actualSlice = instantVect[1];
- _viewMaskImage->SetZ(actualSlice);
+ // Refresh Mask image
+ if(_viewMaskImage!=NULL){
+ _viewMaskImage->SetZ(actualSlice);
if (_viewMaskImagePanel->IsVisible()==true)
{
vtkImageData *mask, *value;
}
}
- onThresholdChange();
+ // Refresh Threshold image
+ if(_viewThresholdImage!=NULL){
+ _viewThresholdImage->SetZ(actualSlice);
+ if (_viewThresholdImagePanel->IsVisible()==true){
+ _viewThresholdImage->onThreshold();
+ }
+ }
+
updateInstantOutlines();
updateInstantImageData();
updateInstantAxes();
//_refName = "";
}
-void wxContourMainFrame::onThreshold()
-{
- int z = _theViewPanel->GetZ();
- double range[2];
-
- vtkImageData * img = getImageData();
- img->GetScalarRange(range);
-
- int minTot = floor (range[0]);
- int maxTot = ceil (range[1]);
-
- double minMax[2];
- _pannew->onThresholdInstantChange(minMax);
- int minVal = floor (minMax[0]);
- int maxVal = floor (minMax[1]);
-
- if (!_actorPresent)
- {
- if (_imageReslicer==NULL)
- {
- _imageReslicer = vtkImageReslice::New();
- _imageReslicer->SetInput( img );
- _imageReslicer->SetInformationInput(img);
- _imageReslicer->SetResliceAxesDirectionCosines(1,0,0, 0,1,0 ,0,0,1);
- _imageReslicer->SetOutputDimensionality(2);
- _imageReslicer->SetInterpolationModeToLinear();
- }
-
- _imageReslicer->SetResliceAxesOrigin(0,0,z);
-
- img = _imageReslicer->GetOutput();
- img->Update();
- img->UpdateInformation();
-
- wxVtkBaseView * baseView = _theViewPanel->getWxVtkBaseView();
-
- if (_thresholdTable==NULL)
- {
- //Lookup Table
- _thresholdTable = vtkLookupTable::New();
- _thresholdTable->SetNumberOfTableValues(maxTot+1);
- _thresholdTable->SetTableRange(range);
- _thresholdTable->SetAlphaRange(0, 1);
- _thresholdTable->SetValueRange(0, 1);
- _thresholdTable->SetSaturationRange(0, 0);
- _thresholdTable->SetRampToLinear( );
- }
-
- //Assign a fake color for the upper image, and set the white as transparent
- int i;
- for(i = minTot; i <= maxTot; i++)
- {
- if( i >= minVal && i <= maxVal )
- {
- _thresholdTable->SetTableValue(i, 1.0, 0.0, 0.0, 1);
- }
- else if( i >= minTot && i < minVal )
- {
- _thresholdTable->SetTableValue(i, 1.0, 1.0, 1.0, 0); //transparent
- }
- else if( i > maxVal && i < maxTot )
- {
- _thresholdTable->SetTableValue(i, 1.0, 1.0, 1.0, 0); //transparent
- }
- else
- {
- _thresholdTable->SetTableValue(i, 1.0, 1.0, 1.0, 0); //transparent
- }
- }
- _thresholdTable->Build( );
-
- if (_thresholdMapper==NULL)
- {
- _thresholdMapper = vtkImageMapToColors::New( );
- }
-
- _thresholdMapper->SetLookupTable( _thresholdTable );
- _thresholdMapper->SetInput( img );
-
- if (_thresholdActor==NULL)
- {
- _thresholdActor = vtkImageActor::New( );
- _thresholdActor->SetOpacity( 0.6 );
- _thresholdActor->InterpolateOn( );
- _thresholdActor->SetPosition( 0,0, 900-1 );
- }
-
- _thresholdActor->SetInput( _thresholdMapper->GetOutput() );
-
- baseView->GetRenderer()->AddActor( _thresholdActor );
- _actorPresent = true;
- }
-
- else
- {
- _imageReslicer->SetResliceAxesOrigin(0,0,z);
- img = _imageReslicer->GetOutput();
- img->Update();
- img->UpdateInformation();
-
- //Assign a fake color for the upper image, and set the white as transparent
- int i;
- for(i = minTot; i <= maxTot; i++)
- {
- if( i >= minVal && i <= maxVal )
- {
- _thresholdTable->SetTableValue(i, 1.0, 0.0, 0.0, 1);
- }
- else if( i >= minTot && i < minVal )
- {
- _thresholdTable->SetTableValue(i, 1.0, 1.0, 1.0, 0); //transparent
- }
- else if( i > maxVal && i < maxTot )
- {
- _thresholdTable->SetTableValue(i, 1.0, 1.0, 1.0, 0); //transparent
- }
- else
- {
- _thresholdTable->SetTableValue(i, 1.0, 1.0, 1.0, 0); //transparent
- }
- }
-
- _thresholdTable->Build( );
- _thresholdMapper->SetLookupTable( _thresholdTable );
- _thresholdMapper->SetInput( img );
- _thresholdActor->SetInput( _thresholdMapper->GetOutput() );
- }
- /*
- vtkImageViewer2* viewer = vtkImageViewer2::New();
- viewer->SetInput( upperImageActor->GetInput() );
- viewer->SetColorLevel((range[1]-range[0])/2);
- viewer->SetColorWindow(range[1]);
- viewer->GetRenderer()->AddActor( upperImageActor );
- viewer->Render();
- */
- _theViewPanel->RefreshInterface();
-}
-
-
-void wxContourMainFrame::onThresholdChange()
-{
- if (_actorPresent)
- {
- onThreshold();
- }
-}
-
-void wxContourMainFrame::onThresholdInterpolation(bool interpolate)
-{
- if (_thresholdActor!=NULL)
- {
- if (interpolate)
- {
- _thresholdActor->InterpolateOn( );
- }
-
- else
- {
- _thresholdActor->InterpolateOff( );
- }
-
- _theViewPanel->RefreshInterface();
- }
-}
-
-void wxContourMainFrame::onThresholdChangeOpacity (int opacity)
-{
- if (_actorPresent)
- {
- _thresholdActor->SetOpacity(opacity*0.1);
- }
-
- _theViewPanel->RefreshInterface();
-}
-
-void wxContourMainFrame::onThresholdRemove()
-{
- if (_actorPresent)
- {
- wxVtkBaseView * baseView = _theViewPanel->getWxVtkBaseView();
- baseView->GetRenderer()->RemoveActor( _thresholdActor );
- _actorPresent = false;
- }
-
- _theViewPanel->RefreshInterface();
-}
void wxContourMainFrame::showAxis(bool show)
{
}
-//EED01Juillet2009
-/*
-void wxContourMainFrame::GenerateContourExtractData()
+
+void wxContourMainFrame::SetContourGroup(int contourGroup)
{
- if (_contourextractdata==NULL) { }
+ _contourGroup = contourGroup;
}
-*/
-wxPanel *wxContourMainFrame::getThresholdImageViewPanel(wxWindow *parent)
+wxPanel *wxContourMainFrame::getMaskImageViewPanel(wxWindow *parent)
{
if (_viewMaskImagePanel==NULL)
_contourextractdata = new ContourExtractData(true);
_contourextractdata->SetImage( _theViewPanel->getImageData() );
- double range[2];
- _theViewPanel->getImageData()->GetScalarRange(range);
+// double range[2];
+// _theViewPanel->getImageData()->GetScalarRange(range);
//int min = (int)floor (range[0]);
//int max = (int)ceil (range[1]);
- int min = 0;
- int max = 255;
+ int min = 254;
+ int max = 256;
- _viewMaskImagePanel = new ThresholdImageViewPanel( parent, min, max , 0);
- _viewMaskImage = new ThresholdImageView();
- _viewMaskImage->SetImage(_contourextractdata->GetVtkImageMaskResult() );
- _viewMaskImage->SetminMaxValue( 254, 256);
- _viewMaskImage->SetBaseColor( 0,0,1 );
- _viewMaskImagePanel->SetThresholdImageView( _viewMaskImage );
- _viewMaskImage->SetwxVtkBaseView( _theViewPanel->getWxVtkBaseView() );
+ _viewMaskImagePanel = new ThresholdImageViewPanel( parent, -1, -1 , 0);
+ _viewMaskImage = new ThresholdImageView();
+ _viewMaskImage->SetImage(_contourextractdata->GetVtkImageMaskResult() );
+ _viewMaskImage->SetminMaxValue( min, max);
+ _viewMaskImage->SetBaseColor( 0,0,1 );
+ _viewMaskImagePanel->SetThresholdImageView( _viewMaskImage );
+ _viewMaskImage->SetwxVtkBaseView( _theViewPanel->getWxVtkBaseView() );
}
return _viewMaskImagePanel;
}
-void wxContourMainFrame::SetContourGroup(int contourGroup)
+wxPanel *wxContourMainFrame::getThresholdImageViewPanel(wxWindow *parent)
{
- printf("EED wxContourMainFrame::SetContourGroup \n");
- _contourGroup = contourGroup;
+ if (_viewThresholdImagePanel==NULL)
+ {
+ double range[2];
+ _theViewPanel->getImageData()->GetScalarRange(range);
+ int min = (int)floor (range[0]);
+ int max = (int)ceil (range[1]);
+ _viewThresholdImagePanel = new ThresholdImageViewPanel( parent, min, max , 1);
+ _viewThresholdImage = new ThresholdImageView();
+ _viewThresholdImage->SetImage( _theViewPanel->getImageData() );
+ _viewThresholdImage->SetminMaxValue( min, max);
+ _viewThresholdImage->SetBaseColor( 1,0,0 );
+ _viewThresholdImagePanel->SetThresholdImageView( _viewThresholdImage );
+ _viewThresholdImage->SetwxVtkBaseView( _theViewPanel->getWxVtkBaseView() );
+ }
+ return _viewThresholdImagePanel;
}
+
+
//AD
void onMirror();
- void onThreshold();
- void onThresholdChange();
- void onThresholdInterpolation(bool interpolate);
- void onThresholdChangeOpacity (int opacity);
- void onThresholdRemove();
-
+
+
//====================================================================================================
void showAxis(bool show);
void ShowResultImages(int typeContourGroup, int selection, int minZ, int maxZ );
- wxPanel *getThresholdImageViewPanel(wxWindow *parent);
-
+ wxPanel *getMaskImageViewPanel(wxWindow *parent);
void SetContourGroup(int contourGroup);
+ wxPanel *getThresholdImageViewPanel(wxWindow *parent);
private:
long m_notebook_theme;
int _numberOfVariablesStatistics;
- vtkImageReslice * _imageReslicer;
- vtkLookupTable * _thresholdTable;
- vtkImageMapToColors * _thresholdMapper;
- vtkImageActor * _thresholdActor;
-
+ // Contour Image Mask
ThresholdImageView *_viewMaskImage;
ThresholdImageViewPanel *_viewMaskImagePanel;
+ // Threshold Image
+ ThresholdImageView *_viewThresholdImage;
+ ThresholdImageViewPanel *_viewThresholdImagePanel;
std::vector<vtkImageData*> _images;
- //OutlineModelManager * _modelManager;
-
-
-
- //wxContour_ButtonsBar * _buttonsBar;
-
- //wxContour_Grid * _gridPanel;
-
- //wxContour_DrawToolsPanel * _drawToolsPanel;
-
- //wxContour_OperationsToolsPanel * _operationsToolsPanel;
-
- //wxContour_AutomaticFormsToolsPanel * _autoFormsPanel;
-
- //wxContour_StandardToolsPanel *_standardToolsPanel;
-
- //wxContour_EdtionToolsPanel * _editionToolsPanel;
-
- //wxContour_ListViewPanel * _listViewPanel;
-
- //wxVtkBaseView_SceneManager * _sceneManager;
-
- //Instant * _actualInstant;
-
-
/*DECLARE_CLASS(wxContourMainFrame)
// any class wishing to process wxWindows events must use this macro
ContourExtractData *_contourextractdata;
-//EED void GenerateContourExtractData();
void saveState();
void loadState(std::string filename);
}
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxVtkBaseView_SceneManager :: configureViewControlTo \n" );
-//fprintf(ff," %s %p \n",theKeyName.c_str() , manContourControl );
-//fclose(ff);
-
_lastInteraction = insertWrap( theKeyName, manContourControl, manViewerContour );
_lastInteractionName = theKeyName;
}
std::map <std::string, ContourWrap_ViewControl *>::iterator iter;
-//EED Borrame
-// FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-// fprintf(ff,"EED wxVtkBaseView_SceneManager::createCopyContourOf() \n" );
-// int ii,size = _contours_ViewControl->size();
-// iter = _contours_ViewControl->begin();
-// for (ii=0;ii<size;ii++)
-// {
-// fprintf(ff," %d %s\n ", ii ,iter->first.c_str() );
-// iter++;
-// }
-//fclose(ff);
iter = _contours_ViewControl->find( anExistingKName );
_lastInteractionName = "";
}
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxVtkBaseView_SceneManager :: removeFromScene \n" );
-//fprintf(ff," %p \n", contourWRP->getControler() );
-//fclose(ff);
((vtkInteractorStyleBaseView*)_wxVtk_BaseView->GetInteractorStyleBaseView())->RemoveInteractorStyleMaracas( contourWRP->getControler() );
{
ContourWrap_ViewControl * contourWRP = iter->second;
removeFromScene( contourWRP );
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxVtkBaseView_SceneManager :: removeFromScene Bbbbb \n" );
-//fprintf(ff," %d \n", _sceneContours_ViewControl->size() );
_sceneContours_ViewControl->erase(iter);
- }
-//EED Borrame
-//fprintf(ff," %d \n", _sceneContours_ViewControl->size() );
-//fclose(ff);
+ }
}
//------------------------------------------------------------------------------------------------------------
void wxVtkBaseView_SceneManager :: removeSceneContours( )
{
-//EED Borrame
-//FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-//fprintf(ff,"EED wxVtkBaseView_SceneManager :: removeSceneContours \n" );
-//fprintf(ff," %d \n", _sceneContours_ViewControl->size() );
std::map <std::string, ContourWrap_ViewControl *>::iterator iter = _sceneContours_ViewControl->begin();
int size = _sceneContours_ViewControl->size();
for ( int i = 0; i<size; i++ )
}
_sceneContours_ViewControl->clear();
-//EED Borrame
-//fprintf(ff," %d \n", _sceneContours_ViewControl->size() );
-//fclose(ff);
//Removing the selection rectangle to avoid showing when it's innecesary
_controlerSelectionROI->SetActive( false );
bool wxVtkBaseView_SceneManager :: OnMouseMove()
{
-//EED Borrame
-// FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-// fprintf(ff,"EED wxVtkBaseView_SceneManager::OnMouseMove() \n" );
-// fclose(ff);
bool condition = true;
int X,Y;
if( ((_lastInteraction != NULL && !control->IsEditable() && !control->IsMoving() ) || _lastInteraction==NULL ))
{
-//EED Borrame
-// FILE *ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
-// fprintf(ff,"EED wxVtkBaseView_SceneManager::OnMouseMove() 00222\n" );
-// fclose(ff);
- _lastInteraction=NULL;
+
+ _lastInteraction=NULL;
for( i =0; i<size ; i++ )
{
control = iter->second->getControler();
bool wxVtkBaseView_SceneManager :: OnLeftButtonDown()
{
- /*FILE *ff;
- ff = fopen("c:/temp/wxVtkBaseView_SceneManagerStadistics.txt","a+");
- long int endtime = clock();
-// double sg = (double)(endtime-startTimeAE) / (double)CLK_TCK;
- fprintf(ff,"wxVtkBaseView_SceneManager :: OnLeftButtonDown() tLBDown = %i \n \n",endtime);
- fclose(ff);*/
//EED??? char aa = _vtkInteractorStyleBaseView->GetInteractor()->GetKeyCode();
format 66
"GeneralArchitecture" // GeneralArchitecture
- revision 7
+ revision 8
modified_by 2 "davila"
// class settings
//class diagram settings
classrelation_ref 134018 // (_theViewPanel)
b parent class_ref 128898 // wxContourViewPanel
end
+
+ classrelation 137730 // (_viewMaskImage)
+ relation 137730 ---> name "_viewMaskImage"
+ a role_name "" private
+ cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+ classrelation_ref 137730 // (_viewMaskImage)
+ b parent class_ref 135554 // ThresholdImageView
+ end
+
+ classrelation 137858 // (_viewMaskImagePanel)
+ relation 137858 ---> name "_viewMaskImagePanel"
+ a role_name "" private
+ cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+ classrelation_ref 137858 // (_viewMaskImagePanel)
+ b parent class_ref 135682 // ThresholdImageViewPanel
+ end
+
+ classrelation 138114 // <unidirectional association>
+ relation 138114 --->
+ a role_name "" private
+ cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+ classrelation_ref 138114 // <unidirectional association>
+ b parent class_ref 130306 // ContourExtractData
+ end
end
class 128258 "wxPanel"
explicit_switch_type ""
end
+
+ class 135554 "ThresholdImageView"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ end
+
+ class 135682 "ThresholdImageViewPanel"
+ visibility package
+ cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ java_decl ""
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 137986 // <unidirectional association>
+ relation 137986 --->
+ a role_name "" private
+ cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+"
+ classrelation_ref 137986 // <unidirectional association>
+ b parent class_ref 135554 // ThresholdImageView
+ end
+ end
end
end
end
classcanvas 129282 class_ref 128642 // interfMainPanel
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
- xyz 287 850 2000
+ xyz 281 850 2000
end
classcanvas 129666 class_ref 128770 // PerformingOperation
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
end
classcanvas 130434 class_ref 129154 // manualLineControler
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
- xyz 661 300 2000
+ xyz 650 265 2000
end
classcanvas 130690 class_ref 129282 // manualContourModelLine
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
- xyz 660 206 2005
+ xyz 636 165 2005
end
classcanvas 130818 class_ref 129410 // manualViewLine
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
- xyz 661 250 2010
+ xyz 654 215 2010
end
classcanvas 131202 class_ref 129538 // wxAuiManager
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
classcanvas 131842 class_ref 129794 // vtkImageReslice
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
color mediumblue
- xyz 553 557 2000
+ xyz 512 593 2000
end
classcanvas 131970 class_ref 129922 // vtkLookupTable
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
color mediumblue
- xyz 611 514 2005
+ xyz 553 574 2005
end
classcanvas 132098 class_ref 130050 // vtkImageMapToColors
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
color mediumblue
- xyz 637 467 2005
+ xyz 568 561 2005
end
classcanvas 132226 class_ref 130178 // vtkImageActor
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
color mediumblue
- xyz 508 601 2005
+ xyz 478 612 2005
end
classcanvas 135554 class_ref 130306 // ContourExtractData
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
- xyz 142 129 2000
+ xyz 654 461 2000
end
classcanvas 136194 class_ref 128258 // wxPanel
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
fragment 144258 "buttons"
color lightred xyzwh 26 1030 1995 376 143
end
+classcanvas 144386 class_ref 135554 // ThresholdImageView
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 652 400 2000
+end
+classcanvas 144514 class_ref 135682 // ThresholdImageViewPanel
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 622 345 2011
+end
relationcanvas 128258 relation_ref 128002 // <unidirectional association>
from ref 128002 z 2001 to ref 128130
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 129410 relation_ref 128642 // _pannew
- from ref 128130 z 2001 label "_pannew" italic xyz 315 579 2001 to ref 129282
+ from ref 128130 z 2001 label "_pannew" italic xyz 312 579 2001 to ref 129282
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 132866 relation_ref 130306 // _imageReslicer
decenter_begin 717
decenter_end 417
- from ref 128130 z 2001 label "_imageReslicer" italic xyz 439 433 2001 to ref 131842
+ from ref 128130 z 2001 label "_imageReslicer" italic xyz 418 451 2001 to ref 131842
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 132994 relation_ref 130434 // _thresholdActor
decenter_begin 641
- from ref 128130 z 2006 label "_thresholdActor" italic xyz 405 455 2006 to ref 132226
+ from ref 128130 z 2006 label "_thresholdActor" italic xyz 391 460 2006 to ref 132226
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 133122 relation_ref 130562 // _thresholdTable
decenter_begin 875
- from ref 128130 z 2006 label "_thresholdTable" italic xyz 467 411 2006 to ref 131970
+ from ref 128130 z 2006 label "_thresholdTable" italic xyz 443 441 2006 to ref 131970
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 133250 relation_ref 130690 // _thresholdMapper
decenter_begin 937
- from ref 128130 z 2006 label "_thresholdMapper" italic xyz 481 387 2006 to ref 132098
+ from ref 128130 z 2006 label "_thresholdMapper" italic xyz 457 434 2006 to ref 132098
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
no_multiplicity_a no_multiplicity_b
end
relationcanvas 134146 relation_ref 131202 // _refLineView
- from ref 128130 z 2011 label "_refLineView" italic xyz 442 285 2011 to ref 130818
+ from ref 128130 z 2011 label "_refLineView" italic xyz 438 266 2011 to ref 130818
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 134274 relation_ref 131330 // _refLineModel
- from ref 128130 z 2006 label "_refLineModel" italic xyz 492 259 2006 to ref 130690
+ from ref 128130 z 2006 label "_refLineModel" italic xyz 481 238 2006 to ref 130690
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
no_multiplicity_a no_multiplicity_b
end
relationcanvas 134914 relation_ref 131586 // _refLineControl
- from ref 128130 z 2001 label "_refLineControl" italic xyz 484 303 2001 to ref 130434
+ from ref 128130 z 2001 label "_refLineControl" italic xyz 478 284 2001 to ref 130434
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
no_multiplicity_a no_multiplicity_b
end
relationcanvas 136834 relation_ref 133122 // panelSpread
- from ref 129282 z 2001 label "panelSpread" italic xyz 194 812 2001 to ref 136706
+ from ref 129282 z 2001 label "panelSpread" italic xyz 191 812 2001 to ref 136706
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 137090 relation_ref 133250 // panelMirror
- from ref 129282 z 2001 label "panelMirror" italic xyz 184 834 2001 to ref 136962
+ from ref 129282 z 2001 label "panelMirror" italic xyz 181 834 2001 to ref 136962
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 137474 relation_ref 133378 // panelThreshold
- from ref 129282 z 2006 label "panelThreshold" italic xyz 179 860 2006 to ref 137346
+ from ref 129282 z 2006 label "panelThreshold" italic xyz 176 860 2006 to ref 137346
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
end
relationcanvas 138626 relation_ref 133634 // splitterwindow
decenter_begin 230
- from ref 129282 z 2001 label "splitterwindow" italic xyz 417 846 2001 to ref 138498
+ from ref 129282 z 2001 label "splitterwindow" italic xyz 414 846 2001 to ref 138498
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 138882 relation_ref 133762 // toolspread
- from ref 129282 z 2001 label "toolspread" italic xyz 186 886 2001 to ref 138754
+ from ref 129282 z 2001 label "toolspread" italic xyz 182 886 2001 to ref 138754
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
no_multiplicity_a no_multiplicity_b
end
relationcanvas 141442 relation_ref 134402 // informatonPanel
- from ref 129282 z 2001 label "informatonPanel" italic xyz 367 780 2001 to ref 141314
+ from ref 129282 z 2001 label "informatonPanel" italic xyz 363 780 2001 to ref 141314
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
+relationcanvas 144642 relation_ref 137730 // _viewMaskImage
+ from ref 128130 z 2001 label "_viewMaskImage" italic xyz 476 354 3000 to ref 144386
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 144770 relation_ref 137858 // _viewMaskImagePanel
+ from ref 128130 z 2012 label "_viewMaskImagePanel" italic xyz 445 325 3000 to ref 144514
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 144898 relation_ref 137986 // <unidirectional association>
+ decenter_begin 571
+ from ref 144514 z 2012 to ref 144386
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
line 136578 -_-_
from ref 136450 z 2002 to ref 136322
line 138370 -_-_
-window_sizes 1024 1258 266 752 1131 70
+window_sizes 1024 1258 454 564 1131 70
diagrams
active classdiagram_ref 128002 // GeneralArchitecture
- 748 1111 100 4 123 0
+ 837 1111 100 4 90 20
sequencediagram_ref 129154 // Sequence diagram btnStatistics
664 712 100 4 0 7
sequencediagram_ref 129282 // Sequnce diagram btnSave
990 709 100 4 0 0
end
show_stereotypes
-selected sequencediagram_ref 129154 // Sequence diagram btnStatistics
+selected class_ref 133762 // user
open
classview_ref 128002 // GeneralArchitecture
end