From dd319ebc7abbc47850e0931b9c42bd1157786e13 Mon Sep 17 00:00:00 2001 From: Eduardo DAVILA Date: Fri, 29 Jul 2016 14:34:05 +0200 Subject: [PATCH] #2651 creaMaracasVisu Feature New Normal - Color Layer: Transparent Base, Refresh --- .../ColorLayerImageView.cxx | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx index f3760e9..ddfb35e 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx @@ -207,13 +207,14 @@ int ColorLayerImageView::GetBaseColorNb() //---------------------------------------------------------------------------- void ColorLayerImageView::SetDefaultGreyLevelBoundary() { - // CM Sets the default behaviour concerning the lookup table keeping the base colors already set. - _grey_level_boundary.clear(); - // This avoids a potential division by 0 through delta during the lookup table configuration. - if (_range[1]==0) - { - _range[1]=255; + // CM Sets the default behaviour concerning the lookup table keeping the base colors already set. + _grey_level_boundary.clear(); + + // This avoids a potential division by 0 through delta during the lookup table configuration. + if (_range[1]==0) + { + _range[1]=255; } int i; @@ -237,12 +238,12 @@ void ColorLayerImageView::SetDefaultGreyLevelBoundary() _grey_level_boundary.push_back(minTot + i * delta); } // for } // if - } //---------------------------------------------------------------------------- void ColorLayerImageView::SetDefaultBaseColorAndGreyLevelBoundary() { + // CM Sets the default behaviour concerning the lookup table. _grey_level_boundary.clear(); _base_color.clear(); @@ -313,17 +314,13 @@ void ColorLayerImageView::ConfigLookupTable() // virtual // ------------------ 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) + if (GetBaseColorNb() == 0) { 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 ) - { - -printf("EED ColorLayerImageView::ConfigLookupTable() %d %d\n", 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; + } 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() ) + { + 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() (=" << _grey_level_boundary.size() << ")." << std::endl; std::cout << "CM The default values for the base colors and the grey level boundaries will be set." << std::endl; SetDefaultGreyLevelBoundary(); } @@ -358,7 +355,7 @@ printf("EED ColorLayerImageView::ConfigLookupTable() %d %d\n", GetBaseColorNb() thresholdTable->SetRampToLinear( ); maxColorsThresholdTable = 1000; - thresholdTable->SetNumberOfTableValues( maxColorsThresholdTable ); + thresholdTable->SetNumberOfTableValues( maxColorsThresholdTable+1 ); thresholdTable->SetNanColor(0,0,0,0); -- 2.45.0