Page MenuHomePhabricator

Different lookup tables for different renderers broken (mitkImageVtkMapper2D)
Closed, WontfixPublic

Description

In 2014.10, the support for different level windows in different renderers doesn't work anymore.

The reason for that is that the level window filters in different renderers share the lookup table by pointer, but they all modify the same lookup table by setting the range using their own level window. Thus, if mapper for one of the renderers is updated and it is not for the other (for a reason that nothing "apparently" changed - see the Update() function of vtk image mapper 2d) - the incorrect range will be used by the vtk pipeline.

So either the lookup table property value should be DeepCopy()-ied for each renderer, or some other approach should be used to prevent this. I would say that every SetLookupTable() call in mitkImageVTKMapper2D is not correct in this regard.

Event Timeline

ApplyLookuptable

For example, this is what I modified the ApplyLookuptable function to look like (see attachment).

This sounds like a nice add-on to me, however, that never worked, did it?

Do you have any contribution regarding this?

Assigning to Sandy. She can push people to work on this.

I agree to Thomas. My impression is that it never worked before 2014.10.

However, it should be fixed after the next release.
Rostislav, did you observe any side effects so far when using the proposed code snippets?

My users did not report any problems since I've changed this in my fork.

kislinsk claimed this task.
kislinsk added a project: Auto-closed.
kislinsk added a subscriber: kislinsk.

Hi there! 🙂

This task was auto-closed according to our Task Lifecycle Management.
Please follow this link for more information and don't forget that you are encouraged to reasonable re-open tasks to revive them. 🚑

Best wishes,
The MITK devs

kislinsk removed kislinsk as the assignee of this task.May 26 2020, 12:05 PM
kislinsk removed a subscriber: kislinsk.