AttributeError: module ‘nibabel’ has no attribute ‘processing’

Summary of what happened:

We are using ASLprep to process a batch of 3D ASL data from GE, but it keeps failing, could you give us some advices?

Command used (and if a helper script was used, a link to the helper script or the command generated):

docker run -ti -m 12GB --rm -v /media/sf_data/matlab/ASL/rawdata:/data:ro -v /media/sf_data/matlab/ASL/derivatives:/out:rw -v /media/sf_data/matlab/ASL/wd_temp:/work:rw -v /home/wly/softwares/freesurfer/license.txt:/opt/freesurfer/license.txt pennlinc/aslprep /data /out participant -w /work --ignore fieldmaps

Version:

Docker version 23.0.5, build bc4487a

Environment (Docker, Singularity, custom installation):

Data formatted according to a validatable standard? Please provide the output of the validator:

Relevant log outputs (up to 20 lines):

Node: aslprep_wf.single_subject_101_wf.asl_preproc_asl.asl_gereference_wf.gen_ge_ref
Working directory: /work/aslprep_wf/single_subject_101_wf/asl_preproc_asl/asl_gereference_wf/gen_ge_ref

Node inputs:

aslcontext = /data/sub-101/perf/sub-101_aslcontext.tsv
fwhm = 5.0
in_file = /data/sub-101/perf/sub-101_asl.nii.gz
m0scan = None
m0scan_metadata = None
metadata = {‘ArterialSpinLabelingType’: ‘PCASL’, ‘BackgroundSuppression’: True, ‘BackgroundSuppressionNumberPulses’: 4, ‘BackgroundSuppressionPulseTime’: [1.465, 2.1, 2.6, 2.88], ‘DeviceSerialNumber’: ‘000000000000GEHC’, ‘EchoTime’: 0.01112, ‘FlipAngle’: 111, ‘InstitutionName’: ‘HANGZHOU HZNU CCBD’, ‘LabelingDuration’: 1.45, ‘M0Type’: ‘Included’, ‘MRAcquisitionType’: ‘3D’, ‘MagneticFieldStrength’: 3, ‘Manufacturer’: ‘GE’, ‘ManufacturersModelName’: ‘DISCOVERY MR750’, ‘NumberOfArms’: 12, ‘NumberOfPointsPerArm’: 512, ‘ParallelReductionFactorInPlane’: 2, ‘PostLabelingDelay’: 2.025, ‘PulseSequenceDetails’: ‘DISCOVERY MR750-24\LX\MR Software release:DV24.0_R01_1344.a’, ‘PulseSequenceType’: ‘3D_spiral’, ‘ReceiveCoilName’: ‘8HRBRAIN’, ‘RepetitionTimePreparation’: 4.781, ‘ScanOptions’: ‘EDR_GEMS\SPIRAL_GEMS’, ‘ScanningSequence’: ‘RM’, ‘SequenceVariant’: ‘NONE’, ‘SoftwareVersions’: ‘24\LX\MR Software release:DV24.0_R01_1344.a’, ‘StationName’: ‘GEHCGEHC’, ‘TotalAcquiredPairs’: 3, ‘VascularCrushing’: True, ‘timeEncodedMatrixSize’: [4, 4]}

Traceback (most recent call last):
File “/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/plugins/multiproc.py”, line 67, in run_node
result[“result”] = node.run(updatehash=updatehash)
File “/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py”, line 527, in run
result = self._run_interface(execute=True)
File “/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py”, line 645, in _run_interface
return self._run_command(execute)
File “/usr/local/miniconda/lib/python3.8/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 gen_ge_ref.

Traceback:
Traceback (most recent call last):
File “/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/core.py”, line 397, in run
runtime = self._run_interface(runtime)
File “/usr/local/miniconda/lib/python3.8/site-packages/aslprep/interfaces/ge.py”, line 98, in _run_interface
smoothed_img = nb.processing.smooth_image(mean_img, fwhm=self.inputs.fwhm)
AttributeError: module ‘nibabel’ has no attribute ‘processing’

Screenshots / relevant information:

@wly it looks like you also opened a GitHub issue about this bug (AttributeError: module 'nibabel' has no attribute 'processing' · Issue #300 · PennLINC/aslprep · GitHub), and I have followed up there. I think you can resolve this topic in favor of the GH issue.

1 Like