Hi all,
I have been trying to run mriqc on my BIDS dataset (no errors on the BIDS validator) without success. This is the error I get:
```
2024-04-30 13:42:33 | INFO | nipype.workflow | [Node] Finished "measures", elapsed time 1.250092s.
2024-04-30 13:42:33 | INFO | nipype.workflow | [Node] Finished "PlotArtmask", elapsed time 1.75107s.
2024-04-30 13:42:33 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.anat_report_wf.ds_report_segm" in "/scratch/mriqc_wf/anatMRIQC/anat_report_wf/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii/ds_report_segm".
2024-04-30 13:42:33 | INFO | nipype.workflow | [Node] Executing "ds_report_segm" <mriqc.interfaces.DerivativesDataSink>
2024-04-30 13:42:33 | INFO | nipype.workflow | [Node] Finished "ds_report_segm", elapsed time 0.008578s.
2024-04-30 13:42:33 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.ComputeIQMs.provenance" in "/scratch/mriqc_wf/anatMRIQC/ComputeIQMs/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii.gz/provenance".
2024-04-30 13:42:33 | INFO | nipype.workflow | [Node] Executing "provenance" <mriqc.interfaces.reports.AddProvenance>
2024-04-30 13:42:33 | INFO | nipype.workflow | [Node] Finished "provenance", elapsed time 0.05966s.
2024-04-30 13:42:34 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.ComputeIQMs.ComputeQI2" in "/scratch/mriqc_wf/anatMRIQC/ComputeIQMs/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii.gz/ComputeQI2".
2024-04-30 13:42:34 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.anat_report_wf.PlotAirmask" in "/scratch/mriqc_wf/anatMRIQC/anat_report_wf/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii.gz/PlotAirmask".
2024-04-30 13:42:34 | INFO | nipype.workflow | [Node] Executing "ComputeQI2" <mriqc.interfaces.anatomical.ComputeQI2>
2024-04-30 13:42:34 | INFO | nipype.workflow | [Node] Executing "PlotAirmask" <nireports.interfaces.mosaic.PlotContours>
2024-04-30 13:42:34 | INFO | nipype.workflow | [Node] Finished "ComputeQI2", elapsed time 0.198214s.
2024-04-30 13:42:35 | INFO | nipype.workflow | [Node] Finished "PlotAirmask", elapsed time 1.504745s.
2024-04-30 13:42:35 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.anat_report_wf.PlotArtmask" in "/scratch/mriqc_wf/anatMRIQC/anat_report_wf/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii.gz/PlotArtmask".
2024-04-30 13:42:35 | INFO | nipype.workflow | [Node] Executing "PlotArtmask" <nireports.interfaces.mosaic.PlotContours>
/opt/conda/lib/python3.11/site-packages/nilearn/plotting/displays/_slicers.py:420: UserWarning: empty mask
xmin_, xmax_, ymin_, ymax_, zmin_, zmax_ = get_mask_bounds(
2024-04-30 13:42:37 | INFO | nipype.workflow | [Node] Finished "PlotArtmask", elapsed time 1.621175s.
2024-04-30 13:42:37 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.anat_report_wf.ds_report_headmask" in "/scratch/mriqc_wf/anatMRIQC/anat_report_wf/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii.gz/ds_report_headmask".
2024-04-30 13:42:37 | INFO | nipype.workflow | [Node] Executing "ds_report_headmask" <mriqc.interfaces.DerivativesDataSink>
2024-04-30 13:42:37 | INFO | nipype.workflow | [Node] Finished "ds_report_headmask", elapsed time 0.011241s.
2024-04-30 13:42:37 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.anat_report_wf.ds_report_noisefit" in "/scratch/mriqc_wf/anatMRIQC/anat_report_wf/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii/ds_report_noisefit".
2024-04-30 13:42:37 | INFO | nipype.workflow | [Node] Executing "ds_report_noisefit" <mriqc.interfaces.DerivativesDataSink>
2024-04-30 13:42:37 | INFO | nipype.workflow | [Node] Finished "ds_report_noisefit", elapsed time 0.020344s.
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.anat_report_wf.ds_report_airmask" in "/scratch/mriqc_wf/anatMRIQC/anat_report_wf/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii/ds_report_airmask".
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Executing "ds_report_airmask" <mriqc.interfaces.DerivativesDataSink>
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Finished "ds_report_airmask", elapsed time 0.008918s.
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.anat_report_wf.ds_report_artmask" in "/scratch/mriqc_wf/anatMRIQC/anat_report_wf/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii/ds_report_artmask".
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Executing "ds_report_artmask" <mriqc.interfaces.DerivativesDataSink>
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Finished "ds_report_artmask", elapsed time 0.015726s.
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Setting-up "mriqc_wf.anatMRIQC.ComputeIQMs.datasink" in "/scratch/mriqc_wf/anatMRIQC/ComputeIQMs/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii/datasink".
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Executing "datasink" <mriqc.interfaces.bids.IQMFileSink>
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Finished "datasink", elapsed time 0.024675s.
2024-04-30 13:42:38 | WARNING | nipype.workflow | Storing result file without outputs
2024-04-30 13:42:38 | WARNING | nipype.workflow | [Node] Error on "mriqc_wf.anatMRIQC.ComputeIQMs.datasink" (/scratch/mriqc_wf/anatMRIQC/ComputeIQMs/_in_file_..data..sub-01..anat..sub-01_space-MNI152NLin2009cAsym_res-2_desc-preproc_T1w.nii/datasink)
Traceback (most recent call last):
File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 579, in _send_procs_to_workers
self.procs[jobid].run(updatehash=updatehash)
File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
result = self._run_interface(execute=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
return self._run_command(execute)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 771, in _run_command
raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node datasink.
Traceback:
Traceback (most recent call last):
File "/opt/conda/lib/python3.11/site-packages/nipype/interfaces/base/core.py", line 397, in run
runtime = self._run_interface(runtime)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/mriqc/interfaces/bids.py", line 188, in _run_interface
json.dumps(
File "/opt/conda/lib/python3.11/site-packages/simplejson/__init__.py", line 395, in dumps
**kw).encode(obj)
^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/simplejson/encoder.py", line 300, in encode
chunks = list(chunks)
^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/simplejson/encoder.py", line 714, in _iterencode
for chunk in _iterencode_dict(o, _current_indent_level):
File "/opt/conda/lib/python3.11/site-packages/simplejson/encoder.py", line 645, in _iterencode_dict
yield _floatstr(value)
^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/simplejson/encoder.py", line 351, in floatstr
raise ValueError(
ValueError: Out of range float values are not JSON compliant: nan
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/conda/bin/mriqc", line 8, in <module>
sys.exit(main())
^^^^^^
File "/opt/conda/lib/python3.11/site-packages/mriqc/cli/run.py", line 178, in main
mriqc_wf.run(**_plugin)
File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/workflows.py", line 638, in run
runner.run(execgraph, updatehash=updatehash, config=self.config)
File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 214, in run
self._send_procs_to_workers(updatehash=updatehash, graph=graph)
File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 582, in _send_procs_to_workers
self._clean_queue(
File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 259, in _clean_queue
raise RuntimeError(''.join(result['traceback']))
RuntimeError: Traceback (most recent call last):
File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 579, in _send_procs_to_workers
self.procs[jobid].run(updatehash=updatehash)
File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
result = self._run_interface(execute=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
return self._run_command(execute)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 771, in _run_command
raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node datasink.
Traceback:
Traceback (most recent call last):
File "/opt/conda/lib/python3.11/site-packages/nipype/interfaces/base/core.py", line 397, in run
runtime = self._run_interface(runtime)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/mriqc/interfaces/bids.py", line 188, in _run_interface
json.dumps(
File "/opt/conda/lib/python3.11/site-packages/simplejson/__init__.py", line 395, in dumps
**kw).encode(obj)
^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/simplejson/encoder.py", line 300, in encode
chunks = list(chunks)
^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/simplejson/encoder.py", line 714, in _iterencode
for chunk in _iterencode_dict(o, _current_indent_level):
File "/opt/conda/lib/python3.11/site-packages/simplejson/encoder.py", line 645, in _iterencode_dict
yield _floatstr(value)
^^^^^^^^^^^^^^^^
File "/opt/conda/lib/python3.11/site-packages/simplejson/encoder.py", line 351, in floatstr
raise ValueError(
ValueError: Out of range float values are not JSON compliant: nan
2024-04-30 13:42:38 | INFO | nipype.workflow | [Node] Finished "segmentation", elapsed time 19.16503s.
```
Any idea on how to resolve?
here is my docker call:
```
docker run -it --rm \
-v /data/projects/chess/data/BIDS/derivatives/fmriprep:/data:ro \
-v /data/projects/chess/data/BIDS/derivatives/mriqc:/out \
-v /home/eik-tb/Desktop/temp_mriqc:/scratch \
nipreps/mriqc:latest /data /out participant \
--participant-label sub-01 \
--nprocs 16 --mem-gb 40 --float32 \
--work-dir /scratch \
--verbose-reports --resource-monitor -vv
You are using MRIQC v24.0.0.dev0+g4d96184d.d20240320, and a newer version is available: 24.0.0.
240430-13:29:02,182 cli IMPORTANT:
------------------------------------------------------------------
Running MRIQC version 24.0.0.dev0+g4d96184d.d20240320
------------------------------------------------------------------
* BIDS dataset path: /data.
* Output folder: /out.
* Analysis levels: ['participant'].
------------------------------------------------------------------
```
Thanks,
Andrea