-
Notifications
You must be signed in to change notification settings - Fork 20
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
Rough code adding some support for manifest #18
base: master
Are you sure you want to change the base?
Conversation
scanner_software_versions_pd get from SoftwareVersions edited at line 165: dict_append(image03_dict, 'scanner_software_versions_pd', metadata.get("HardcopyDeviceSoftwareVersion", "")) to dict_append(image03_dict, 'scanner_software_versions_pd', metadata.get("SoftwareVersions", "")) image_slice_thickness SliceThickness Inserted at line 170 dict_append(image03_dict, 'image_slice_thickness', metadata.get("SliceThickness", ""))
Edited to include image_orientation image_orientation: modified from https://stackoverflow.com/questions/34782409/understanding-dicom-image-a ttributes-to-get-axial-coronal-sagittal-cuts and rordenlab/dcm2niix#153 (comment) photomet_interpret: from DICOM/JSON field PhotometricInterpretation
Added a notes section talking about required experiment_id field
Updated for SliceThickness and PhotometricInterpretation
There was a redundant if/else confusing things. I removed it. Also a value always has to be assigned to each element of image03dict the conversion to a dataframe fails
I think its the id listed for collection on the NDA site.
* commit 'bd3fb46fc8c1c3bb02abe07ecb0bb4c92df23d89': add FLASH to possible scantypes # Conflicts: # bids2nda/main.py
I am pushing more changes to #13 to get that one usable. I guess conflicts will pile up :-/ But I am not clear from the description of this PR what manifests we are talking about? |
Sorry for the lack of clarity. Manifests are the NDA's way of specifying an image file and some associated non-image files along with a directory structure in which to place them. In other words, manifests are going to be the best way to represent bids data structures in NDA datasets. There is not a lot of overhead to dealing with manifests, but there is some. Would it be better for me to submit this as a PR to mtnhuck:master or just wait for that PR to be closed, rebase my branch, and resubmit? |
What is there beast official source to read about them more? |
As far as I know, this is the best documentation for the Manifest feature: https://docs.google.com/document/d/1Qo3etvKgDx1lQH37lbKik5IPuLaif9-LHEaUVIBbiz4/edit#heading=h.wng6mfab9jp2 |
@yarikoptic and @Shotgunosine this was early documentation for piloting the feature while it was in development. We have some detail on the NDA site, which links out to https://github.com/NDAR/manifest-data. The GitHub repo is the most recent documentation and provides some helper scripts for creating manifests. @ushnaahmad has left NDA for a new opportunity with with GeneDx. You may also be interested in feedback from @ericearl as he is about to submit all ABCD Study imaging data in BIDS format sing NDA manifests. |
@Shotgunosine would you be interested to come back to this PR to facelift it and finalize? I can promise to be active too. ----experiment-id was also proposed in another PR #37 by @ljchang : so it is required only for functional and not anatomicals/dwi? (in #37 it is mandatory) |
@yarikoptic I haven't had to interact with NDA uploading for a few years now, so my memories of all of this are pretty dim. I don't really have the bandwidth to fully re-establish context on this, but I might be able to chip in on small stuff. @obenshaindw, I know you're not and NDA anymore, but do you know anyone there who might be willing to give us some guidance on this? |
In both of these cases,
But I don't know all the cases. |
I'd suggest Greg Magdits and/or Karl Kuntzelman. But neither of them seem to be @-able. |
I emailed Greg and Karl and got the following helpful info from Greg:
|
Also, the Google Doc that @Shotgunosine linked above is dated 2018. The manifest documentation in the NDA github repo is a bit newer, but I'm not sure if it as comprehensive. |
@yarikoptic Did you know this was a thing? https://ndabids.readthedocs.io It's a set of tools I helped create in the DCAN Labs to upload the ABCD-BIDS Community Collection (ABCC) data to NDA collection 3165. It relies on YAML and a little JSON to map files as-is to NDA data structures and upload in batches of records. I'm happy to answer any questions or pull other people into the conversation. This was the manifest "code" used there: https://github.com/DCAN-Labs/nda-bids-upload/blob/main/records.py#L259-L281 |
No description provided.