Closed DVSneuro closed 7 months ago
Good catch - for the moment, you can ensure you did datalad get on all images and use --no-datalad-get
for your mriqc call. I'll address this asap
The problem: This dataset has multi-echo images and the list should be flattened before passing to datalad for get.
The "other" problem: I think #1120 would also fail for this.
Thanks, Oscar. I tried that, and I'm still getting a similar error when using the --no-datalad-get
option (see below). I also get a similar issue with the data data that hasn't been pulled from datalad.
(base) tug87422@cla18994:/ZPOOL/data/projects/ds005085$ bash code/mriqc.sh 10043
------------------------------------------------------------------
Running MRIQC version 24.1.0.dev0+g3fe90466.d20240417
----------------------------------------------------------------
* BIDS dataset path: /base.
* Output folder: /base/derivatives/mriqc.
* Analysis levels: ['participant'].
------------------------------------------------------------------
2024-04-18 07:25:36 | IMPORTANT | mriqc | Building MRIQC's workflows...
Process Process-2:
Traceback (most recent call last):
File "/opt/conda/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/opt/conda/lib/python3.11/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/opt/conda/lib/python3.11/site-packages/mriqc/cli/workflow.py", line 56, in build_workflow
retval['workflow'] = init_mriqc_wf()
^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/mriqc/workflows/core.py", line 48, in init_mriqc_wf
workflow.add_nodes([fmri_qc_workflow()])
^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/mriqc/workflows/functional/base.py", line 90, in fmri_qc_workflow
bold_len = nb.load(bold_path).shape[3]
^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/nibabel/loadsave.py", line 96, in load
filename = _stringify_path(filename)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/nibabel/filename_parser.py", line 41, in _stringify_path
return pathlib.Path(filepath_or_buffer).expanduser().as_posix()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/pathlib.py", line 871, in __new__
self = cls._from_parts(args)
^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/pathlib.py", line 509, in _from_parts
drv, root, parts = self._parse_args(args)
^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/pathlib.py", line 493, in _parse_args
a = os.fspath(a)
^^^^^^^^^^^^
TypeError: expected str, bytes or os.PathLike object, not list
Oh yes, you need to run datalad get
on your own -- the actual data are not there!
The --no-datalad-get
disables fetching the data with datalad.
Thanks! The weird thing here is that all the data are already there on the local computer, and I get the same TypeError when running the same dataset that was uploaded to OpenNeuro in the first place. So, I'm confused!
(base) tug87422@cla18994:/ZPOOL/data/projects/ds005085$ datalad get . *
action summary:
get (notneeded: 24)
I suspect it will replicate, but let me know if you need the config file again. It looks the same to me except it says datalad_get = false
.
Thanks for any help, and sorry if our dataset is a weird edge case!
Best wishes, David
@DVSneuro -- sorry I didn't read your message (https://github.com/nipreps/mriqc/issues/1282#issuecomment-2063647205) with enough depth in my first pass.
Indeed, with --no-datalad-get
you got around the first issue:
This dataset has multi-echo images and the list should be flattened before passing to datalad for get.
But you hit the other issue:
The "other" problem: I think https://github.com/nipreps/mriqc/pull/1120 would also fail for this.
A fix should be coming in soon.
Thanks @oesteban! And no worries! I appreciate all the support with these tools, and we're excited to use the latest version of MRIQC on our data. Thanks again for providing these tools for the community!
What happened?
I'm getting
TypeError: expected str, bytes or os.PathLike object, not list
on the latest version of MRIQC. Data is available here: https://openneuro.org/datasets/ds005085Thanks for any help!
What command did you use?
What version of the software are you running?
24.0.0
How are you running this software?
Singularity
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
No
Please copy and paste any relevant log output.
Additional information / screenshots
Here's the contents of the config file. I have no idea why the version number for MRIQC is reported like it is below. For reference, I created the container using the following line of code:
singularity build mriqc-24.0.0.simg docker://nipreps/mriqc:24.0.0