Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iviewer advanced rendering settings #89

Open
will-moore opened this issue Mar 28, 2018 · 5 comments
Open

iviewer advanced rendering settings #89

will-moore opened this issue Mar 28, 2018 · 5 comments

Comments

@will-moore
Copy link
Member

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
Copy link
Member

waxenegger commented Mar 29, 2018

@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
Copy link
Member Author

@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
Copy link
Member

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
Copy link
Member

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
Copy link
Member

jburel commented Mar 30, 2018

I don't think the image will add much to be honest cf. #89 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants