ome / design

OME Design proposals
http://ome.github.io/design/
1 stars 15 forks source link

iviewer Paste shapes to multiple planes #90

Open will-moore opened 6 years ago

will-moore commented 6 years ago

This follows previous discussion at https://github.com/openmicroscopy/design/issues/88

Instead of needing to enter a different view or mode to "propagate" shapes to multiple planes, we can select a range of Z/T planes and "Paste". This makes best use of existing controls without adding more to the UI. NB: First step is to add support for T-projection, which is probably not supported by webgateway render_image yet.

In the simplest case, we add the pasted shape to every plane in the Z/T projection range and they are added to the same parent ROI that they were copied from.

There are several more complex or alternative scenarios to consider:

will-moore commented 6 years ago

To make the transition to Z/T-projection faster (fewer clicks) you could use the well-established rule for range selection and support Shift-click to select a range directly. E.g. if you're on Z-index 5 (projection OFF) and you Shift-click on the Z-slider at index 10, we immediately turn projection ON and select range 5-10.

The only question then is whether you'd also support reverting to single-plane selection via a single click (not Shift-click) on the Z-slider. Currently when you're in Z-projection you can click to adjust the range and don't need to shift-click to maintain range selection and it probably breaks expectations of range-sliders to change this.

jburel commented 6 years ago

renderJpegonly supports projection along Z The rendering engine does not offer to project along T only the projectionService

jburel commented 6 years ago

As discussed with @will-moore I can see pros and cons of using the "projection" for shape propagation This, for example, requires to render a projected image, depending on range that could become problematic. It will not allow "sparse" propagations.

That being said, using the "projected" image could help to visually determine the range of propagation since only the plate of interest will be displayed. Also drawing a shape while in projection mode should actually create a shape on every plane in the range. All the shapes will be part of the same ROI i.e. a short cut/removal of copy paste

jburel commented 6 years ago

One concept using the slider that will not require any change server side could be to use the existing slider but the user will have to click a checkbox for example "propagate rois" The workflow could be:

will-moore commented 6 years ago

@jburel I think this would be a confusing workflow for users.

Maybe a better interim solution would be to add the Grid widget to allow a user to select a range of Z and T planes for pasting. For the Z-range we can sync the Z-projection and Z-slider, but when the user selects a range of T, we simply move the T-slider to the last-clicked/dragged T index.

Then, when we have T-projection supported we can sync T-projection/range with the Grid widget too. This way we don't have to add a checkbox and teach users to use it, then remove it later.