]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx
#2490 creaMaracasVisu Feature New High - Histogram Interaction
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / ThresholdImageView / ColorLayerImageView.cxx
index 76851357f141e3fd083e013e14563e4af36666b2..cbba163e24222ba889e5b5523b03627f940770a2 100644 (file)
@@ -45,9 +45,9 @@
 //=========================================================================
 ColorLayerImageView::ColorLayerImageView( )
 {
-  _z2          =       0;
-  _fix_dynamic =       true;
-  _color_type   =       false;
+  _z2                                  =       0;
+  _fix_dynamic         =       true;
+  _color_type          =       false;
 }
 
 //=========================================================================
@@ -216,9 +216,9 @@ void ColorLayerImageView::SetDefaultGreyLevelBoundary()
   // 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((double)minTot + i * delta);
+  }
 }
 
 //----------------------------------------------------------------------------
@@ -267,10 +267,7 @@ void ColorLayerImageView::ConfigLookupTable()  // virtual
   // Grey level extrema retrieved from the image grey level extrema.
 
 
-printf("ERROR: EED ColorLayerImageView::ConfigLookupTable   ------_range----------------\n");
-  _range[0]=0;
-  _range[1]=4000;
-//  GetImage()->GetScalarRange(_range);
+  GetImage()->GetScalarRange(_range);
 
 
 
@@ -295,10 +292,15 @@ printf("ERROR: EED ColorLayerImageView::ConfigLookupTable   ------_range--------
   vtkLookupTable* thresholdTable = GetThresholdTable();
 
   // CM Number of table values consistent with the effective number of values (see loop below).
-  thresholdTable->SetNumberOfTableValues(std::max( GetGreyLevelBoundaries( GetBaseColorNb() ), ceil(_range[1]) ) - std::min(  GetGreyLevelBoundaries(0), floor(_range[0]) ) + 1);
-  thresholdTable->SetTableRange(_range); 
+  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->SetTableRange(thresholdTable_range); 
   thresholdTable->SetAlphaRange(0, 1);
   thresholdTable->SetValueRange(0, 1);
+
+
   thresholdTable->SetSaturationRange(0, 0); 
   thresholdTable->SetRampToLinear( );
 
@@ -366,8 +368,28 @@ printf("ERROR: EED ColorLayerImageView::ConfigLookupTable   ------_range--------
            }
        }
     } //  End Of if (!_color_type)
+
+
        
+   thresholdTable->SetRange(_range[0], _range[1]); // image intensity range
+   thresholdTable->SetValueRange(0.0, 1.0); // from black to white
+
+
   thresholdTable->Build( );
+
+
+
+/*
+// Create a greyscale lookup table
+   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();
+*/ 
+
   // ------------------ End Of Defining the Threshold Table
 
   //EO CM