ome / design

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

iviewer advanced rendering settings #89

Open will-moore opened 6 years ago

will-moore commented 6 years ago

Rendering settings available in Insight are not yet supported in iviewer.

Screenshot from Insight, showing a "fake" gradient intensity image, which provides some useful clues as to the effect of the advanced controls:

screen shot 2018-03-28 at 14 40 02

This is similar to the interactive lookup table shown in Icy.

Map and Gamma controls are per-Channel and could be shown in an extra option in the lookup dropdown:

advanced-settings1

Which could add extra controls below the channel slider:

advanced-settings2

NB: Would be nice to have the curve drawn onto the gradient to show the plotted mapping, even if this is not "interactive" (can't be dragged).

NB: This doesn't include "Brightness" and "Bit depth" controls. Something similar to brightness effect can be achieved via the channel slider controls (by setting values outside min/max range). Do we want to support "Bit depth" since something similar can be achieved via lookup tables?

waxenegger commented 6 years ago

@will-moore I know you suggested a curve being drawn onto the gradient but apart from that case is there another reason why the gradient is repeated taking up quite a bit of space. Is something else being displayed there that the range slider gradient does not display? Are you implying we should replicate the server logic in the front-end applying it to the gradient.png?

Speaking of space. If we made the right-hand panel just a bit broader by default we could toggle the visibility of the settings with an icon. Doing so via the dropdown is quite a detour, isn't it?

will-moore commented 6 years ago

@waxenegger The idea is that the gradient is dynamic according to the settings, so when you adjust the Gamma, the gradient shifts (in real time would be nice, but I guess this depends on how we do it). Probably we'd need to have the server render this with the current settings, so it might be tricky to do it in real-time. I think if we just used the channel sliders to display the gradient, it wouldn't be so clear, especially if the slider handles are close to each other.

screen shot 2018-03-29 at 09 27 35 Apologies for the horrible line - photoshop skills lacking!

You're right about an icon to toggle the advanced settings being a bit more direct. But, I couldn't think of a way to add it without messing up the nice alignment of all the channel slider controls. I think this functionality is only going to be needed occasionally by a small percent of users, so I'd prefer not to clutter the main UI. Adding it to the color/mapping dropdown kinda makes sense too, since that's where you access similar tools (Invert, LUTs etc).

pwalczysko commented 6 years ago

Adding it to the color/mapping dropdown kinda makes sense too, since that's where you access similar tools (Invert, LUTs etc).

Agree, just a small percentage of users will use the feature. Making the right-hand pane wider by default should be avoided as much as possible.

waxenegger commented 6 years ago

I guess I could make the panel a tiny bit broader, and then see if I can add a 25 or so pixel icon. It's a matter of showing/hiding as well. To always have to go through the dropdown will not be pleasant for somebody who wants to use that feature.

Yes, the gradient image would have to have the mapping applied on the server. Looking at the mapping classes themselves they seem to reduce to the corresponding mathematical functions but the rest of the logic (incl. bit depth) is not as straight-forward. Either way, it's nothing that I'd want to even attempt to reproduce in java script and I'm not entirely clear on how I can efficiently work with what's there in the python view without actually changing the rendering settings to apply the mapping to the gradient image...

jburel commented 6 years ago

I don't think the image will add much to be honest cf. https://github.com/openmicroscopy/design/issues/89#issuecomment-377170228