//=========================================================================
ColorLayerImageView::ColorLayerImageView( )
{
- _z2 = 0;
- _fix_dynamic = true;
- _color_type = false;
+ _z2 = 0;
+ _fix_dynamic = true;
+ _color_type = false;
}
//=========================================================================
_fix_dynamic = fix_dynamic;
}
+//----------------------------------------------------------------------------
+void ColorLayerImageView::SetX2(int x2)
+{
+ _x2 = x2;
+}
+
+//----------------------------------------------------------------------------
+void ColorLayerImageView::SetY2(int y2)
+{
+ _y2 = y2;
+}
+
+
//----------------------------------------------------------------------------
void ColorLayerImageView::SetZ2(int z2)
{
_z2 = z2;
}
+
+
+//----------------------------------------------------------------------------
+int ColorLayerImageView::GetX() // virtual
+{
+ int result=0;
+ if (_fix_dynamic==false)
+ {
+ result = _x2;
+ }
+ else
+ {
+ result = LayerImageBase::GetX();
+ }
+
+ return result;
+}
+
+//----------------------------------------------------------------------------
+int ColorLayerImageView::GetY() // virtual
+{
+ int result=0;
+ if (_fix_dynamic==false)
+ {
+ result = _y2;
+ }
+ else
+ {
+ result = LayerImageBase::GetY();
+ }
+
+ return result;
+}
+
//----------------------------------------------------------------------------
int ColorLayerImageView::GetZ() // virtual
{
// 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);
+ }
}
//----------------------------------------------------------------------------
{
// CM
// Grey level extrema retrieved from the image grey level extrema.
+
+
GetImage()->GetScalarRange(_range);
+
// ------------------ 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.
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( );
}
}
} // 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