Handle z & t in 'synchronize viewers' #1302
Merged
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.
Fixes #1220 - to an extent.
This uses a very simple approach by calculating changes to the z and t position in the main viewer, and then adding these changes to the z and t values for the viewers to be synchronized - and then clipping to the actual range of z and t values supported by the image in viewer being synchronized.
That should work nicely when synchronizing across stacks with identical dimensions, using the same z and t indices. But where dimensions or indices don't match, then out-of-range clipping can cause the relative difference between the main and synchronizing viewer to squeeze down to zero.
I'm not at all convinced that's the ideal behavior, but it should be better than ignoring z and t entirely (as is currently the case).