Does XCP-D support HCP-pipeline preprocessed AP/PA CIFTI data, such as CHCP?

Summary of what happened;

I would like to ask whether XCP-D supports resting-state fMRI data that have been preprocessed using an HCP-style pipeline but were acquired with AP/PA phase-encoding directions rather than the typical HCP-YA LR/RL naming.Specifically, I am working with the Chinese Human Connectome Project (CHCP) dataset. The CHCP dataset provides preprocessed HCP-style outputs, including CIFTI dtseries files, anatomical files, fsLR surface files, and motion/regressor files. The resting-state runs are organized as AP/PA acquisitions, for example REST1_AP and REST1_PA, rather than LR/RL acquisitions.

The CHCP dataset is available here:

The acquisition and dataset details are described in:
Increasing diversity in connectomics with the Chinese Human Connectome Project
https://www.nature.com/articles/s41593-022-01215-1

My main question is whether CHCP-style preprocessed AP/PA CIFTI data can be processed directly with XCP-D using HCP input mode, or whether XCP-D’s HCP input mode currently expects HCP-YA-style LR/RL naming.

Command used:

N/A. This is mainly a general compatibility question. The intended use case is XCP-D with HCP-style preprocessed CIFTI data, using options such as --input-type hcp and --file-format cifti.

Version:

XCP-D 0.13.0

Environment:

Docker container: pennlinc/xcp_d

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

The data are not raw BIDS data. They are CHCP preprocessed HCP-style outputs. Therefore, I did not run a BIDS validator on the raw dataset. The dataset includes HCP-style folders such as T1w, MNINonLinear, MNINonLinear/Results, and MNINonLinear/fsaverage_LR32k.

Relevant log outputs:

N/A for this general compatibility question.

Screenshots / relevant information:

The CHCP resting-state files are organized as AP/PA runs, such as:

MNINonLinear/Results/rfMRI_REST1_AP/

MNINonLinear/Results/rfMRI_REST1_PA/

Each run includes preprocessed CIFTI dtseries files and motion/regressor files. My questions are:

Does XCP-D currently support HCP-pipeline preprocessed AP/PA resting-state CIFTI data directly with --input-type hcp?
Is the HCP input converter mainly designed for HCP-YA-style LR/RL run naming?
For CHCP-style AP/PA preprocessed HCP outputs, would you recommend using --input-type hcp, or first converting the data into a BIDS-derivatives/fMRIPrep-like structure before running XCP-D?

Any guidance on the recommended way to run XCP-D on CHCP-style preprocessed AP/PA CIFTI data would be greatly appreciated.

Best regards,
Rui Wang

Hi @RuiWang and welcome to neurostars!

The phase encoding direction is not important for XCP-D; it is only used during preprocessing for susceptibility distortion correction. What is important is that the file organization and naming are consistent with the original HCP.

As long as it is organized like original HCP (which I cannot confirm, but from what you described it is likely), I would use --input-type hcp.

Best,

Steven

Thank you for your reply. I tried running XCP-D with the original CHCP AP/PA HCP-style naming. The HCP-to-BIDS converter reports that functional files were collected and that the conversion completed successfully. However, after conversion, XCP-D still fails with β€œNo BOLD data found in allowed spaces (fsLR)”.

The BIDS query only finds anatomical files under derivatives/hcp/sub-3001/anat, and no functional CIFTI BOLD files are detected.

This makes me think that the AP/PA CIFTI files may be collected by the converter but not converted into BIDS-style func outputs recognizable by XCP-D. Do you think the current HCP converter requires HCP-YA-style LR/RL run naming or Atlas_MSMAll filenames?

The CHCP dataset provides HCP-pipeline preprocessed outputs in an HCP-style directory structure. Unlike HCP-YA, the resting-state fMRI runs are organized as AP/PA acquisitions, such as rfMRI_REST1_AP and rfMRI_REST1_PA, rather than LR/RL runs.
```

/data/3001/
└── MNINonLinear/
β”œβ”€β”€ T1w.nii.gz
β”œβ”€β”€ T1w_restore.nii.gz
β”œβ”€β”€ brainmask_fs.nii.gz
β”œβ”€β”€ brainmask_fs.2.0.nii.gz
β”œβ”€β”€ ribbon.nii.gz
β”‚
β”œβ”€β”€ xfms/
β”‚ β”œβ”€β”€ acpc_dc2standard.nii.gz
β”‚ └── standard2acpc_dc.nii.gz
β”‚
β”œβ”€β”€ fsaverage_LR32k/
β”‚ β”œβ”€β”€ 3001.L.midthickness.32k_fs_LR.surf.gii
β”‚ β”œβ”€β”€ 3001.R.midthickness.32k_fs_LR.surf.gii
β”‚ β”œβ”€β”€ 3001.L.pial.32k_fs_LR.surf.gii
β”‚ β”œβ”€β”€ 3001.R.pial.32k_fs_LR.surf.gii
β”‚ β”œβ”€β”€ 3001.L.white.32k_fs_LR.surf.gii
β”‚ β”œβ”€β”€ 3001.R.white.32k_fs_LR.surf.gii
β”‚ β”œβ”€β”€ 3001.L.sulc.32k_fs_LR.shape.gii
β”‚ β”œβ”€β”€ 3001.R.sulc.32k_fs_LR.shape.gii
β”‚ β”œβ”€β”€ 3001.L.curvature.32k_fs_LR.shape.gii
β”‚ β”œβ”€β”€ 3001.R.curvature.32k_fs_LR.shape.gii
β”‚ β”œβ”€β”€ 3001.L.corrThickness.32k_fs_LR.shape.gii
β”‚ β”œβ”€β”€ 3001.R.corrThickness.32k_fs_LR.shape.gii
β”‚ β”œβ”€β”€ 3001.L.MyelinMap.32k_fs_LR.func.gii
β”‚ β”œβ”€β”€ 3001.R.MyelinMap.32k_fs_LR.func.gii
β”‚ β”œβ”€β”€ 3001.L.SmoothedMyelinMap.32k_fs_LR.func.gii
β”‚ β”œβ”€β”€ 3001.R.SmoothedMyelinMap.32k_fs_LR.func.gii
β”‚ β”œβ”€β”€ 3001.L.thickness.32k_fs_LR.shape.gii
β”‚ └── 3001.R.thickness.32k_fs_LR.shape.gii
β”‚
└── Results/
β”œβ”€β”€ rfMRI_REST1_AP/
β”‚ β”œβ”€β”€ brainmask_fs.2.nii.gz
β”‚ β”œβ”€β”€ Movement_Regressors.txt
β”‚ β”œβ”€β”€ Movement_AbsoluteRMS.txt
β”‚ β”œβ”€β”€ Movement_RelativeRMS.txt
β”‚ β”œβ”€β”€ rfMRI_REST1_AP.nii.gz
β”‚ β”œβ”€β”€ rfMRI_REST1_AP_Atlas.dtseries.nii
β”‚ └── rfMRI_REST1_AP_SBRef.nii.gz
β”‚
└── rfMRI_REST1_PA/
β”œβ”€β”€ brainmask_fs.2.nii.gz
β”œβ”€β”€ Movement_Regressors.txt
β”œβ”€β”€ Movement_AbsoluteRMS.txt
β”œβ”€β”€ Movement_RelativeRMS.txt
β”œβ”€β”€ rfMRI_REST1_PA.nii.gz
β”œβ”€β”€ rfMRI_REST1_PA_Atlas.dtseries.nii
└── rfMRI_REST1_PA_SBRef.nii.gz

```

The functional CIFTI files are named as:

MNINonLinear/Results/rfMRI_REST1_AP/rfMRI_REST1_AP_Atlas.dtseries.nii
MNINonLinear/Results/rfMRI_REST1_PA/rfMRI_REST1_PA_Atlas.dtseries.nii

rather than HCP-YA-style files such as:

rfMRI_REST1_LR_Atlas_MSMAll.dtseries.nii
rfMRI_REST1_RL_Atlas_MSMAll.dtseries.nii

Hi @RuiWang,

That’s close but those minor name differences will likely cause it to fail. As a test, can you copy one subject’s folder and change the AP/PA to LR/RL so it matches the original HCP?

Best,

Steven

Thank you very much, Steven.

I tested your suggestion by copying one CHCP subject folder and renaming the AP/PA runs to match the original HCP-style LR/RL naming.

Specifically, I renamed:

rfMRI_REST1_AP β†’ rfMRI_REST1_LR
rfMRI_REST1_PA β†’ rfMRI_REST1_RL

and updated the corresponding filenames inside each run folder accordingly. After this change, XCP-D was able to detect the fsLR CIFTI BOLD files and the workflow could run successfully.

This suggests that XCP-D is also suitable for post-processing CHCP HCP-style preprocessed data, provided that the file organization and naming are made compatible with the expected HCP-style format.

Thank you again for your help!

Best,
Rui

1 Like