FCP-INDI / C-PAC

Configurable Pipeline for the Analysis of Connectomes
https://fcp-indi.github.io/
GNU Lesser General Public License v3.0
62 stars 40 forks source link

🐛 `Input […] and base […] don't have same orientation! […] FATAL ERROR: perhaps you could make your datasets match?` #1728

Open shnizzedy opened 2 years ago

shnizzedy commented 2 years ago

Describe the bug

220502-13:58:01,215 nipype.workflow ERROR:
         Node _func_motion_correct_3dvolreg_8423 failed to run on host 2119fmn001.
220502-13:58:01,215 nipype.workflow ERROR:
         Saving crash info to /outputs/log/crash-20220502-135801-rbc-_func_motion_correct_3dvolreg_8423-91391a60-dff8-4ec9-be84-7b9da5070179.txt
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 516, in run
    result = self._run_interface(execute=True)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 635, in _run_interface
    return self._run_command(execute)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 741, in _run_command
    result = self._interface.run(cwd=outdir)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 419, in run
    runtime = self._run_interface(runtime)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/afni/base.py", line 125, in _run_interface
    runtime, correct_return_codes
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 814, in _run_interface
    self.raise_exception(runtime)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 745, in raise_exception
    ).format(**runtime.dictcopy())
RuntimeError: Command:
3dvolreg -twopass -Fourier -1Dfile MD5E-s105157264--621209a0b1f604609d5eec2f157428cc_calc_despike_tshift_resample_23.1D -1Dmatrix_save MD5E-s105157264--621209a0b1f604609d5eec2f157428cc_calc_despike_tshift_resample_23.aff12.1D -prefix MD5E-s105157264--621209a0b1f604609d5eec2f157428cc_calc_despike_tshift_resample_23_volreg.nii.gz -base /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_get_fmriprep_ref_67/ref_bold.nii.gz -zpad 4 -maxdisp1D MD5E-s105157264--621209a0b1f604609d5eec2f157428cc_calc_despike_tshift_resample_23_md.1D /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_motion_correct_3dvolreg_84/mapflow/_func_motion_correct_3dvolreg_8423/MD5E-s105157264--621209a0b1f604609d5eec2f157428cc_calc_despike_tshift_resample_23.nii.gz
Standard output:

Standard error:
++ WARNING: file /cbica/projects/RBC/.afni.log is now 1023895447 (1.0 billion) bytes long!
++ 3dvolreg: AFNI version=AFNI_22.1.06 (Apr 24 2022) [64-bit]
++ Authored by: RW Cox
*+ WARNING:   If you are performing spatial transformations on an oblique dset,
  such as /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_get_fmriprep_ref_67/ref_bold.nii.gz,
  or viewing/combining it with volumes of differing obliquity,
  you should consider running: 
     3dWarp -deoblique 
  on this and  other oblique datasets in the same session.
 See 3dWarp -help for details.
++ Oblique dataset:/outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_get_fmriprep_ref_67/ref_bold.nii.gz is 1.253045 degrees from plumb.
** Input /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_motion_correct_3dvolreg_84/mapflow/_func_motion_correct_3dvolreg_8423/MD5E-s105157264--621209a0b1f604609d5eec2f157428cc_calc_despike_tshift_resample_23.nii.gz and base /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_get_fmriprep_ref_67/ref_bold.nii.gz don't have same dimensions!
   Input: nx=60  ny=84  nz=84
   Base:  nx=84  ny=84  nz=60
** Input /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_motion_correct_3dvolreg_84/mapflow/_func_motion_correct_3dvolreg_8423/MD5E-s105157264--621209a0b1f604609d5eec2f157428cc_calc_despike_tshift_resample_23.nii.gz and base /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_get_fmriprep_ref_67/ref_bold.nii.gz don't have same grid spacing!
   Input: dx= 2.400  dy=-2.429  dz= 2.429
   Base:  dx= 2.429  dy= 2.429  dz= 2.400
** Input /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_motion_correct_3dvolreg_84/mapflow/_func_motion_correct_3dvolreg_8423/MD5E-s105157264--621209a0b1f604609d5eec2f157428cc_calc_despike_tshift_resample_23.nii.gz and base /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_movieTP_acq-VARIANTPhaseEncodingDirection/func_get_fmriprep_ref_67/ref_bold.nii.gz don't have same orientation!
   Input: R-L P-A I-S
   Base:  A-P I-S R-L 
** FATAL ERROR: perhaps you could make your datasets match?
Return code: 1

To reproduce

Seen on HBN_site-RU data with rbc-options preconfig, specifically with

https://github.com/FCP-INDI/C-PAC/blob/962b45e490d7a008f9207d2c7abd14deeab63dcf/CPAC/resources/configs/pipeline_config_rbc-options.yml#L65 https://github.com/FCP-INDI/C-PAC/blob/962b45e490d7a008f9207d2c7abd14deeab63dcf/CPAC/resources/configs/pipeline_config_rbc-options.yml#L80-L82 https://github.com/FCP-INDI/C-PAC/blob/962b45e490d7a008f9207d2c7abd14deeab63dcf/CPAC/resources/configs/pipeline_config_fmriprep-options.yml#L367

Expected behavior

Orientations match

Acceptance criteria

Screenshots

An example of differently-aligned data leading to this issue: T1w two BOLDs

C-PAC version

v1.8.4-dev

Container platform

Singularity

Docker and/or Singularity version(s)

Singularity 3.8.5-2.el7

Additional context

Error is handled cleanly ― i.e., finishes with

Error of subject workflow […]

CPAC run error:
[…]
shnizzedy commented 2 years ago

with

    motion_correction: 
      using: [3dvolreg]
      motion_correction_reference: [mean]

:

RuntimeError: Command:
3dvolreg -twopass -Fourier -1Dfile MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_despike_tshift_resample_0.1D -1Dmatrix_save MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_despike_tshift_resample_0.aff12.1D -prefix MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_despike_tshift_resample_0_volreg.nii.gz -base /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_get_mean_RPI_67/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_tstat.nii.gz -zpad 4 -maxdisp1D MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_despike_tshift_resample_0_md.1D /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_motion_correct_3dvolreg_84/mapflow/_func_motion_correct_3dvolreg_840/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_despike_tshift_resample_0.nii.gz
Standard output:

Standard error:
++ WARNING: file /cbica/projects/RBC/.afni.log is now 1710755202 (1.7 billion) bytes long!
++ 3dvolreg: AFNI version=AFNI_22.1.09 (May 10 2022) [64-bit]
++ Authored by: RW Cox
*+ WARNING:   If you are performing spatial transformations on an oblique dset,
  such as /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_get_mean_RPI_67/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_tstat.nii.gz,
  or viewing/combining it with volumes of differing obliquity,
  you should consider running: 
     3dWarp -deoblique 
  on this and  other oblique datasets in the same session.
 See 3dWarp -help for details.
++ Oblique dataset:/outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_get_mean_RPI_67/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_tstat.nii.gz is 1.253045 degrees from plumb.
** Input /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_motion_correct_3dvolreg_84/mapflow/_func_motion_correct_3dvolreg_840/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_despike_tshift_resample_0.nii.gz and base /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_get_mean_RPI_67/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_tstat.nii.gz don't have same dimensions!
   Input: nx=60  ny=84  nz=84
   Base:  nx=84  ny=84  nz=60
** Input /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_motion_correct_3dvolreg_84/mapflow/_func_motion_correct_3dvolreg_840/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_despike_tshift_resample_0.nii.gz and base /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_get_mean_RPI_67/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_tstat.nii.gz don't have same grid spacing!
   Input: dx= 2.400  dy=-2.429  dz= 2.429
   Base:  dx= 2.429  dy= 2.429  dz= 2.400
** Input /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_motion_correct_3dvolreg_84/mapflow/_func_motion_correct_3dvolreg_840/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_despike_tshift_resample_0.nii.gz and base /outputs/working/cpac_sub-NDARXY162ERA_ses-HBNsiteRU/_scan_peer_run-3_acq-VARIANTPhaseEncodingDirection/func_get_mean_RPI_67/MD5E-s56633851--df5d75a9dec3ce71773c10078a001c16_calc_tstat.nii.gz don't have same orientation!
   Input: R-L P-A I-S
   Base:  A-P I-S R-L 
** FATAL ERROR: perhaps you could make your datasets match?
Return code: 1