Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This implements showing indicators for other slicers on the same volume. The proposed implementation allows keeping the API similar to what we had: you still simply create unit slicer objects. This keeps the API simple and flexible.
It works by making use of dictionary id's and pattern matching callbacks. Every component of the slicer has an id composed of:
context-id, scene-id, axis. When the scene-id is shared between slicer objects, they also share indicators. And this all works well by default, because the scene-id is derived from
id(volume)
.Also consider the added example, that has two slicers for the same axis, and indeed both appear in the other slicer:

This also includes some changes to make the low-res images display exactly in the same position as the original image.