[vtkusers] Changing level/window in LUT for ImageSlice: Unwanted clipping effects
vtk12af6bc42 at kant.sophonet.de
Thu Feb 2 12:42:00 EST 2017
Well, on my system your proposed change did not work, I still see
transparent color when LUT clipping occurs, exactly as before. I have
even copied your lines of your previous posting plus the Build() call
below the SetRange() callback, in which I am doing level/windowing. Not
sure why though - I might check again using the HEAD (I am on 7.1.0
Am 2017-02-02 18:08, schrieb David Gobbi:
> Okay, here is a very simple work-around for this issue: Just call
> Build() on the table after you have set all the other table
> parameters. Please let me know if this fixes the issue.
> I've submitted a fix for mapper so that it will call Build()
> automatically. I'm not sure why it didn't do this before.
> - David
> On Thu, Feb 2, 2017 at 8:41 AM, David Gobbi <david.gobbi at gmail.com>
>> I've discovered more about this issue. The Above/Below colors will
>> work if you call SetNumberOfColors after turning them on:
>> I'm still investigating to see why this happens.
>> - David
>> On Thu, Feb 2, 2017 at 7:20 AM, David Gobbi <david.gobbi at gmail.com>
>> 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> wrote:
>> 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_->SetRange(0, 1);
>> Now, when changing level/window interactively with the mouse, I am
>> setting the range in the colorMap via
>> double minmax;
>> // set values of minmax correctly
>> 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.
More information about the vtkusers