From: davila Date: Wed, 27 May 2015 14:18:27 +0000 (+0200) Subject: Merge branch 'creaButtonContainer' X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=b61b15415d19c665de225637c9136c634a5831c5;hp=7237c161ca713d5054c9a5cd7dc7188d5ac65ae9;p=creaMaracasVisu.git Merge branch 'creaButtonContainer' Conflicts: bbtk/src/bbcreaMaracasVisuPanelButtonContainer.cxx --- diff --git a/appli/BasicViewer/main.cxx b/appli/BasicViewer/main.cxx index 462a57e..b71b668 100644 --- a/appli/BasicViewer/main.cxx +++ b/appli/BasicViewer/main.cxx @@ -29,6 +29,9 @@ #include "OpenImageDialog.h" #include "vtkImageData.h" +#include +#include +#include class MyApp:public wxApp { @@ -66,10 +69,11 @@ bool MyApp::OnInit() MyFrame *frame = new MyFrame(wxT("CREATIS basic")); const int width = 600; + const int height = 250; frame->SetSize(width,height); - + frame->Show(true); return true; diff --git a/appli/CMakeLists.txt b/appli/CMakeLists.txt index 197b3c5..7f47881 100644 --- a/appli/CMakeLists.txt +++ b/appli/CMakeLists.txt @@ -24,7 +24,7 @@ # ------------------------------------------------------------------------ */ #ADD_SUBDIRECTORY(ManualPaint) -#ADD_SUBDIRECTORY(BasicViewer) +##ADD_SUBDIRECTORY(BasicViewer) IF(QT_USE_QTUITOOLS) ADD_SUBDIRECTORY(QtVTKViewer) diff --git a/bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx b/bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx index de5de6e..160795d 100644 --- a/bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx +++ b/bbtk/src/bbcreaMaracasVisuColorLayerImageView.cxx @@ -41,7 +41,7 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ColorLayerImageView,bbtk::WxBlackBox); //===== void ColorLayerImageView::Process() { - + ColorLayerImageViewPanel *clivp = (ColorLayerImageViewPanel*)bbGetOutputWidget(); clivp->SetActive( bbGetInputActive() ); diff --git a/bbtk/src/bbcreaMaracasVisuPanelButtonContainer.cxx b/bbtk/src/bbcreaMaracasVisuPanelButtonContainer.cxx index b98efdd..004b8da 100644 --- a/bbtk/src/bbcreaMaracasVisuPanelButtonContainer.cxx +++ b/bbtk/src/bbcreaMaracasVisuPanelButtonContainer.cxx @@ -42,11 +42,7 @@ PanelButtonContainer::Process( ) { ButtonContainerSettings* settings = new ButtonContainerSettings( ); printf("EED PanelButtonContainer::Process %d\n", bbGetInputIn( ).size() ); - - - settings->InitModel(bbGetInputIn( ), bbGetInputType()); - - + settings->InitModel(bbGetInputIn( ), bbGetInputType()); PBContainer* panel = new PBContainer( myPanel, settings, bbGetInputType() ); wxBoxSizer* sizer = new wxBoxSizer( wxHORIZONTAL ); sizer->Add( panel, 1, wxEXPAND, 0 ); @@ -65,8 +61,8 @@ void PanelButtonContainer::CreateWidget( wxWindow* parent ) this->myPanel = new wxPanel( parent, -1 ); /// \TODO fix warning: unused variable ww wxWindow* ww = bbCreateWidgetOfInput( "In", this->myPanel ); - bbSetOutputWidget( myPanel); - + ww=NULL; + bbSetOutputWidget( myPanel ); } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx index 515784a..61bb9bb 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx @@ -82,8 +82,6 @@ void ColorLayerImageView::SetZ2(int z2) _z2 = z2; } - - //---------------------------------------------------------------------------- int ColorLayerImageView::GetX() // virtual { @@ -208,17 +206,17 @@ void ColorLayerImageView::SetDefaultGreyLevelBoundary() } // Grey level extrema are set by default to the image grey level extrema. - int minTot = floor (_range[0]); - int maxTot = ceil (_range[1]); + double minTot = _range[0]; + double maxTot = _range[1]; - _grey_level_boundary.push_back((double)minTot); + _grey_level_boundary.push_back(minTot); // By default, the histogram is split into BaseColorNb areas of equal width. double delta = (maxTot - minTot)/GetBaseColorNb(); for (int i = 1; i <= GetBaseColorNb() ; i ++) { - _grey_level_boundary.push_back((double)minTot + i * delta); - } + _grey_level_boundary.push_back(minTot + i * delta); + } // for } //---------------------------------------------------------------------------- @@ -247,152 +245,165 @@ void ColorLayerImageView::SetDefaultBaseColorAndGreyLevelBoundary() _range[1]=255; } - int minTot = floor (_range[0]); - int maxTot = ceil (_range[1]); + double minTot = floor (_range[0]); + double maxTot = ceil (_range[1]); - _grey_level_boundary.push_back((double)minTot); + _grey_level_boundary.push_back(minTot); // By default, the histogram is split into three areas of equal width. double delta = (maxTot - minTot)/3.0; _grey_level_boundary.push_back(minTot + delta); _grey_level_boundary.push_back(minTot + 2*delta); - _grey_level_boundary.push_back((double)maxTot); + _grey_level_boundary.push_back(maxTot); } //---------------------------------------------------------------------------- void ColorLayerImageView::ConfigLookupTable() // virtual { - // CM + // CM 2014 + // EED 28/01/2015 + // Grey level extrema retrieved from the image grey level extrema. - GetImage()->GetScalarRange(_range); - - + double minRange = _range[0]; + double maxRange = _range[1]; // ------------------ Setting Default Values // Checks the size consistency of vectors _base_color and _grey_level_boundary. // In case of inconsistency, an exception should be thrown. Instead, the default values are set. if (GetBaseColorNb() == 0) - SetDefaultBaseColorAndGreyLevelBoundary(); - - // If at least one color has been set, set the grey level boundaries to build an equipartition of the image grey levels, keeping the base colors defined. - else - if (GetBaseColorNb() != (_grey_level_boundary.size() - 1) ) + { + SetDefaultBaseColorAndGreyLevelBoundary(); + } + else { // If at least one color has been set, set the grey level boundaries to build an equipartition of the image grey levels, keeping the base colors defined. + if (GetBaseColorNb() != ((int)_grey_level_boundary.size() - 1) ) { - std::cout << "CM ColorLayerImageView::ConfigLookupTable : ERROR!!! Inconsistency between the sizes of vectors _base_color and _grey_level_boundary. _base_color.size()/3 (=" <<_base_color.size()/3 << ") should be equal to _grey_level_boundary.size() - 1 (=" << _grey_level_boundary.size() - 1 << ")." << std::endl; - std::cout << "CM The default values for the base colors and the grey level boundaries will be set." << std::endl; - SetDefaultGreyLevelBoundary(); + std::cout << "CM ColorLayerImageView::ConfigLookupTable : ERROR!!! Inconsistency between the sizes of vectors _base_color and _grey_level_boundary. _base_color.size()/3 (=" <<_base_color.size()/3 << ") should be equal to _grey_level_boundary.size() - 1 (=" << _grey_level_boundary.size() - 1 << ")." << std::endl; + std::cout << "CM The default values for the base colors and the grey level boundaries will be set." << std::endl; + SetDefaultGreyLevelBoundary(); } + } // ------------------ End Of Setting Default Values - // ------------------ Defining the Threshold Table vtkLookupTable* thresholdTable = GetThresholdTable(); + double thresholdTable_range[2]; + double r1,r2,g1,g2,b1,b2; + int start,end; // CM Number of table values consistent with the effective number of values (see loop below). - double thresholdTable_range[2]; - thresholdTable_range[1]= std::max( GetGreyLevelBoundaries( GetBaseColorNb() ), ceil(_range[1]) ); - thresholdTable_range[0]= std::min( GetGreyLevelBoundaries(0), floor(_range[0]) ); - thresholdTable->SetNumberOfTableValues(thresholdTable_range[1] - thresholdTable_range[0] + 1); + thresholdTable_range[1]= std::max( GetGreyLevelBoundaries( _grey_level_boundary.size()-1 ) , ceil(_range[1]) ); + thresholdTable_range[0]= std::min( GetGreyLevelBoundaries(0) , floor(_range[0]) ); + thresholdTable->SetTableRange(thresholdTable_range); thresholdTable->SetAlphaRange(0, 1); thresholdTable->SetValueRange(0, 1); - thresholdTable->SetSaturationRange(0, 0); thresholdTable->SetRampToLinear( ); + maxColorsThresholdTable = 1000; + thresholdTable->SetNumberOfTableValues( maxColorsThresholdTable ); + + // Defines the lookup table. // If the image has a degradation in one (or both) extremum (lower or higher), // sets the corresponding grey levels as transparent white in the lookup table. - for (int i = floor(_range[0]); i <= GetGreyLevelBoundaries(0); i++) - { - thresholdTable -> SetTableValue( i, 0, 0, 0, 0); - } - for (int i = GetGreyLevelBoundaries( GetBaseColorNb() ) + 1 ; i <= ceil(_range[1]); i++) - { - thresholdTable -> SetTableValue( i, 0, 0, 0, 0); - } - - int delta; // _color_type true, i.e. plain colors. // Sets the plain color for each grey level interval. if (_color_type) - { - for (int i = 0; i < GetBaseColorNb(); i++) - { - delta = GetGreyLevelBoundaries(i+1) - GetGreyLevelBoundaries(i); - for (int ii = 1; ii <= delta; ii++) - { - thresholdTable->SetTableValue(GetGreyLevelBoundaries(i) + ii, - GetBaseColors(i*3), - GetBaseColors(i*3 + 1), - GetBaseColors(i*3 + 2), - 1); - } - } - } // End Of if (_color_type) + { + + if ( minRangeGetGreyLevelBoundaries( _grey_level_boundary.size()-1 ) ) + { + start = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries( _grey_level_boundary.size()-1 ) ); + end = GrayLevel_TO_colorTableIndex( maxRange ); + FillColorTable(start,end, 0,0,0, 0,0,0); + } + + for (int iColor = 0; iColor < GetBaseColorNb(); iColor++) + { + r1 = GetBaseColors(iColor*3+0); + g1 = GetBaseColors(iColor*3+1); + b1 = GetBaseColors(iColor*3+2); + start = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(iColor) ); + end = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(iColor+1) ); + FillColorTable(start,end, r1,g1,b1,r1,g1,b1); + } // for i + } // End Of if (_color_type) - // _color_type false, i.e. gradient color else - { - // First color: - // Creates a linear range from white to the first color. - delta = GetGreyLevelBoundaries(1) - GetGreyLevelBoundaries(0); - for (int ii = 1; ii <= delta ; ii++) - { - thresholdTable->SetTableValue( (GetGreyLevelBoundaries(0) + ii), GetBaseColors(0) * ii/delta, - GetBaseColors(1) * ii/delta, GetBaseColors(2) * ii/delta, 1); - } - - // If other colors exist: - // Creates linear ranges between one color and the following in the color vector. + { +//EED 28/01/2015 if (GetBaseColorNb() > 1) - { - for (int i = 1; i < GetBaseColorNb(); i++) - { - delta = GetGreyLevelBoundaries(i+1) - GetGreyLevelBoundaries(i); - for (int ii = 1; ii <= delta; ii++) { - // Color computation : previous_color + (current_color - previous_color)/delta * ii - thresholdTable->SetTableValue((GetGreyLevelBoundaries(i) + ii), - GetBaseColors((i-1)*3) + (GetBaseColors(i*3) - GetBaseColors((i-1)*3)) / delta * ii , - GetBaseColors((i-1)*3 + 1) + (GetBaseColors(i*3 + 1) - GetBaseColors((i-1)*3 + 1)) / delta * ii , - GetBaseColors((i-1)*3 + 2) + (GetBaseColors(i*3 + 2) - GetBaseColors((i-1)*3 + 2)) / delta * ii , - 1); - } - } - } - } // End Of if (!_color_type) - - - - thresholdTable->SetRange(_range[0], _range[1]); // image intensity range - thresholdTable->SetValueRange(0.0, 1.0); // from black to white - + for (int iColor = 0; iColor < GetBaseColorNb(); iColor++) + { + if (iColor==0) + { + r1 = 0; + g1 = 0; + b1 = 0; + } else { + r1 = GetBaseColors((iColor-1)*3+0); + g1 = GetBaseColors((iColor-1)*3+1); + b1 = GetBaseColors((iColor-1)*3+2); + } // if iColor == 0 + + r2 = GetBaseColors(iColor*3+0); + g2 = GetBaseColors(iColor*3+1); + b2 = GetBaseColors(iColor*3+2); + start = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(iColor) ); + end = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(iColor+1) ); + FillColorTable( start,end, r1,g1,b1, r2,g2,b2 ); + }// for + } //if + } // End Of if (!_color_type) + + thresholdTable->SetRange( minRange, maxRange ); + thresholdTable->SetValueRange( 0.0, 1.0 ); thresholdTable->Build( ); + //EO CM EED +} +//---------------------------------------------------------------------------- +int ColorLayerImageView::GrayLevel_TO_colorTableIndex( double VALUE ) +{ + GetImage()->GetScalarRange(_range); + double minRange = _range[0]; + double maxRange = _range[1]; + return maxColorsThresholdTable * (VALUE-minRange) / (maxRange-minRange); +} -/* -// Create a greyscale lookup table +//---------------------------------------------------------------------------- +void ColorLayerImageView::FillColorTable(int start, int end, double r1, double g1, double b1, double r2, double g2, double b2) +{ vtkLookupTable* thresholdTable = GetThresholdTable(); - thresholdTable->SetRange(0.5, 0.75); // image intensity range - thresholdTable->SetValueRange(0.0, 1); // from black to white - thresholdTable->SetHueRange(0.0, 1.0); // from black to white - thresholdTable->SetSaturationRange(0.0, 1.0); // no color saturation - thresholdTable->SetRampToLinear(); - thresholdTable->Build(); -*/ + int iTable; + double delta = end-start; + double dr = (r2-r1)/delta; + double dg = (g2-g1)/delta; + double db = (b2-b1)/delta; + for (iTable=0; iTable<=delta; iTable++) + { + thresholdTable->SetTableValue( iTable+start , r1+dr*iTable, g1+dg*iTable, b1+db*iTable,1); + } // for iTable - // ------------------ End Of Defining the Threshold Table + if (start==0) thresholdTable->SetTableValue( start , r1, g1, b1,0); // The first color in the table is transparent - //EO CM } // EOF diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.h index e9adb4f..75c6e1a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.h @@ -91,6 +91,12 @@ class ColorLayerImageView : public LayerImageBase */ int GetBaseColorNb(); + + void FillColorTable(int start, int end, double r1, double g1, double b1, double r2, double g2, double b2); + + int GrayLevel_TO_colorTableIndex( double VALUE ); + + private: int _x2, _y2, _z2; @@ -98,6 +104,8 @@ class ColorLayerImageView : public LayerImageBase void SetDefaultGreyLevelBoundary(); void SetDefaultBaseColorAndGreyLevelBoundary(); virtual void ConfigLookupTable(); + int maxColorsThresholdTable; + //! Range values in the colored image. double _range[2]; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.cxx index ffabba1..d6efc91 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageViewPanel.cxx @@ -59,7 +59,6 @@ void wxDlgTransformByDimensionBySpacingByPixel::GetTransformType(wxWindow *paren wxRadioBox * radioOpts = new wxRadioBox(dial, -1, _T("Type of Transformation"), wxDefaultPosition, wxSize(270,45), 3 , lstOptOperation, 3, wxRA_SPECIFY_COLS); dialSizer->Add( new wxStaticText(dial,-1,message) , 0, wxGROW ); - // dialSizer->Add( new wxStaticText(dial,-1,_T("selected Roi file. Do you want to tranform it?")) , 0, wxGROW ); dialSizer->Add( new wxStaticText(dial,-1,_T(" ")) , 0, wxGROW ); dialSizer->Add(radioOpts,0,wxGROW); dialSizer->Add( new wxStaticText(dial,-1,_T(" ")) , 0, wxGROW ); @@ -90,12 +89,10 @@ void wxDlgTransformByDimensionBySpacingByPixel::GetTransformType(wxWindow *paren ColorLayerImageViewPanel::ColorLayerImageViewPanel(wxWindow* parent, int min, int max, int type) : wxPanel(parent, -1, wxDefaultPosition, wxSize(600,100), wxBORDER_SUNKEN) { - printf("EED ColorLayerImageViewPanel::ColorLayerImageViewPanel start \n"); _spcBase[0] = _spcBase[1] = _spcBase[2] = 0; _dimBase[0] = _dimBase[1] = _dimBase[2] = 0; -//EED01 _colorLayerImageView = new ColorLayerImageView(); _colorLayerImageViewManager = new ColorLayerImageViewManager(); _btn_ReadImage = new wxButton(this, wxID_ANY, _T("Read Image") ); @@ -189,26 +186,14 @@ ColorLayerImageViewPanel::~ColorLayerImageViewPanel() } -//EED01 -//EED01 //---------------------------------------------------------------------------- -//EED01 void ColorLayerImageViewPanel::SetColorLayerImageView(ColorLayerImageView* colorLayerImageView) -//EED01 { -//EED01 _colorLayerImageView = colorLayerImageView; -//EED01 } -//EED01 -//EED01 //---------------------------------------------------------------------------- -//EED01 ColorLayerImageView* ColorLayerImageViewPanel::GetColorLayerImageView() -//EED01 { -//EED01 return _colorLayerImageView; -//EED01 } - - +//---------------------------------------------------------------------------- ColorLayerImageViewManager* ColorLayerImageViewPanel::GetColorLayerImageViewManager() { return _colorLayerImageViewManager; } +//---------------------------------------------------------------------------- // This is the new spacing of the background image (1,1,1) void ColorLayerImageViewPanel::SetBaseSpacing(double spc[3]) { @@ -221,6 +206,7 @@ void ColorLayerImageViewPanel::SetBaseSpacing(double spc[3]) _spcBase[2] = 1; } +//---------------------------------------------------------------------------- // This is the Original spacing of the background image void ColorLayerImageViewPanel::SetOriginalSpacing(double spc[3]) { @@ -229,6 +215,7 @@ void ColorLayerImageViewPanel::SetOriginalSpacing(double spc[3]) _spcOrg[2] = spc[2]; } +//---------------------------------------------------------------------------- // This is the size in pixels of the background image void ColorLayerImageViewPanel::SetBaseDimension(int dim[3]) { @@ -278,9 +265,6 @@ void ColorLayerImageViewPanel::SetImage(vtkImageData *img) else typeOfTransformation = _fitting_mode; //EO CM - - printf("EED ColorLayerImageViewPanel::onReadImage call dialog spc size,dim...???\n"); - if (typeOfTransformation==1) // make dimensions equals { printf("EED ColorLayerImageViewPanel::onReadImage ...WARNNING.... dif size image spc*dim ofnew image ...???\n"); @@ -306,15 +290,11 @@ void ColorLayerImageViewPanel::SetImage(vtkImageData *img) img->SetSpacing(spc); } // spc !_spcBase dim!__dimBase -//EED01 if (_colorLayerImageView!=NULL) -//EED01 { -//EED01 _colorLayerImageView->onThreshold(); if (_active==true) { _colorLayerImageViewManager->onThreshold(); RefreshView(); } -//EED01 } } @@ -362,72 +342,51 @@ void ColorLayerImageViewPanel::onReadImage(wxCommandEvent& event) //---------------------------------------------------------------------------- void ColorLayerImageViewPanel::onThresholdChange(wxCommandEvent& event) { -//EED01 if (_colorLayerImageView!=NULL) -//EED01 { if (_thresholdGo) { -//EED01 _colorLayerImageView->onThresholdChange(); _colorLayerImageViewManager->onThresholdChange(); RefreshView(); //std::cout<< "Valor Min: " << minVal << " & Valor Max: " << maxVal << std::endl; } // _thresholdGo -//EED01 }//_colorLayerImageView } //---------------------------------------------------------------------------- void ColorLayerImageViewPanel::onThresholdShow(wxCommandEvent& event) { -//EED01 if (_colorLayerImageView!=NULL) -//EED01 { _thresholdGo = _cb_ShowHide->GetValue(); if (_thresholdGo) { -//EED01 _colorLayerImageView->onThreshold(); _colorLayerImageViewManager->onThreshold(); }else{ -//EED01 _colorLayerImageView->onThresholdRemove( ); _colorLayerImageViewManager->onThresholdRemove( ); } RefreshView(); -//EED01 }//_colorLayerImageView } //---------------------------------------------------------------------------- void ColorLayerImageViewPanel::onThresholdStop() { -//EED01 if (_colorLayerImageView!=NULL) -//EED01 { if (_thresholdGo) { -//EED01 _colorLayerImageView->onThresholdRemove( ); _colorLayerImageViewManager->onThresholdRemove( ); _thresholdGo=false; } -//EED01 }//_colorLayerImageView } //---------------------------------------------------------------------------- void ColorLayerImageViewPanel::onThresholdInterpolation(wxCommandEvent& event) { -//EED01 if (_colorLayerImageView!=NULL) -//EED01 { -//EED01 _colorLayerImageView->onThresholdInterpolation(_interpolationCheckBox->GetValue()); _colorLayerImageViewManager->onThresholdInterpolation(_interpolationCheckBox->GetValue()); RefreshView(); -//EED01 }//_colorLayerImageView } //---------------------------------------------------------------------------- void ColorLayerImageViewPanel::onSliceFixDinamic(wxCommandEvent& event) { -//EED01 if (_colorLayerImageView!=NULL) -//EED01 { bool fixdin = _cb_SliceFixDinamic->GetValue(); -//EED01 _colorLayerImageView->SetSliceFixDynamic( fixdin ); _colorLayerImageViewManager->SetSliceFixDynamic( fixdin ); if (fixdin==false) { -//EED01 _colorLayerImageView->SetZ2( _sl_SliceImage->GetValue() ); _colorLayerImageViewManager->SetX2( _sl_SliceImageX->GetValue() ); _colorLayerImageViewManager->SetY2( _sl_SliceImageY->GetValue() ); _colorLayerImageViewManager->SetZ2( _sl_SliceImageZ->GetValue() ); @@ -435,38 +394,26 @@ void ColorLayerImageViewPanel::onSliceFixDinamic(wxCommandEvent& event) _sl_SliceImageX->Enable(!fixdin); _sl_SliceImageY->Enable(!fixdin); _sl_SliceImageZ->Enable(!fixdin); -//EED01 _colorLayerImageView->onThreshold(); _colorLayerImageViewManager->onThreshold(); RefreshView(); -//EED01 }//_colorLayerImageView } //---------------------------------------------------------------------------- void ColorLayerImageViewPanel::onSliceImage(wxScrollEvent& event) { -//EED01 if (_colorLayerImageView!=NULL) -//EED01 { -//EED01 _colorLayerImageView->SetZ2( _sl_SliceImage->GetValue() ); -//EED01 _colorLayerImageView->onThreshold(); -//EED01 RefreshView(); - _colorLayerImageViewManager->SetX2( _sl_SliceImageX->GetValue() ); - _colorLayerImageViewManager->SetY2( _sl_SliceImageY->GetValue() ); - _colorLayerImageViewManager->SetZ2( _sl_SliceImageZ->GetValue() ); - _colorLayerImageViewManager->onThreshold(); + _colorLayerImageViewManager->SetX2( _sl_SliceImageX->GetValue() ); + _colorLayerImageViewManager->SetY2( _sl_SliceImageY->GetValue() ); + _colorLayerImageViewManager->SetZ2( _sl_SliceImageZ->GetValue() ); + _colorLayerImageViewManager->onThreshold(); RefreshView(); -//EED01 }//_colorLayerImageView } //---------------------------------------------------------------------------- void ColorLayerImageViewPanel::onChangeOpacity(wxScrollEvent& event) { -//EED01 if (_colorLayerImageView!=NULL) -//EED01 { int opacity = _opacity->GetValue(); -//EED01 _colorLayerImageView->onThresholdChangeOpacity(opacity); _colorLayerImageViewManager->onThresholdChangeOpacity(opacity); RefreshView(); -//EED01 }//_colorLayerImageView }