-
Notifications
You must be signed in to change notification settings - Fork 38
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
Metadata for color and contrast limits #23
Comments
Agreed! Currently we are exporting the OMERO metadata in all of the IDR sample images. You can see what the metadata looks like in the spec: https://ngff.openmicroscopy.org/latest/#omero-md and sample code is available in ome-zarr-py for setting contrast limits, etc: https://github.com/ome/ome-zarr-py/blob/master/ome_zarr/reader.py#L293 However, we don't yet consider the "omero" namespace as official. Let's discuss on this issue how best to migrate from |
Hi @d-v-b, |
This issue has been mentioned on Image.sc Forum. There might be relevant details there: https://forum.image.sc/t/next-call-on-next-gen-bioimaging-data-tools-feb-23/48386/9 |
@tischi I haven't come to a decision for display settings that I feel super comfortable with yet. At the moment I don't put the display settings in n5 metadata -- instead, I have a large json document at the root directory of each dataset that contains consolidated metadata for all the datasets we want to display, and this is where the display settings live. But if there's a need for it I have no problem with putting the display settings in the dataset or group metadata. My display settings are really simple: e.g. |
@d-v-b: is there one per channel? Otherwise, looks like there's a good deal of overlap. From https://ngff.openmicroscopy.org/latest/#omero-md:
|
As you can see in the links above, in OMERO we currently use
|
@joshmoore yes there's a lot of overlap :) Switching to the omero format is on my to-do list actually, I just haven't gotten around to it yet. It would also be interesting if neuroglancer could natively read this metadata, which would allow me to delete some code from openorganelle :) |
Also in OMERO, we support LUTs e.g. |
👍 but is it worth simplifying the above before you do that?
Do we need to ping anyone else for that? Does neuroglancer already have a format it uses?
Yeah, that's likely another spec with an enum and then extensible LUT storage in an array as well. |
To my knowledge Neuroglancer does not use dataset metadata directly, but the developer (@jbms, who probably needs to be added to this conversation to weigh in) is pretty responsive and I think he would consider this kind of feature in-scope. Overall I think the current display settings are fine, maybe with the exception of the |
Neuroglancer supports brightness contrast adjustment via the "invlerp" UI control, which is documented here: Currently, as @d-v-b noted, Neuroglancer doesn't have a mechanism for these settings to be determined by the data source, but I think it could in principle be supported. Currently the default settings are just based on the full range of the data type, but they could instead be determined by the datasource with some modifications... Another feature that could be added to Neuroglancer is a command for automatically setting the range based on the distribution of currently visible values, which might make it mostly unnecessary to even have a default. |
The |
@d-v-b This is very interesting, because I was actually wondering whether that's in some sense the better approach. The idea would be that the display settings could in fact be part of specifications how to visualize collections of images. In other words: there is a the "raw data" and there are certain "views" (could be several) specifying how all the raw data may be nicely visualized, including layout specification (like HTM multi well plate) and display settings. |
@will-moore in that case @tischi consolidating metadata has a very practical advantage: I want to keep the number of HTTP requests low, so putting all the dataset metadata in one place means an application only has to make 1 GET request to get a full index of the datasets. Additionally, I wasn't fully comfortable at a conceptual level with putting display metadata on n5 arrays directly -- display metadata somehow feels very application-specific and not at all intrinsic to the data itself (unlike spatial transform information). I think your idea of multiple "views" of data with different display settings accords with this feeling. But this is just a feeling. :) |
@d-v-b I think those are quite valid points. Maybe we could work on a spec proposal along those lines to try to see whether we can convert our feelings into something substantial? |
@d-v-b The way I think of |
@will-moore good point, that makes sense |
@d-v-b I feel this maybe became quite related to this issue: #31 (Personally, I have the issue right now that I have only time again from 22nd of March to really work on this; if that's not too late maybe could have a zoom in that week with a group of interested people) |
The steps from my POV follow, but you can skip any of the former ones based on how much feedback you want before investing more time:
|
@joshmoore @will-moore
It would be great to add metadata specifications for colour and contrastLimits (aka displayRange).
Below an example of how I am opening the data with BigDataViewer and how I am setting the colours, thus showing the kind of information I would need:
The text was updated successfully, but these errors were encountered: