]> Creatis software - creaContours.git/commitdiff
no message
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Mon, 27 Jul 2009 15:05:06 +0000 (15:05 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Mon, 27 Jul 2009 15:05:06 +0000 (15:05 +0000)
lib/Interface_Icons_NDimensions/interfMainPanel.cxx
lib/Interface_Icons_NDimensions/interfMainPanel.h
lib/Interface_Icons_NDimensions/interfSegmentationPanels.cxx
lib/Interface_Icons_NDimensions/interfSegmentationPanels.h
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h
lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx
lib/doxygen/bouml/GeneralArchitecture/GeneralArchitecture/128002
lib/doxygen/bouml/GeneralArchitecture/GeneralArchitecture/128002.diagram
lib/doxygen/bouml/GeneralArchitecture/GeneralArchitecture/2.session

index 6a308294bee53d3d935666895bc01374bb701323..40456bf8f691ba68fffbc1038ab59ebedf7a9c90 100644 (file)
@@ -587,7 +587,7 @@ void interfMainPanel::onInformationPressed(){
                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("")));
                
@@ -721,63 +721,39 @@ void interfMainPanel::onMirrorChangeWidth(int width)
 }
 
 
-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);
index a91c0865e0c6b1aa21e0dc68391269ff281d1776..9c3868d46186cde815975b6cb0955a127b985323 100644 (file)
@@ -111,106 +111,50 @@ public:
        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:
@@ -259,8 +203,6 @@ private:
        wxPanel* mirrorPanel;
        interfMirrorPanel* panelMirror; 
        wxPanel* thresholdPanel;
-       interfThresholdPanel* panelThreshold;
-
        
        bool axisshown;
        bool refLineShown;
index 0d4c590e6cacf1ae323b7e43c1227736c73bad16..04f8fd86e57980500516df105b5e49ed740bbaba 100644 (file)
@@ -266,121 +266,10 @@ void interfMirrorPanel::onChangeWidth(wxScrollEvent& event)
 
 
 
-/**
-** 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()
-
-
index 55c74b8a3bee82d0eb543a61775ed7b6918d9e78..ad0055a37d645f403b6d2417b326abee68444f07 100644 (file)
@@ -101,35 +101,6 @@ private:
 };
 
 
-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
  
  
index c6293c330af6fa8f8abf8ab78ca2f2f921a31e26..5596ea4a2b6c5a9c4871ebac77672f5014fe4480 100644 (file)
@@ -55,11 +55,7 @@ char wxContourMainFrame::COPY = 'C';
                _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;
@@ -69,6 +65,9 @@ char wxContourMainFrame::COPY = 'C';
                _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)         
@@ -83,13 +82,11 @@ char wxContourMainFrame::COPY = 'C';
                _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;
@@ -513,11 +510,6 @@ void wxContourMainFrame :: deleteContour( std::string theKeyName ){
                //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;
@@ -637,19 +629,13 @@ void wxContourMainFrame::changeInstant()
 {
                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;
@@ -658,7 +644,14 @@ void wxContourMainFrame::changeInstant()
                        }
                }
        
-           onThresholdChange();
+       // Refresh Threshold image
+               if(_viewThresholdImage!=NULL){
+                       _viewThresholdImage->SetZ(actualSlice);                 
+                       if (_viewThresholdImagePanel->IsVisible()==true){
+                               _viewThresholdImage->onThreshold();
+                       }
+               }
+       
                updateInstantOutlines();
                updateInstantImageData();
                updateInstantAxes();
@@ -2031,192 +2024,6 @@ void wxContourMainFrame::onMirror()
        //_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)
 {
@@ -3022,16 +2829,14 @@ void wxContourMainFrame::ShowToolsPanel(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)
@@ -3039,31 +2844,46 @@ wxPanel *wxContourMainFrame::getThresholdImageViewPanel(wxWindow *parent)
                _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;
 }
 
 
 
 
+
+
index 4c148e6770dc3c4457c39e30b62d78741cf5bcb5..00f9ec2b539bfda3b6ad96d0da6b1a4cdccddcf7 100644 (file)
@@ -264,12 +264,8 @@ class wxContourMainFrame : public wxPanel {
 
        //AD
        void onMirror();
-       void onThreshold();
-       void onThresholdChange();
-       void onThresholdInterpolation(bool interpolate);
-       void onThresholdChangeOpacity (int opacity);
-       void onThresholdRemove();
-
+       
+       
 //==================================================================================================== 
 
        void showAxis(bool show);
@@ -314,9 +310,9 @@ class wxContourMainFrame : public wxPanel {
        
        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:
@@ -359,15 +355,14 @@ 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;
@@ -377,31 +372,6 @@ private:
        
        
        
-       //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
@@ -416,7 +386,6 @@ private:
        
        ContourExtractData      *_contourextractdata;
 
-//EED  void GenerateContourExtractData();
        
        void saveState();
        void loadState(std::string filename);
index fccc03657f72041a8d8d571ff8f6075cc9345c52..845adcf6a6942c9ba888512cd2b7fa68e2968154 100644 (file)
@@ -174,12 +174,6 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
                }
 
 
-//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;
@@ -344,17 +338,6 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
                }
         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 );
 
@@ -388,11 +371,6 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
                        _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() );
 
@@ -420,15 +398,8 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
                {
                        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);
+               }       
        }
 
 
@@ -449,10 +420,6 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
        //------------------------------------------------------------------------------------------------------------
        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++ )
@@ -462,9 +429,6 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
                }
                _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 );             
@@ -741,10 +705,6 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
 
        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;
@@ -815,11 +775,8 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
                        
                        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();
@@ -867,12 +824,6 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
        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();
index 37c5699351f5d60dba4f593ba8ffef0ec9596e7e..ac213aa3fc1467f661437c0617966cbf2aa0f673 100644 (file)
@@ -1,6 +1,6 @@
 format 66
 "GeneralArchitecture" // GeneralArchitecture
-  revision 7
+  revision 8
   modified_by 2 "davila"
   // class settings
   //class diagram settings
@@ -250,6 +250,33 @@ ${inlines}
            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"
@@ -892,5 +919,41 @@ ${inlines}
       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
index 72dfe02a759b9c86eea16685717594d3dbd908af..23a2eb061b4010a11c693baefc6fabc8a07deba2 100644 (file)
@@ -24,7 +24,7 @@ classcanvas 129026 class_ref 128514 // KernelManagerContour
 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
@@ -40,15 +40,15 @@ classcanvas 130178 class_ref 129026 // wxInstantChooserPanel
 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
@@ -61,26 +61,26 @@ end
 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
@@ -177,6 +177,14 @@ end
 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
@@ -199,7 +207,7 @@ relationcanvas 129154 relation_ref 128514 // kernelManager
   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
@@ -211,25 +219,25 @@ 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
@@ -250,12 +258,12 @@ relationcanvas 134018 relation_ref 131074 // notebook
   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
@@ -265,7 +273,7 @@ relationcanvas 134658 relation_ref 131458 // _theViewPanel
   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
@@ -280,17 +288,17 @@ relationcanvas 136322 relation_ref 132994 // <unidirectional association>
   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
@@ -302,12 +310,12 @@ relationcanvas 138114 relation_ref 133506 // <unidirectional association>
 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
@@ -332,7 +340,7 @@ relationcanvas 141186 relation_ref 134018 // _theViewPanel
   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
@@ -380,6 +388,22 @@ relationcanvas 144130 relation_ref 136578 // <unidirectional association>
   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 -_-_
index 44d099ef71ee5bf3247df1770f685bd329f89f02..0ecd60e465f8e809fd4504433a0aed0e56bfa7d8 100644 (file)
@@ -1,7 +1,7 @@
-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
@@ -10,7 +10,7 @@ diagrams
     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