Data formatted according to a validatable standard? Please provide the output of the validator:
PASTE VALIDATOR OUTPUT HERE
Relevant log outputs (up to 20 lines):
Downloading https://templateflow.s3.amazonaws.com/tpl-MNI152NLin6Asym/tpl-MNI152NLin6Asym_res-02_desc-brain_T1w.nii.gz
100%|████████████████████████████████████████| 429k/429k [00:09<00:00, 47.0kB/s]
Not all requested output spaces were found. We will try to find transforms to these spaces and apply them to the BOLD data.
Process Process-2:
Traceback (most recent call last):
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/cli/workflow.py", line 115, in build_workflow
retval['workflow'] = init_fmripost_aroma_wf()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/workflows/base.py", line 71, in init_fmripost_aroma_wf
single_subject_wf = init_single_subject_wf(subject_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/workflows/base.py", line 280, in init_single_subject_wf
single_run_wf = init_single_run_wf(bold_file)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/workflows/base.py", line 321, in init_single_run_wf
collect_derivatives(
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/utils/bids.py", line 218, in collect_derivatives
raise ValueError(
ValueError: Transforms to the following requested spaces not found: MNI152NLin6Asym.
@PSYC_Eric, can you share the tree of fMRIPrep derivatives you’re using?
Can you try just using the fMRIPrep derivatives, since you shouldn’t need the raw dataset if you have MNI152NLin6Asym:res-2 derivatives? That is a simpler configuration and should be easier to debug.
I think I see the problem. It looks like a value of "2" is hardcoded in the query, which won’t work for a value of “02” like you have. I am working on a fix now.
Thanks for the quick reply. Now I think the issue of BOLD image has resolved, but we are back to the original error:
Downloading https://templateflow.s3.amazonaws.com/tpl-MNI152NLin6Asym/tpl-MNI152NLin6Asym_res-02_desc-brain_T1w.nii.gz
100%|████████████████████████████████████████| 429k/429k [00:06<00:00, 67.3kB/s]
Process Process-2:
Traceback (most recent call last):
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/cli/workflow.py", line 115, in build_workflow
retval['workflow'] = init_fmripost_aroma_wf()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/workflows/base.py", line 71, in init_fmripost_aroma_wf
single_subject_wf = init_single_subject_wf(subject_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/workflows/base.py", line 280, in init_single_subject_wf
single_run_wf = init_single_run_wf(bold_file)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/workflows/base.py", line 346, in init_single_run_wf
collect_derivatives(
File "/opt/conda/envs/fmripost_aroma/lib/python3.11/site-packages/fmripost_aroma/utils/bids.py", line 218, in collect_derivatives
raise ValueError(
ValueError: Transforms to the following requested spaces not found: MNI152NLin6Asym.
(The code used here is using fmriprep derivatives as input)
That actually makes sense to me. You have anatomical derivatives for session 01 but not for session 02. I think fMRIPost-AROMA is preparing the workflow for the BOLD run from session 02, wherein it will look for anatomical data that is either in session 02 or has no session at all. Since there are no anatomical data that fit those criteria, it’s failing.
To be honest, I’m not sure what the best route forward is on fMRIPost-AROMA’s end. @effigies would you mind weighing in? How do you think NiPost workflows should operate when only a subset of sessions have anatomical data?
I suppose what you would do is look first for a matching session, and then remove the session entity and try to find a matching anatomical. If there are more than one, then I would probably fail for now. I don’t know if we’re including the preprocessed anatomical in the Sources metadata for the transform, which is what you would really need in order to verify that the transform has an appropriate reference image.
I can try looking to a single matching anatomical scan in any session and raise an error if there’s more than one. Actually leveraging the Sources metadata might be a bit too much of a hill to climb for a quick bug fix, but I’ll open an issue and maybe we can work on it at the NiPreps sprint.