[vtkusers] Changing level/window in LUT for ImageSlice: Unwanted clipping effects

David Gobbi david.gobbi at gmail.com
Thu Feb 2 09:20:39 EST 2017

Hi Sophonet,

I have confirmed that what you report is true: the vtkImageResliceMapper
(and vtkImageSliceMapper) seem to ignore the AboveRangeColor and the
BelowRangeColor.  This is also true for the current VTK master branch.  My
current theory is that the mapper clamps the scalars to the range before
they go through the lookup table.  Hopefully I'll have a fix for this soon.

As a workaround (a inefficient workaround), you can use vtkImageMapToColors
to apply the lookup table to the image before it goes to the mapper.

 - David

On Thu, Feb 2, 2017 at 5:10 AM, Sophonet <vtk12af6bc42 at kant.sophonet.de>

> Dear list,
> for displaying images, I am using vtkImageResliceMapper. For changing the
> colormap, I set a dedicated color map to the imageSlice's property (which
> is a vtkLookupTable) and tell to use its scalar range:
> colorMap_->SetNumberOfTableValues(256);
> colorMap_->SetRange(0, 1);
> imageProperty_->SetLookupTable(colorMap_);
> imageProperty_->UseLookupTableScalarRangeOn();
> Now, when changing level/window interactively with the mouse, I am setting
> the range in the colorMap via
> double minmax[2];
> // set values of minmax correctly
> colorMap_->SetRange(minmax);
> The changes are displayed correctly - however, areas in which original
> scalars of the image are clipped, the resulting color is displayed as
> transparent. However, I would like to display the maximum / minimum value
> in the color table.
> I have tried using colorMap_->SetAboveRangeColor() and
> colorMap_->SetAboveRangeColorOn() (likewise for ...BelowRange...), with
> no apparent effect.
> Any advice?
> I am using VTK 7.1.0.
> Thanks,
>      Sophonet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20170202/87b01ebb/attachment.html>

More information about the vtkusers mailing list