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

Perceptibly uniform luts for OMERO.web #568

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Tom-TBT
Copy link
Contributor

@Tom-TBT Tom-TBT commented Jul 19, 2024

This PR adds the preview of LUTs introduced in ome/openmicroscopy#6398

The preview display for other OMERO components depends on this PR:

@sbesson
Copy link
Member

sbesson commented Jul 24, 2024

As mentioned yesterday at the weekly OME meeting, one question is whether we can reduce the number of coupled PRs required to add new LUTs to the infrastructure in the future.

In the OMERO.web ecosystem, it's not clear to me why the png image as well as the list of LUTs needs to be updated for every downstream application rather than exposing them as APIs.

In terms of testing, several combinations probably will need to be tested including OMERO.server with/without ome/openmicroscopy#6398 against OMERO.web with/without this PR to ensure the client responds accordingly under all scenarios. I assume the new LUTs tables should only appear in the drop-down menu if available server-side and defined in OMERO.web. In all other scenarios, the previous set of LUTs should be displayed and no exception sent to the user.

@jburel
Copy link
Member

jburel commented Jul 24, 2024

It should not be necessary to upgrade the various apps when adding a new LUT
The LUTs are considered as "script" with a specific mimetype
Java clients retrieve the LUT using method like https://github.com/ome/omero-gateway-java/blob/master/src/main/java/omero/gateway/facility/BrowseFacility.java#L1614

@Tom-TBT
Copy link
Contributor Author

Tom-TBT commented Jul 24, 2024

The whole point of the PR for the 4 apps (iviewer, figure, insight and web) is the preview of the LUT during selection. Otherwise, you get a blank space next to the LUT name.

So I think the question is how to load that LUT preview in OMERO.web and OMERO.insight from the server. Then like you say @sbesson, we can expose from OMERO.web API the previews for the downstream applications.

After such change, any LUT added in OMERO.server will show up nicely in all apps without needing an additional update.

@will-moore
Copy link
Member

@Tom-TBT did you write a new script to create your luts_10.png or did you find an existing script? I can't remember if we documented that anywhere?

Obviously it would be nice if a single change on the server would automatically update the LUTs in various clients. It's just a question of how much work it is to add the API to the server compared with the occasional update to various clients?

@Tom-TBT
Copy link
Contributor Author

Tom-TBT commented Aug 14, 2024

I had different sources for the LUT (files from ImageJ repo, seaborn), so I scripted the generation of png and .lut files for each.

But I changed luts_10.png manually. From a list of LUT names, that could be scripted, but that felt like too much effort at the time.

I really think that would be useful for every client to update LUTs available from the server automatically. Right now it's possible to see the LUT previews only if the source code of the clients is changed. But an admin is free to add LUTs to the server just like scripts.

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

Successfully merging this pull request may close these issues.

4 participants