girder / large_image

Python modules to work with large multiresolution images.
http://girder.github.io/large_image/
Apache License 2.0
193 stars 43 forks source link

Adding Nested Metadata to DSA via Girder #9

Closed dgutman closed 7 years ago

dgutman commented 8 years ago

Can someone explain/walk me through the following process...

So for each image we have ingested into GIRDER from the TCGA collection, I want to do the following.

1) Create a new metadata object called "SLIDE IMAGE PROPERTIES"

2) This item then is actually a second JSON object of "stuff"... basically whatever I pull out of the SVS file header

3) There are going to be certain properties I want to be easily visible... like slide magnification and image size, there's also a lot of crap in there I am happy to include but not necessarily make a top level property (i.e. store it, but not necessarily make it have first tier visibility)

So I would basically create an object like

{'Slide Image Properties':  {
                                     'Native Resolution': '40X', 
                                     'Orig Width':  25000,
                                     'Orig Height':  100000,
                                     'Orig Encoding':  JPEG2000,
                                     'HeaderData':  { BIG LONG JSON OBJECT     }
                                  }

I imaging this element should appear "collapsed" but have a plus button, and then when I click on it I can then see all those other properties...

4) This data should be searchable (somehow)

5) I should also have some sort of backend (ipython/whatever) script that would allow me to generate that data AFTER slide ingestion if it was missing and/or this was done as a separate process

zachmullen commented 8 years ago

In Girder, the metadata on an item is a set of key/value pairs, and each value itself can also be a nested JSON object, which will support this use case. This is exposed via the REST endpoint PUT item/:id/metadata, and any top-level keys you pass in the body as a JSON object will be added to the item metadata object.

manthey commented 7 years ago

This is being implemented in the digital_slide_archive repository. I'm closing the issue here.