[RESOLVED] Nonconformant arguments in extractNuisanceSignal resulting in error

Description:

Hi, I have [minimally] preprocessed my data hcp1-5, and have successfully performed mapHCPData, createBOLDBrainMasks, computeBOLDStats, createStatsReport. I am experiencing an error with extractNuisanceSignals. I suspect it’s due to the BOLDBrainMask and aparc+aseg having non-compatible voxel dimensions. BOLDBrainMask is 3mm isotropic (which is the correct sampling of this data set), while aparc+aseg_bold.nii.gz is 2mm isotropic (not sure where this parameter is specified).
Best,
Taku

Call:

qunexContainer extractNuisanceSignal \
    --sessionsfolder="$my_study_folder/sessions" \
    --sessions="$batch_file" \
    --overwrite='yes' \
    --container="$qunex_container"

Logs:

Running external command via Qu|Nex:

octave -q
–no-init-file
–eval “try g_ExtractNuisance(’/gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/functional/bold8.nii.gz’, ‘/gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/freesurfer/mri/aparc+aseg_bold.nii.gz’, ‘/gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/boldmasks/bold8_frame1_brain_mask.nii.gz’, ‘/gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/functional/movement’, ‘/gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/ROI/nuisance’, ‘’, ‘’, ‘’, true, true); catch ME, g_ReportError(ME); exit(1), end; exit”

Test file: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/functional/movement/bold8.nuisance

Running g_ExtractNuisance

Parameters:

        img: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/functional/bold8.nii.gz
      fsimg: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/freesurfer/mri/aparc+aseg_bold.nii.gz
      bmimg: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/boldmasks/bold8_frame1_brain_mask.nii.gz
     target: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/functional/movement
    ntarget: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/ROI/nuisance
     wbmask: 
 sessionroi: 
       nroi: 
     shrink: 1

—> Reading bold [/gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/functional/bold8.nii.gz]
—> Reading bold brain mask [/gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/boldmasks/bold8_frame1_brain_mask.nii.gz]
—> Reading segmentation mask [/gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/freesurfer/mri/aparc+aseg_bold.nii.gz]

=========================================
Execution error! Processing failed!
Please check arguments and/or try running the command in Matlab or Octave directly.

The exact error reported:

Error identifier: Octave:nonconformant-args
Error message: mx_el_and: nonconformant arguments (op1 is 259200x1, op2 is 902629x1)
Error stack: /opt/qunex/nitools/general/g_ExtractNuisance.m → g_ExtractNuisance [line: 117]

=========================================

I should mention that afterwards, a quick resampling of the aparc+aseg_bold.nii.gz file appeared to remedy the situation.

This resample was done using AFNI, though can also be done in FSL:

3dresample -input /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/freesurfer/mri/aparc+aseg_bold.nii.gz -prefix /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/freesurfer/mri/aparc+aseg_bold_2mm.nii.gz -master /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/multiTaskVAE/qunexMultiTaskVAE/sessions/03_b1/images/segmentation/boldmasks/bold8_frame1_brain_mask.nii.gz

Hi Taku, we will assign a developer to this issue and will let you know once it has been resolved.

Taku, hi!

Indeed, irrespective of the BOLD voxel size in the dataset, the default and the expected voxels size for the processed volume BOLD images is 2 x 2 x 2 mm. This is the resolution used to prepare aseg+aparc.nii.gz files. I have opened a developer ticket so that aseg+aparc.nii.gz files will be resampled to the resolution specified by the hcp_bold_res and so match the preprocessed volume BOLD files. Before the issue is resolved in code, either manually resample aseg+aparc.nii.gz files in <session_id>/images/segmentation/freesurfer/mri or use the default 2mm setting for hcp_bold_res when processing BOLD images using HCP pipelines. To be able to use the different atlases and other support files for volume images, I would encourage you to use the default 2mm resolution.

With kind regards,

Grega