-
Notifications
You must be signed in to change notification settings - Fork 43
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
Read and set several metadata items, if available #1378
Conversation
75ee764
to
3c05c99
Compare
This is great. In other tile sources, we have an internal source dictionary (read when the source is opened) that is exposed via the tile source's |
5302826
to
59a2526
Compare
Yeah, we can do this! Would we move the REST calls that request for the DICOMweb metadata somewhere else, like inside |
Yes, inside |
a3e086e
to
7f10a70
Compare
@manthey Here is a summary of changes from the latest commit. Please feel free to ask for any changes:
|
When DICOMweb series are imported, several metadata entries from each series are now extracted and set on the item metadata. We are extracting most of the metadata that is displayed in the SLIM viewer: https://imagingdatacommons.github.io/slim/ Most of the metadata entries are available as series-level metadata items. However, some of the metadata entries are only available on the instances themselves (in particular, the "Specimen" information, which is nested several dataset layers deep). The SLIM viewer sets most of its metadata by locating the first WSI Volume dataset, and using that (it appears that the metadata for WSI volume datasets in a series are almost completely identical to other WSI volume datasets in the series). We are also using that approach here. We are using a slightly different approach for displaying the Specimen metadata, but that is something we can always improve upon. Additionally, the SLIM viewer is finding the first WSI Volume dataset in a whole study, and using that for the metadata for the whole study. We are currently doing it on a series-level, though (we find the first WSI Volume dataset for a series, and use that to set the metadata on the girder item that represents that series). Fixes: girder#1314 Signed-off-by: Patrick Avery <[email protected]>
We also added some logic so it will work for non-girder tile sources, both for local files and for DICOMweb files. Signed-off-by: Patrick Avery <[email protected]>
This also only stores the dicomweb metadata in the item for actual DICOMweb cases. The regular file cases will just call the super() method. Signed-off-by: Patrick Avery <[email protected]>
2284d82
to
2ab5f78
Compare
Signed-off-by: Patrick Avery <[email protected]>
sources/dicom/large_image_source_dicom/assetstore/dicomweb_assetstore_adapter.py
Outdated
Show resolved
Hide resolved
Just in case it is modified by some girder event... Signed-off-by: Patrick Avery <[email protected]>
When DICOMweb series are imported, several metadata entries from each series are now extracted and set on the item metadata.
We are extracting most of the metadata that is displayed in the SLIM viewer: https://imagingdatacommons.github.io/slim/
Most of the metadata entries are available as series-level metadata items. However, some of the metadata entries are only available on the instances themselves (in particular, the "Specimen" information, which is nested several dataset layers deep).
The SLIM viewer sets most of its metadata by locating the first WSI Volume dataset, and using that (it appears that the metadata for WSI volume datasets in a series are almost completely identical to other WSI volume datasets in the series). We are also using that approach here.
We are using a slightly different approach for displaying the Specimen metadata, but that is something we can always improve upon.
Additionally, the SLIM viewer is finding the first WSI Volume dataset in a whole study, and using that for the metadata for the whole study. We are currently doing it on a series-level, though (we find the first WSI Volume dataset for a series, and use that to set the metadata on the girder item that represents that series).
Here are some examples:
Fixes: #1314