Skip to content

Brainmask ingression broken for HCP data #1488

@j1c

Description

@j1c

Summary

I am getting a FileNotFoundError for bold brain mask when trying to process HCP data. I believe this is caused by #1473, as 0.11.0rc1 version runs for nifti format, but both 0.11.0 and 0.11.1 errors.

This block uses brainmask_fs.2.nii.gz

boldmask_nifti_orig = os.path.join(task_dir_orig, 'brainmask_fs.2.nii.gz')
boldmask_nifti_fmriprep = os.path.join(
func_dir_bids,
f'{func_prefix}_{volspace_ent}_{RES_ENT}_desc-brain_mask.nii.gz',
)
copy_dictionary[boldmask_nifti_orig] = [boldmask_nifti_fmriprep]

but this block, which was added in #1473, only checks for brainmask_fs.2.0.nii.gz or brainmask_fs.nii.gz

bold_mask_orig = os.path.join(task_dir_orig, 'brainmask_fs.2.0.nii.gz')
if not os.path.isfile(bold_mask_orig):
bold_mask_orig = os.path.join(task_dir_orig, 'brainmask_fs.nii.gz')
bold_mask_fmriprep = os.path.join(
func_dir_bids,
f'{func_prefix}_{volspace_ent}_{RES_ENT}_desc-brain_mask.nii.gz',
)
copy_dictionary[bold_mask_orig] = [bold_mask_fmriprep]

It is noted in #1460 that brainmask_fs.2.0.nii.gz files can exist, but I only have brainmask_fs.2.nii.gz files. Im not entirely sure of the difference between boldmask_nifti_fmriprep and bold_mask_fmriprep, but it seems like they should be pointing to the same file. Probably could just check once for the existence of brainmask_fs.2.0.nii.gz, brainmask_fs.2.nii.gz or brainmask_fs.nii.gz, and use that for both boldmask_nifti_fmriprep and bold_mask_fmriprep.

Additional details

  • xcp_d version: 0.11.1
Traceback (most recent call last):
  File "/usr/local/miniconda/bin/xcp_d", line 8, in <module>
    sys.exit(main())
  File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/cli/run.py", line 25, in main
    parse_args(args=sys.argv[1:])
  File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/cli/parser.py", line 839, in parse_args
    convert_to_bids(
  File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/ingression/hcpya.py", line 107, in convert_hcp2bids
    convert_hcp_to_bids_single_subject(
  File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/ingression/hcpya.py", line 363, in convert_hcp_to_bids_single_subject
    copy_files_in_dict(copy_dictionary)
  File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/ingression/utils.py", line 383, in copy_files_in_dict
    copy_file(file_orig, file_fmriprep)
  File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/ingression/utils.py", line 395, in copy_file
    if not os.path.exists(dst) or not filecmp.cmp(src, dst):
  File "/usr/local/miniconda/lib/python3.10/filecmp.py", line 53, in cmp
    s1 = _sig(os.stat(f1))
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/t/hcpya/990366/MNINonLinear/Results/rfMRI_REST1_LR/brainmask_fs.nii.gz'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIssues noting problems and PRs fixing those problems.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions