Closed arovai closed 7 months ago
What kind of input data are you running this on? Can you share the dataset_description.json file for your derivative dataset?
I have fmriprep derivatives but in "derivatives/fmriprep". Does xcp_d creates its own derivative folder ?
XCP-D creates its own folder in dset/derivatives
, but you need to pass in the path to the fMRIPrep derivatives to the XCP-D call, rather than the path to the raw BIDS dataset. So essentially this:
singularity run \
-B /path/to/bids_folder:/data pennlinc.xcp_d.0.6.0.sif \
/data/derivatives/fmriprep \
/data/derivatives \
participant --participant_label 01
Ok thanks, I though BIDS app should always take as a first argument the bids rawdata folder and not a derivative folder.
That's a fair point, but the issue is that users could have fMRIPrep derivatives from multiple versions in their derivatives folder, with different folder names. It would take quite a bit of effort for XCP-D to be able to include logic to select the best derivatives from multiple options, so it's just easier (at least for now) to pass the specific derivative dataset directly.
Also, from a BIDS perspective, derivatives are also BIDS datasets, so it would make sense to pass in the BIDS dataset that will be directly ingested by the BIDS app. In XCP-D's case, the ingested dataset is the derivative dataset, not the raw dataset.
Sure, that make total sense given that XCP-D only need data from fmriprep. It's just that if data not used by fmriprep (and thus absent from fmriprep derivatives) happen to be useful to XCP-D (in future dev?), then it will need to get access to the rawdata. I am thinking of physiological recordings for instance (typically in rawdata but not in fmriprep) that might be useful for denoising (or maybe other things?). In the case of a BIDS app I am working on (CVRmap), it takes an optional --fmriprep_dir argument to specify the fmriprep derivatives one wish to use. If omitted, it looks into derivatives/fmriprep (which is not perfect as your comment explains!).
I have been thinking of something similar (namely a --derivatives
argument, based on fMRIPrep's recent enhancements), but, at least for now, XCP-D does accept a custom-confounds
parameter, which lets you feed in whatever extra confounds you might want to regress out of your data. Physio confounds that have the same sampling rate as the BOLD data (e.g., RVT, RV) would work there.
Summary
singularity run produces "KeyError: 'DatasetType'" error
Additional details
Singularity image file build like this:
Build process ended without error. "Exact" command run:
Complete output: