nipreps / mriqc

Automated Quality Control and visual reports for Quality Assessment of structural (T1w, T2w) and functional MRI of the brain
http://mriqc.readthedocs.io
Apache License 2.0
300 stars 132 forks source link

Error with acq_NM images #1010

Closed InesGP closed 1 year ago

InesGP commented 2 years ago

When running MRIQC v22.0.1 on certain images on both Docker and Singularity, the process crashes due to a segmentation error and produces the crash log below. I think this is being caused by acq_NM images, is there a way to fix this error or filter out the acq label? Thanks,

Node: mriqc_wf.anatMRIQC.HeadMaskWorkflow.fsl_bet
Working directory: /tmp/work/mriqc_wf/anatMRIQC/HeadMaskWorkflow/_in_file_..data..sub-01..ses-01..anat..sub-01_ses-01_acq-NM_run-1_T1w.nii.gz/fsl_bet

Node inputs:

args = <undefined>
center = <undefined>
environ = {'FSLOUTPUTTYPE': 'NIFTI_GZ'}
frac = <undefined>
functional = <undefined>
in_file = <undefined>
mask = <undefined>
mesh = <undefined>
no_output = <undefined>
out_file = <undefined>
outline = <undefined>
output_type = NIFTI_GZ
padding = <undefined>
radius = <undefined>
reduce_bias = <undefined>
remove_eyes = <undefined>
robust = <undefined>
skull = <undefined>
surfaces = True
t2_guided = <undefined>
threshold = <undefined>
vertical_gradient = <undefined>

Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/mriqc/engine/plugin.py", line 60, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 516, in run
    result = self._run_interface(execute=True)
  File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 635, in _run_interface
    return self._run_command(execute)
  File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 741, in _run_command
    result = self._interface.run(cwd=outdir)
  File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 419, in run
    runtime = self._run_interface(runtime)
  File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/fsl/preprocess.py", line 164, in _run_interface
    self.raise_exception(runtime)
  File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 741, in raise_exception
    raise RuntimeError(
RuntimeError: Command:
bet /tmp/work/mriqc_wf/anatMRIQC/synthstrip_wf/_in_file_..data..sub-01..ses-01..anat..sub-01_ses-01_acq-NM_run-1_T1w.nii.gz/post_n4/clipped_corrected.nii.gz /tmp/work/mriqc_wf/anatMRIQC/HeadMaskWorkflow/_in_file_..data..sub-PD01577D642390..ses-01..anat..sub-01_ses-01_acq-NM_run-1_T1w.nii.gz/fsl_bet/clipped_corrected_brain.nii.gz -A
Standard output:

Standard error:
Segmentation fault (core dumped)
Return code: 0
oesteban commented 2 years ago

@InesGP could you open /tmp/work/mriqc_wf/anatMRIQC/synthstrip_wf/_in_file_..data..sub-01..ses-01..anat..sub-01_ses-01_acq-NM_run-1_T1w.nii.gz/post_n4/clipped_corrected.nii.gz with a viewer of your liking and upload a screen capture of what you see?

InesGP commented 2 years ago

Here's a screen capture of /tmp/work/mriqc_wf/anatMRIQC/synthstrip_wf/_in_file_..data..sub-01..ses-01..anat..sub-01_ses-01_acq-NM_run-1_T1w.nii.gz/post_n4/clipped_corrected.nii.gz, the dimensions of the MR volume are (240, 320, 20) while the dimensions of /tmp/work/mriqc_wf/anatMRIQC/synthstrip_wf/_in_file_..data..sub-01..ses-01..anat..sub-01_ses-01_run-1_T1w.nii.gz/post_n4/clipped_corrected.nii.gz are (192, 256, 256)

mriqc_clip

oesteban commented 1 year ago

I believe FSL BET just doesn't like these NM T1w images. This would need to continue the roadmap toward an FSL-free implementation.