]> Creatis software - creaMaracasVisu.git/commitdiff
#2651 creaMaracasVisu Feature New Normal - Color Layer: Transparent Base, Refresh
authorEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Fri, 29 Jul 2016 12:34:05 +0000 (14:34 +0200)
committerEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Fri, 29 Jul 2016 12:34:05 +0000 (14:34 +0200)
lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx

index f3760e9141f5643fa9178c66b4644a6c68be3731..ddfb35e0e5abea9a92dd27938426a30c363a7cbe 100644 (file)
@@ -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);