-
Notifications
You must be signed in to change notification settings - Fork 10
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
Channel names not updated #58
Comments
It seems to work for images and only fails for plates, resp. images part of plates. And I think the cause might be rather in omero-py than the render plugin. |
The other types (Screen, Plate, Project, Dataset etc) should be handled by omero-cli-render/src/omero_cli_render.py Line 691 in 2acb825
iids gets populated with all the Image IDs and the name change is applied to all.
But I don't know if this is broken or not? |
I'm pretty sure now the problem is somewhere in https://github.com/ome/omero-py/blob/75cb5f31b01dc7bc93fb4b21688e9c8b225693cd/src/omero/gateway/__init__.py#L3948 . But just can't get my environment setup to be able to debug into that. Run a simple script
With an "normal" image it works fine: |
I've added some more output for debugging. So the difference is, for a normal image there are three channels and three logical channels, but for some reason for the plate image there are only two logical channels with one being listed twice:
|
is it the case for all images in a plate or only a specific plate? Sharing logical channels is allowed by the model |
Ok, then we have huge problem with idr0136. Because all images of each plate(!) only have one and the same logical channel. So all channels of all images of each plate will have the same channel name. @francesw How can it ever make sense to share a logical channel? And why didn't we have this problem before? @sbesson The ids of the four (logical) channels of a plate 1 image: [17587953, 17587953, 17587953, 17587953] |
I have a suspicion of how this could happen. To be sure, could you paste a full example of an |
I assume I'd have to give the channel a name in the companion.xml to force the creation of a logical channel per channel, right? The images are created like that:
|
That's correct. The sample above is absolutely valid from the perspective of the OME-TIFF specification. When importing HCS data, the OMERO importer logic tries to collapse a certain number of objects (light paths, channels) to avoid the explosion of DB entries. For channels, the server-side logic is in https://github.com/ome/omero-server/blob/763a2921b5bef201bc6c4cdd0cfe25f46b96074c/src/main/java/ome/formats/OMEROMetadataStore.java#L2192-L2233 and tries to identify logical channels with equivalent properties. Adding a discriminant property for the channels e.g. a name should suffice to fix the issue. |
I wonder in how many submissions we have this problem now... probably all submissions for which I created the companion files :-( |
When trying to set the rendering settings for idr0136 via yml file I noticed that the channel names don't get updated.
Looking at the code, the update method gets called with a name dictionary which is initialized with the current channel names but I can't see anywhere where it would be modified with the names in the rendering settings yml file (https://github.com/ome/omero-cli-render/blob/master/src/omero_cli_render.py#L758 )
The text was updated successfully, but these errors were encountered: