Bulk annotations right panel#4446
Conversation
|
Do we need to update our Docs or Help guides with this functionality, since this is otherwise a "hidden feature"? cc @hflynn @gusferguson. Only described in our testing scenario at https://github.com/openmicroscopy/ome-internal/blob/master/testing_scenarios/BulkAnnotations.txt |
|
The ImageJ folks were certainly asking recently about "how do I upload a table from ImageJ to have it shown in the right-hand panel". |
|
Will this ever be "User" functionality or will it really be an Admin/Facility Manager/Developer functionality? |
|
Probably not a completely vanilla user concept until some file formats come with pre-defined bulk annotations that the users will want to see in the UI. For the moment, perhaps more power-users who are willing to add a file in the proper format to add this value. |
|
@gusferguson: it will probably be like roi-folder first use cases. |
There was a problem hiding this comment.
@will-moore without extra join fetch links.details.owner this query will not load owner details when working in none default groups, which results in exception later on in the code.
There was a problem hiding this comment.
Thanks @emilroz, but it seems to be loading link owners already.
In the json at webgateway/table/Plate.wells/2061/query/?query=Well-2061 I see
"addedBy": "Will Moore"
even when logged in as another user whose default group is different from this one.
There was a problem hiding this comment.
OK, that wasn't my experience at all. I could only load this is the user's default group was set to the group where the data was. @will-moore are you testing with 5.2?
There was a problem hiding this comment.
Yes, on develop branch.
There was a problem hiding this comment.
All the test I've done where on 5.1 so maybe there's a difference to how the objects are loaded now.
There was a problem hiding this comment.
@emilroz I went to add a test for loading of table data for plate. Although I didn't test the permissions in the test itself, I found that for root user to query data from another user in a private group does need to fetch links.details.owner. Thanks!
|
OK, so we probably need some code examples in Python, Java and Matlab. |
|
@pwalczysko That commit will fix the duplication in right panel (if not the underlying cause). |
|
Also need to check that Image Viewer shows the same data (under "Image Information") |
|
@gusferguson what is your thinking here? Have you made a Trello card for adding this functionality to a help guide? |
|
@will-moore : Yes, the #4446 (comment) duplication problem is gone. The image Viewer info #4446 (comment) check I have done previously and confirmed today that the info is displayed and okey. |
|
Discussed with @pwalczysko: The webclient functionality & tests are working OK. The only outstanding question from above is @jburel asking about performance, of "loading the full table". I don't know what our criteria should be for performance: we maybe want to test with a moderately large file, but I don't think a table with 370K rows is realistic since this scenario is one row per well, E.g. 364 max. Although we do @joshmoore Should I generate a large csv file (how large) and test loading speed? If so, how slow is too slow? Or, are we happy that the strategy here is the optimum way of reading tables? NB: this PR doesn't change any of the tables queries since they were already in use for the image viewer (and have been in use on the IDR for some time). |
|
@will-moore one thing to keep in mind here, is that the table can be attached also to the screen. So for example: http://jcb-dataviewer.rupress.org/jcb/browse/7555/ you could have a table with: 141 plates, 3 fields, 96 wells: 41K rows. We have examples where number of fields is more then 10 with 384 wells so we can easily talk here about 100's of thousands of rows per table. |
|
@emilroz This PR doesn't support use-cases with multiple Fields (rows) per Well, and I'm not sure if (and populate_metadata.py does? But I can see that it's possible to support multiple Plates per Screen. |
|
NB: I noticed that Tables on Screens breaks when the Plate is in multiple Screens. For now, I will fix this to use findBy query, and pick the first Screen. |
E.g. Screen.plateLinks.child.wells may have multiple Screens for the Plate & well
|
To test the last commit, follow the Bulk Annotation scenario for a table on a Screen, then put the Plate into a second Screen and check that the tables data is still displayed OK on Wells. |
|
@will-moore we have added support for Images in this commit: joshmoore@29b9ddd |
|
The test of the last commit passed #4446 (comment). I suppose some further discussion should happen between @will-moore and @emilroz considering the steps here. |
|
@joshmoore Is there anything else needed for this PR? See questions from #4446 (comment) |
Sorry, I missed the direct question on me, @will-moore. From my side, this is currently working in "production" but I leave suggestions for pounding it further on the mainline to others if they have them. I think probably more necessary is a final code review. @chris-allan had pointed out the change in |
|
I am happy to revert the change to marshal.py. Agreed, it is an API change, although it could be considered a bug fix! I just found that because of a script I had an image in a Well and a Dataset (E.g. you can get this with Dataset_To_Plate script) which broke the display of bulk annotations in the viewer since imgData json only handles a single Parent. |
This reverts commit 0c02e69.
|
@joshmoore @chris-allan Reverted the changes to |
|
For what it's worth we have the exact same problems at the moment with the PathViewer. If images are in multiple datasets, as the image data JSON only currently supports a single parent, things quickly go off the rails. What I'd suggest is a semi-additive change where the first Dataset and WellSample are included in the existing fields, rather than the last as in 0c02e69, and we include a list of all parents under the /cc @knabar |
|
@chris-allan I decided to handle parents in |
|
"API" PR not included in this release, use cases/implementations to be discussed. |
This is metadata "Bulk Annotations" PR #3875 rebased onto develop (actually it was on develop originally as #3863 but not merged).
Please see #3875 for main testing info.
NB: Also tweaked to add this under "Tables" collapsible tab. To test: