-
Notifications
You must be signed in to change notification settings - Fork 13
#603 xASL_bids_BIDS2Legacy: Add dataset_description.json #610
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
Conversation
jan-petr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good. But we want the same thing also in ASL.json and M0.json of derivatives - see explanation in the comments. Should be an easy fix.
Functions/xASL_bids_BIDS2Legacy.m
Outdated
| datasetDescription = spm_jsonread(fullfile(pathStudy, 'rawdata', 'dataset_description.json')); | ||
| % Add "GeneratedBy" field | ||
| datasetDescription.GeneratedBy = struct; | ||
| datasetDescription.GeneratedBy.Name = 'xASL-BIDS'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thinking if xASL-BIDS is the name we want. It might sound as conversionASL-BIDS not making the link to ExploreASL. Plain ExploreASL might be better. @HenkMutsaerts what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, changed to ExploreASL in e7ee311 👍
| % 10. Create DataPar.json | ||
| % 11. Copy participants.tsv | ||
| % 12. Clean up | ||
| % 12. Add dataset_description.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Theoretically, enough to have it there. But practically, we mostly need it on the subject level - written to all ASL and M0 JSONs, because at the individual file level, we will always check what ExploreASL version was used.
Our motivation here is that we currently remove and apply the Philips scalings already when doing DCM2BIDS conversion. But we leave the SIemens and GE scalings only in the quantification module, because they are not really stored directly in DICOM. But for ASL-BIDS, we wanted to remove any scalings, independent of what is their origin. So once we implement that, we want to be sure what version of ExploreASL was used to create data - data generated by the old version will apply these scalings still in quantification, data generated by the newer version will apply the scalings already in import - as promised in ASL-BIDS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. It's just added to all JSONs now in e7ee311 👍
I can remove it from the dataPar.json if you want, but it probably doesn't hurt either.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's an elegant way to add it. We indeed want it in all JSON data sidecars. We want it in dataset_description, it doesn't hurt in dataPar.json. We probably don't want it in participants.json as this should have fields describing columns and an extra field that doesn't match the structure can be confusing.
See the BIDS-modality-agnostic-files.html.
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, just read about it. I exclude it in 3afe366 👍
jan-petr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One minor discussion point.
| % 10. Create DataPar.json | ||
| % 11. Copy participants.tsv | ||
| % 12. Clean up | ||
| % 12. Add dataset_description.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's an elegant way to add it. We indeed want it in all JSON data sidecars. We want it in dataset_description, it doesn't hurt in dataPar.json. We probably don't want it in participants.json as this should have fields describing columns and an extra field that doesn't match the structure can be confusing.
See the BIDS-modality-agnostic-files.html.
What do you think?
232809f to
3afe366
Compare
jan-petr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK to merge. I made a minor commit. Note that I changed the commit message so I had to remove the commit and force-pushed it again - so hopefully you didn't pull inbetween...
Anyway - extra caution during merging :)
Linked issue
Check out #603
How to test
Just run the import workflow, you should now get a dataset_description.json within derivatives/ExploreASL
Comments
None