From 5a856ec3b4ebf184c1cc1698ce15998cceb7c967 Mon Sep 17 00:00:00 2001 From: Taylor Salo Date: Wed, 13 Sep 2023 14:53:52 -0400 Subject: [PATCH 1/4] Replace Schaefer atlases with AtlasPack (#928) --- .circleci/config.yml | 2 +- Dockerfile | 2 +- docs/links.rst | 2 + docs/outputs.rst | 41 +- docs/workflows.rst | 9 +- ...8v0143_desc-1000Parcels17Networks_dseg.tsv | 1001 ----------------- ...18v0143_desc-100Parcels17Networks_dseg.tsv | 101 -- ...18v0143_desc-200Parcels17Networks_dseg.tsv | 201 ---- ...18v0143_desc-300Parcels17Networks_dseg.tsv | 301 ----- ...18v0143_desc-400Parcels17Networks_dseg.tsv | 401 ------- ...18v0143_desc-500Parcels17Networks_dseg.tsv | 501 --------- ...18v0143_desc-600Parcels17Networks_dseg.tsv | 601 ---------- ...18v0143_desc-700Parcels17Networks_dseg.tsv | 701 ------------ ...18v0143_desc-800Parcels17Networks_dseg.tsv | 801 ------------- ...18v0143_desc-900Parcels17Networks_dseg.tsv | 901 --------------- ...pl-MNI152NLin6Asym_atlas-Glasser_dseg.json | 25 + ...tpl-MNI152NLin6Asym_atlas-Gordon_dseg.json | 25 + ...> tpl-MNI152NLin6Asym_atlas-HCP_dseg.json} | 7 + ...-02_desc-1000Parcels17Networks_dseg.nii.gz | Bin 87352 -> 0 bytes ...s-02_desc-100Parcels17Networks_dseg.nii.gz | Bin 52560 -> 0 bytes ...s-02_desc-200Parcels17Networks_dseg.nii.gz | Bin 59743 -> 0 bytes ...s-02_desc-300Parcels17Networks_dseg.nii.gz | Bin 64886 -> 0 bytes ...s-02_desc-400Parcels17Networks_dseg.nii.gz | Bin 69550 -> 0 bytes ...s-02_desc-500Parcels17Networks_dseg.nii.gz | Bin 72614 -> 0 bytes ...s-02_desc-600Parcels17Networks_dseg.nii.gz | Bin 76459 -> 0 bytes ...s-02_desc-700Parcels17Networks_dseg.nii.gz | Bin 79826 -> 0 bytes ...s-02_desc-800Parcels17Networks_dseg.nii.gz | Bin 82412 -> 0 bytes ...s-02_desc-900Parcels17Networks_dseg.nii.gz | Bin 84849 -> 0 bytes .../tpl-MNI152NLin6Asym_atlas-Tian_dseg.json | 25 + .../atlases/tpl-fsLR_atlas-Glasser_dseg.json | 19 + .../atlases/tpl-fsLR_atlas-Gordon_dseg.json | 19 + ...dseg.json => tpl-fsLR_atlas-HCP_dseg.json} | 0 ...desc-1000Parcels17Networks_dseg.dlabel.nii | Bin 761632 -> 0 bytes ..._desc-100Parcels17Networks_dseg.dlabel.nii | Bin 643728 -> 0 bytes ..._desc-200Parcels17Networks_dseg.dlabel.nii | Bin 656832 -> 0 bytes ..._desc-300Parcels17Networks_dseg.dlabel.nii | Bin 669904 -> 0 bytes ..._desc-400Parcels17Networks_dseg.dlabel.nii | Bin 683072 -> 0 bytes ..._desc-500Parcels17Networks_dseg.dlabel.nii | Bin 695936 -> 0 bytes ..._desc-600Parcels17Networks_dseg.dlabel.nii | Bin 709136 -> 0 bytes ..._desc-700Parcels17Networks_dseg.dlabel.nii | Bin 722176 -> 0 bytes ..._desc-800Parcels17Networks_dseg.dlabel.nii | Bin 735360 -> 0 bytes ..._desc-900Parcels17Networks_dseg.dlabel.nii | Bin 748528 -> 0 bytes .../atlases/tpl-fsLR_atlas-Tian_dseg.json | 18 + xcp_d/data/boilerplate.bib | 39 + xcp_d/interfaces/connectivity.py | 23 +- .../data/test_ds001419_cifti_outputs.txt | 368 +++--- .../data/test_ds001419_nifti_outputs.txt | 444 ++++---- ...st_fmriprep_without_freesurfer_outputs.txt | 208 ++-- xcp_d/tests/data/test_nibabies_outputs.txt | 148 ++- xcp_d/tests/data/test_pnc_cifti_outputs.txt | 252 +++-- .../data/test_pnc_cifti_t2wonly_outputs.txt | 252 +++-- xcp_d/tests/data/test_pnc_nifti_outputs.txt | 292 ++--- xcp_d/tests/test_utils_atlas.py | 16 +- xcp_d/tests/test_workflows_connectivity.py | 14 +- xcp_d/utils/atlas.py | 110 +- xcp_d/utils/doc.py | 6 +- xcp_d/workflows/connectivity.py | 89 +- 57 files changed, 1476 insertions(+), 6489 deletions(-) delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-1000Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-100Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-200Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-300Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-400Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-500Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-600Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-700Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-800Parcels17Networks_dseg.tsv delete mode 100644 xcp_d/data/atlases/atlas-Schaefer2018v0143_desc-900Parcels17Networks_dseg.tsv create mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Glasser_dseg.json create mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Gordon_dseg.json rename xcp_d/data/atlases/{tpl-MNI152NLin6Asym_atlas-HCP_res-02_dseg.json => tpl-MNI152NLin6Asym_atlas-HCP_dseg.json} (91%) delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-1000Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-100Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-200Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-300Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-400Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-500Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-600Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-700Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-800Parcels17Networks_dseg.nii.gz delete mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Schaefer2018v0143_res-02_desc-900Parcels17Networks_dseg.nii.gz create mode 100644 xcp_d/data/atlases/tpl-MNI152NLin6Asym_atlas-Tian_dseg.json create mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Glasser_dseg.json create mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Gordon_dseg.json rename xcp_d/data/atlases/{tpl-fsLR_atlas-HCP_den-32k_dseg.json => tpl-fsLR_atlas-HCP_dseg.json} (100%) delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-1000Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-100Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-200Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-300Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-400Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-500Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-600Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-700Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-800Parcels17Networks_dseg.dlabel.nii delete mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Schaefer2018v0143_den-32k_desc-900Parcels17Networks_dseg.dlabel.nii create mode 100644 xcp_d/data/atlases/tpl-fsLR_atlas-Tian_dseg.json diff --git a/.circleci/config.yml b/.circleci/config.yml index a90f6f955..d260498de 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,7 +5,7 @@ orbs: .dockersetup: &dockersetup docker: - - image: pennlinc/xcp_d_build:0.0.6rc15 + - image: pennlinc/xcp_d_build:0.0.7 working_directory: /src/xcp_d runinstall: diff --git a/Dockerfile b/Dockerfile index 66fc65876..b8d503252 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM pennlinc/xcp_d_build:0.0.6rc15 +FROM pennlinc/xcp_d_build:0.0.7 # Install xcp_d COPY . /src/xcp_d diff --git a/docs/links.rst b/docs/links.rst index 2193dcdbc..6f5222391 100644 --- a/docs/links.rst +++ b/docs/links.rst @@ -10,3 +10,5 @@ .. _`Docker installation`: https://docs.docker.com/install/ .. _`Docker Hub`: https://hub.docker.com/r/pennlinc/xcp_d/tags .. _`Singularity`: https://sylabs.io/guides/3.5/user-guide/introduction.html +.. _`QSIPrep`: https://qsiprep.readthedocs.io +.. _`ASLPrep`: https://aslprep.readthedocs.io diff --git a/docs/outputs.rst b/docs/outputs.rst index ccf1b29be..fa6b0bb69 100644 --- a/docs/outputs.rst +++ b/docs/outputs.rst @@ -5,16 +5,16 @@ Outputs of *XCP-D* ################## -The ``xcp_d`` outputs are written out in BIDS format and consist of three main parts. +The *XCP-D* outputs are written out in BIDS format and consist of three main parts. .. admonition:: A note on BIDS compliance - ``xcp_d`` attempts to follow the BIDS specification as best as possible. - However, many ``xcp_d`` derivatives are not currently covered by the specification. + *XCP-D* attempts to follow the BIDS specification as best as possible. + However, many *XCP-D* derivatives are not currently covered by the specification. In those instances, we attempt to follow recommendations from existing BIDS Extension Proposals (BEPs), which are in-progress proposals to add new features to BIDS. - Three BEPs that are of particular use in ``xcp_d`` are + Three BEPs that are of particular use in *XCP-D* are `BEP012: Functional preprocessing derivatives `_, `BEP017: BIDS connectivity matrix data schema `_, and @@ -24,8 +24,8 @@ The ``xcp_d`` outputs are written out in BIDS format and consist of three main In cases where a derivative type is not covered by an existing BEP, we have simply attempted to follow the general principles of BIDS. - If you discover a problem with the BIDS compliance of ``xcp_d``'s derivatives, please open an - issue in the ``xcp_d`` repository. + If you discover a problem with the BIDS compliance of *XCP-D*'s derivatives, please open an + issue in the *XCP-D* repository. *************** @@ -44,6 +44,33 @@ The executive summary is based on the DCAN lab's sub-