-
Notifications
You must be signed in to change notification settings - Fork 13
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
Support images_by_name for Screen and Plate #64
base: master
Are you sure you want to change the base?
Conversation
Conflicting PR. Removed from build OMERO-plugins-push#988. See the console output for more details.
--conflicts |
I think I need to get #62 merged ahead of this PR... Will look at that now... |
Conflicting PR. Removed from build OMERO-plugins-push#1005. See the console output for more details.
|
Closing for now to avoid more conflicts... |
Will this be re-opened at some point? |
fa13d53
to
90a66d3
Compare
Re-opened and fixed merge conflicts. Hopefully tests will pass (not run locally yet). @JensWendt it would be a great help if you can test this (see description) and let us know if it's working for you? |
Heyo @will-moore, |
Yes, with the screen.csv and plate.csv examples. Thx |
Heyo @will-moore , I did some testing. From my perspective this is not a big problem as long as the table is correct. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few questions on the implementation but no concern from my side.
Soince the tests have been modified, have we also have validated that the current workflow i.e. being able to annotate plate/screen without any image column is preserved? And is it still tested?
@@ -742,18 +750,22 @@ def _load(self): | |||
self.images_by_id = dict() | |||
images_by_id = dict() | |||
|
|||
self.images_by_name = dict() | |||
images_by_name = dict() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the goal of this line?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That creates a dictionary that is assigned to self.images_by_name[self.target_object.id.val]
and is then passed to the method below where it's populated. This is just following the same pattern as for images_by_id = dict()
in the lines above.
Hi everyone, I also did some testing this morning with the following combinations of source csv data containing either:
Except of the warning message, that Jens already mentioned, I would like to point out the following concerns:
(as a side note, with the same OMERO.table plots in parade-crossfilter show all individual image dots)
I hope my notes are not too confusing and a bit helpful. BR, Anna |
The script is working fine, so it looks like these are invalid warnings but it is hard to understand the working of the script
@abhamacher "Image Number" - do you mean the "Image" column? That is definitely supposed to be the Image ID. If it wasn't then the script is failing badly. Do you have some sample data (csv)? I think omero-parade doesn't handle multiple Images per Well and certainly not multiple ROIs per Image.
I don't quite understand what 8) is about. Could you create a new issue for this on that repo (and same for any others above if you want, on their respective repos). In the last commit above, I have reduced the logging level for warnings. |
Hi Will, I apologize for mixing up topics and bringing some confusion to this thread. As you can see, I added parts of the mentioned issues at the parade and parade-crossfilter repo. About the "ImageNumber" -- that was a mean one, it actually came from the original Cellprofiler data. Sorry, about that, so it has nothing to do with omero-metadata.
Well, still this is not very handy/ well readable for users. Especially because I add for example the plate and well names to the upload csv-file as the very first columns, but omero-metadata exchanges them to IDs and adds the names to the end of my table. Why can't the names just remain where they are (at the beginning) and the IDs being added to the end of the table? Thanks, Anna |
Hi Anna, |
Hi @abhamacher , regarding point 5) --> I've been running into this issue also with other scripts. |
Conflicting PR. Removed from build OMERO-plugins-push#372. See the console output for more details.
--conflicts |
See #63.
Supports parsing
Image Name
to Image ID for HCS data.Image Name
must be unique to a Plate (similar to Dataset).NB: There has been a long-standing inconsistency in the way that populate metadata handles column names for PDI vv HCS.
For PDI, you start with "Image Name" column (with
s
type in header) in your csv. A new "Image" column is added with Image IDs.This seems to make the most sense.
For HCS, you start with "Well" column (with
well
type in header), that contains the Well Names. This column is converted to a Well ID column (still named Well) and a newWell Name
column is added, containing the names that were in theWell
column. This is confusing!In this case, so as not to have different handling of
Image Name
columns for HCS vv PDI, we need anImage Name
column (type:s
) alongside aWell
column (type:well
), even though they both contain names!E.g. screen.csv
E.g. plate.csv
TODO: add tests...