Summary of what happened:
Dear experts,
I’m using the 4S1056 atlas distributed with XCP-D and noticed that two parcels seem to have no vertices assigned:
-
RH_Vis_33(label key533) -
RH_Cont_Cing_1(label key903)
I first noticed this because the corresponding columns in the XCP-D timeseries TSV files are entirely NaN for every run, every subject, and every preprocessing pipeline that I tested.
To investigate further, I checked the atlas itself.
The labels are present in the atlas label table (e.g., via wb_command -file-information):
533 7Networks_RH_Vis_33
903 7Networks_RH_Cont_Cing_1
However, when I load the atlas in Python and count the number of vertices assigned to each label,
import nibabel as nib
import numpy as np
atlas = nib.load(
"atlas-4S1056Parcels_space-fsLR_den-91k_dseg.dlabel.nii"
)
data = atlas.get_fdata().squeeze()
print(np.sum(data == 533))
print(np.sum(data == 903))
I obtain
0
0
In other words, the labels exist in the label table, but no vertices in the atlas appear to be assigned to either label. This seems consistent with XCP-D producing all-NaN timeseries for these two parcels across all subjects and pipelines that I tested.
Is this expected for the 4S1056 atlas? Are these parcels intentionally empty (for example because they disappeared during resampling to fsLR-91k), or does this indicate an issue with the atlas distributed with XCP-D?
Thank you for your help!
Nadza
Command used (and if a helper script was used, a link to the helper script or the command generated):
docker run --rm \
-v "/ASDPrecision/":/project:ro \
-v "/ASDPrecision/data/bids/derivatives/xcpd_multiverse/censor_24Pacompcor_sm0_bandpass":/out:rw \
-v "/ASDPrecision/data/license.txt":/opt/freesurfer/license.txt \
pennlinc/xcp_d:26.0.2 \
/project/data/bids/derivatives/fmriprep /out participant \
--participant-label sub-001 \
--combine-runs n \
--mode none \
--datasets custom=/project/data/bids/derivatives/custom_confounds/24Pacompcor --nuisance-regressors /project/data/bids/derivatives/custom_confounds/24Pacompcor.yaml \
--despike n --fd-thresh 0.3 \
--lower-bpf 0.01 --upper-bpf 0.08 \
--smoothing 0 \
--abcc-qc n \
--file-format cifti \
--input-type fmriprep \
--linc-qc y \
--min-coverage 0.5 \
--motion-filter-type none \
--output-run-wise-correlation n \
--output-type censored \
--warp-surfaces-native2std n \
--fs-license-file /opt/freesurfer/license.txt
Version:
26.0.2
Environment (Docker, Singularity / Apptainer, custom installation):
Docker
Data formatted according to a validatable standard? Please provide the output of the validator:
BIDS
PASTE VALIDATOR OUTPUT HERE
Relevant log outputs (up to 20 lines):
PASTE LOG OUTPUT HERE