-
Notifications
You must be signed in to change notification settings - Fork 1
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
Custom prefix (X-) for arbitrary metadata in .json files #80
Comments
I feel like I have proposed to add But it didn't gain traction at that point. I fail to find ATM, but I think I also ran it by @rordenlab in the scope of dcm2niix... might find it later unless someone beats me to it. Good news: since we formalized machine readable schema, it would be quite simple to establish automated migration as part of BIDS 2.0 - 3.0 migration helper. Pros:
|
Another similar case IIRC it is mime types , see https://en.wikipedia.org/wiki/Media_type#Unregistered_tree . There |
Added I see that currently all officially allowed metadata fields have no |
Happy to create a separate pull request, but it might be nice to get initial guidance here. This discussion is timely, as seen by dcm2niix issues 881 and 880. From inception, dcm2niix included many keys not formally defined by BIDS. Before BIDS 1.0, @chrisgorgo suggested unilaterally defining keys for fields that did not exist in BIDS. Over time, many contributors have suggested new keys. However, this has caused some issues, as some BEPS choose different key names (in particular ASL and PET). Now that the BIDS specification has a clear mechanism for defining new keys and a democratically selected steering committee, it seems useful to try to develop a consensus on key names before unilaterally introducing them in one tool. @effigies noted I would be interested in getting feedback from visionaries on this topic (@CPernet , @Remi-Gau, @xiangruili, and @satra come to mind). My proposal would be:
Below (click to expand) is a list of the proposed new keys, all of which dcm2niix already generates:Global ConstantsThese fields should be the same for all images acquired on a specific scanner.
We should have a consensus of whether software and software version are two keys or concatenated as one, e.g. dcm2niix creates two keys, while dicm2nii generates one: Global Series InformationThese fields are present regardless of modality (e.g. MR, CT, PET).
Global Private InformationThese fields contain personally identifiable information. By default dcm2niix will create anonymized files without these fields. The option
Modality FieldsThese fields are specific to modality (e.g. MR, CT, PET). Modality Computerized TomographyFields specific to CT scans.
Modality Magnetic Resonance ImagingFields specific to MRI scans.
Manufacturer FieldsManufacturer General Electric
Manufacturer Philips
Manufacturer Siemens Magnetic Resonance Imaging (V*)
Manufacturer Siemens Magnetic Resonance Imaging (XA)
|
Thank you @neurolabusc ! You are hitting many nails on the head with the desire to formalize all those NB I have wrapped the listing of individual keys into |
As I commented here (rordenlab/dcm2niix#880 (comment)), I think it is important that Also, |
It is just a matter if Not unlike is happening in DICOM itself: manufacturers stick tons of custom metadata in vendor specific sections of DICOMs (I guess everyone of dcm2niix developers know how much fun it is to dig through those), and eventually DICOM standardizes some new metadata properties, and manufacturers (slowly) adopt them to facilitate inter-operation with DICOM receiving hardware/software. So here is your response with some minor (dcm2niix -> Siemens and json/BIDS -> DICOM) changes and rewordings. Do you still agree with "your own" statement?
|
I don't see the parallel to Siemens/DICOM. Siemens can (and does) put whatever they want into their own vendor specific DICOM sections. A more appropriate analogy to what you are proposing as far as I'm concerned is that Siemens should append some common prefix to all the entries in their vendor specific sections, because they aren't formally defined DICOM fields. When you extend the analogy in that fashion, I obviously don't agree with that. |
Analogy is exactly that -- here I am proposing to add a "vendor specific" (or arbitrary adhoc) prefix. It then could as well be |
RE: Get consensus on existing dcm2niix key names, and decide if all can be considered optional. Any non-documented field can be introduced at any time. If you browse openneuro, you will see many MRI data already have many of the fields you listed (because people use dcm2niix), and the validator skipped over them. So what you are asking is if we should add new optional fields in the spec. - but this is spec motivated not software related (even if in practice, many, most? conversions rely on your tool) - because any software specific things can always be added. I'd personally have Global Constants as recommended. |
Name space collisions came up today in the stimulus BEP discussion ( @yarikoptic ). Perhaps a prefix for arbitrary table columns would help with that, i.e. if we introduce a new column name, to make sure that that isn't misinterpreted with respect to preexisting data.
Not sure if this should be done with entities as well (since we don't support arbitrary entities, even though I think we should)...
In any case if it's just for column names we could use underscore as a prefix for arbitrary column names.
If we want to do the same for entities it would need to be somthing uglier like XYZ or similar.
The text was updated successfully, but these errors were encountered: