//=========================================================================
ColorLayerImageView::ColorLayerImageView( )
{
- _z2 = 0;
- _fix_dynamic = true;
- _color_type = false;
+ _z2 = 0;
+ _fix_dynamic = true;
+ _color_type = false;
}
//=========================================================================
// 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);
+ }
}
//----------------------------------------------------------------------------
// 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);
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( );
delta = GetGreyLevelBoundaries(1) - GetGreyLevelBoundaries(0);
for (int ii = 1; ii <= delta ; ii++)
{
- thresholdTable->SetTableValue( GetGreyLevelBoundaries(0) + ii, GetBaseColors(0) * ii/delta,
+ thresholdTable->SetTableValue( (GetGreyLevelBoundaries(0) + ii), GetBaseColors(0) * ii/delta,
GetBaseColors(1) * ii/delta, GetBaseColors(2) * ii/delta, 1);
}
for (int ii = 1; ii <= delta; ii++)
{
// Color computation : previous_color + (current_color - previous_color)/delta * ii
- thresholdTable->SetTableValue(GetGreyLevelBoundaries(i) + 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 ,
}
}
} // 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