diff --git a/docs/changes/newsfragments/325.change b/docs/changes/newsfragments/325.change new file mode 100644 index 000000000..2d7f7facc --- /dev/null +++ b/docs/changes/newsfragments/325.change @@ -0,0 +1 @@ +Change the subject and session patterns for :class:`.DataladAOMICID1000`, :class:`.DataladAOMICPIOP1`, :class:`.DataladAOMICPIOP2` and :class:`.DMCC13Benchmark` so that they are consistent with their own ``"participants.tsv"`` file by `Fede Raimondo`_ diff --git a/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py b/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py index 6b0898dee..d1f045594 100644 --- a/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +++ b/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py @@ -33,7 +33,7 @@ def __init__(self, datadir: Union[str, Path, None] = None) -> None: patterns = { "VBM_GM": { "pattern": ( - "sub-{subject}/mri/mwp1sub-{subject}_run-2_T1w.nii.gz" + "{subject}/mri/mwp1{subject}_run-2_T1w.nii.gz" ), "space": "IXI549Space", }, diff --git a/junifer/configs/juseless/datagrabbers/camcan_vbm.py b/junifer/configs/juseless/datagrabbers/camcan_vbm.py index abd19c537..101cf02e0 100644 --- a/junifer/configs/juseless/datagrabbers/camcan_vbm.py +++ b/junifer/configs/juseless/datagrabbers/camcan_vbm.py @@ -36,7 +36,7 @@ def __init__(self, datadir: Union[str, Path, None] = None) -> None: replacements = ["subject"] patterns = { "VBM_GM": { - "pattern": "sub-{subject}/mri/m0wp1sub-{subject}.nii.gz", + "pattern": "{subject}/mri/m0wp1{subject}.nii.gz", "space": "IXI549Space", }, } diff --git a/junifer/configs/juseless/datagrabbers/ixi_vbm.py b/junifer/configs/juseless/datagrabbers/ixi_vbm.py index a89afa784..5b149d251 100644 --- a/junifer/configs/juseless/datagrabbers/ixi_vbm.py +++ b/junifer/configs/juseless/datagrabbers/ixi_vbm.py @@ -45,7 +45,7 @@ def __init__( patterns = { "VBM_GM": { "pattern": ( - "{site}/sub-{subject}/mri/m0wp1sub-{subject}.nii.gz" + "{site}/{subject}/mri/m0wp1{subject}.nii.gz" ), "space": "IXI549Space", }, diff --git a/junifer/configs/juseless/datagrabbers/ucla.py b/junifer/configs/juseless/datagrabbers/ucla.py index 1b5b3fd15..ea6f20fca 100644 --- a/junifer/configs/juseless/datagrabbers/ucla.py +++ b/junifer/configs/juseless/datagrabbers/ucla.py @@ -72,42 +72,42 @@ def __init__( patterns = { "BOLD": { "pattern": ( - "sub-{subject}/func/sub-{subject}_task-{task}_bold_space-" + "{subject}/func/{subject}_task-{task}_bold_space-" "MNI152NLin2009cAsym_preproc.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "BOLD_confounds": { "pattern": ( - "sub-{subject}/func/sub-{subject}_" + "{subject}/func/{subject}_" "task-{task}_bold_confounds.tsv" ), "space": "fmriprep", }, "T1w": { "pattern": ( - "sub-{subject}/anat/sub-{subject}_" + "{subject}/anat/{subject}_" "T1w_space-MNI152NLin2009cAsym_preproc.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_CSF": { "pattern": ( - "sub-{subject}/anat/sub-{subject}_T1w_space-" + "{subject}/anat/{subject}_T1w_space-" "MNI152NLin2009cAsym_class-CSF_probtissue.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_GM": { "pattern": ( - "sub-{subject}/anat/sub-{subject}_T1w_space-" + "{subject}/anat/{subject}_T1w_space-" "MNI152NLin2009cAsym_class-GM_probtissue.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_WM": { "pattern": ( - "sub-{subject}/anat/sub-{subject}_T1w_space" + "{subject}/anat/{subject}_T1w_space" "-MNI152NLin2009cAsym_class-WM_probtissue.nii.gz" ), "space": "MNI152NLin2009cAsym", diff --git a/junifer/configs/juseless/datagrabbers/ukb_vbm.py b/junifer/configs/juseless/datagrabbers/ukb_vbm.py index 3d4cf23e5..981a17583 100644 --- a/junifer/configs/juseless/datagrabbers/ukb_vbm.py +++ b/junifer/configs/juseless/datagrabbers/ukb_vbm.py @@ -34,7 +34,7 @@ def __init__(self, datadir: Union[str, Path, None] = None) -> None: replacements = ["subject", "session"] patterns = { "VBM_GM": { - "pattern": "m0wp1sub-{subject}_ses-{session}_T1w.nii.gz", + "pattern": "m0wp1{subject}_ses-{session}_T1w.nii.gz", "space": "IXI549Space", }, } diff --git a/junifer/data/tests/test_masks.py b/junifer/data/tests/test_masks.py index ddf448618..187f26ef3 100644 --- a/junifer/data/tests/test_masks.py +++ b/junifer/data/tests/test_masks.py @@ -96,14 +96,14 @@ def test_compute_brain_mask_for_native(mask_type: str) -> None: """ with DMCC13Benchmark( types=["BOLD"], - sessions=["wave1bas"], + sessions=["ses-wave1bas"], tasks=["Rest"], phase_encodings=["AP"], runs=["1"], native_t1w=True, ) as dg: element_data = DefaultDataReader().fit_transform( - dg[("f1031ax", "wave1bas", "Rest", "AP", "1")] + dg[("sub-f1031ax", "ses-wave1bas", "Rest", "AP", "1")] ) mask = compute_brain_mask( target_data=element_data["BOLD"], diff --git a/junifer/datagrabber/aomic/id1000.py b/junifer/datagrabber/aomic/id1000.py index ba6d0cd42..09e20e58e 100644 --- a/junifer/datagrabber/aomic/id1000.py +++ b/junifer/datagrabber/aomic/id1000.py @@ -43,8 +43,8 @@ def __init__( patterns = { "BOLD": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-moviewatching_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-moviewatching_" "space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz" ), "space": "MNI152NLin2009cAsym", @@ -52,16 +52,16 @@ def __init__( }, "BOLD_confounds": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-moviewatching_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-moviewatching_" "desc-confounds_regressors.tsv" ), "format": "fmriprep", }, "BOLD_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-moviewatching_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-moviewatching_" "space-MNI152NLin2009cAsym_" "desc-brain_mask.nii.gz" ), @@ -69,8 +69,8 @@ def __init__( }, "T1w": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_" "desc-preproc_T1w.nii.gz" ), "space": "MNI152NLin2009cAsym", @@ -78,40 +78,40 @@ def __init__( }, "T1w_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_" "desc-brain_mask.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_CSF": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "CSF_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_GM": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "GM_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_WM": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "WM_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "DWI": { "pattern": ( - "derivatives/dwipreproc/sub-{subject}/dwi/" - "sub-{subject}_desc-preproc_dwi.nii.gz" + "derivatives/dwipreproc/{subject}/dwi/" + "{subject}_desc-preproc_dwi.nii.gz" ), }, } @@ -123,23 +123,23 @@ def __init__( { "T1w": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_desc-preproc_T1w.nii.gz" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_desc-preproc_T1w.nii.gz" ), "space": "native", "mask_item": "T1w_mask", }, "T1w_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_desc-brain_mask.nii.gz" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_desc-brain_mask.nii.gz" ), "space": "native", }, "Warp": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_from-MNI152NLin2009cAsym_to-T1w_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_from-MNI152NLin2009cAsym_to-T1w_" "mode-image_xfm.h5" ), "src": "MNI152NLin2009cAsym", diff --git a/junifer/datagrabber/aomic/piop1.py b/junifer/datagrabber/aomic/piop1.py index 1b6ed8281..d98f24214 100644 --- a/junifer/datagrabber/aomic/piop1.py +++ b/junifer/datagrabber/aomic/piop1.py @@ -79,8 +79,8 @@ def __init__( patterns = { "BOLD": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-{task}_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-{task}_" "space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz" ), "space": "MNI152NLin2009cAsym", @@ -88,24 +88,24 @@ def __init__( }, "BOLD_confounds": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-{task}_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-{task}_" "desc-confounds_regressors.tsv" ), "format": "fmriprep", }, "BOLD_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-{task}_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-{task}_" "space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "T1w": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_" "desc-preproc_T1w.nii.gz" ), "space": "MNI152NLin2009cAsym", @@ -113,40 +113,40 @@ def __init__( }, "T1w_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_" "desc-brain_mask.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_CSF": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "CSF_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_GM": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "GM_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_WM": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "WM_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "DWI": { "pattern": ( - "derivatives/dwipreproc/sub-{subject}/dwi/" - "sub-{subject}_desc-preproc_dwi.nii.gz" + "derivatives/dwipreproc/{subject}/dwi/" + "{subject}_desc-preproc_dwi.nii.gz" ), }, } @@ -158,23 +158,23 @@ def __init__( { "T1w": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_desc-preproc_T1w.nii.gz" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_desc-preproc_T1w.nii.gz" ), "space": "native", "mask_item": "T1w_mask", }, "T1w_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_desc-brain_mask.nii.gz" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_desc-brain_mask.nii.gz" ), "space": "native", }, "Warp": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_from-MNI152NLin2009cAsym_to-T1w_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_from-MNI152NLin2009cAsym_to-T1w_" "mode-image_xfm.h5" ), "src": "MNI152NLin2009cAsym", @@ -242,7 +242,7 @@ def get_elements(self) -> List: The list of subjects in the dataset. """ - subjects = [f"{x:04d}" for x in range(1, 217)] + subjects = [f"sub-{x:04d}" for x in range(1, 217)] elems = [] for subject, task in product(subjects, self.tasks): elems.append((subject, task)) diff --git a/junifer/datagrabber/aomic/piop2.py b/junifer/datagrabber/aomic/piop2.py index 593b4709c..20a96192b 100644 --- a/junifer/datagrabber/aomic/piop2.py +++ b/junifer/datagrabber/aomic/piop2.py @@ -76,8 +76,8 @@ def __init__( patterns = { "BOLD": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-{task}_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-{task}_" "space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz" ), "space": "MNI152NLin2009cAsym", @@ -85,24 +85,24 @@ def __init__( }, "BOLD_confounds": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-{task}_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-{task}_" "desc-confounds_regressors.tsv" ), "format": "fmriprep", }, "BOLD_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/func/" - "sub-{subject}_task-{task}_" + "derivatives/fmriprep/{subject}/func/" + "{subject}_task-{task}_" "space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "T1w": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_" "desc-preproc_T1w.nii.gz" ), "space": "MNI152NLin2009cAsym", @@ -110,40 +110,40 @@ def __init__( }, "T1w_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_" "desc-brain_mask.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_CSF": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "CSF_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_GM": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "GM_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_WM": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-" "WM_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "DWI": { "pattern": ( - "derivatives/dwipreproc/sub-{subject}/dwi/" - "sub-{subject}_desc-preproc_dwi.nii.gz" + "derivatives/dwipreproc/{subject}/dwi/" + "{subject}_desc-preproc_dwi.nii.gz" ), }, } @@ -155,23 +155,23 @@ def __init__( { "T1w": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_desc-preproc_T1w.nii.gz" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_desc-preproc_T1w.nii.gz" ), "space": "native", "mask_item": "T1w_mask", }, "T1w_mask": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_desc-brain_mask.nii.gz" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_desc-brain_mask.nii.gz" ), "space": "native", }, "Warp": { "pattern": ( - "derivatives/fmriprep/sub-{subject}/anat/" - "sub-{subject}_from-MNI152NLin2009cAsym_to-T1w_" + "derivatives/fmriprep/{subject}/anat/" + "{subject}_from-MNI152NLin2009cAsym_to-T1w_" "mode-image_xfm.h5" ), "src": "MNI152NLin2009cAsym", @@ -208,7 +208,7 @@ def get_elements(self) -> List: imposing constraints based on specified tasks. """ - subjects = [f"{x:04d}" for x in range(1, 227)] + subjects = [f"sub-{x:04d}" for x in range(1, 227)] elems = [] for subject, task in product(subjects, self.tasks): elems.append((subject, task)) diff --git a/junifer/datagrabber/aomic/tests/test_id1000.py b/junifer/datagrabber/aomic/tests/test_id1000.py index 115cc2b27..b797cfcc4 100644 --- a/junifer/datagrabber/aomic/tests/test_id1000.py +++ b/junifer/datagrabber/aomic/tests/test_id1000.py @@ -34,7 +34,7 @@ def test_DataladAOMICID1000() -> None: assert ( out["BOLD"]["path"].name - == f"sub-{test_element}_task-moviewatching_" + == f"{test_element}_task-moviewatching_" "space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz" ) @@ -46,7 +46,7 @@ def test_DataladAOMICID1000() -> None: assert ( out["BOLD_confounds"]["path"].name - == f"sub-{test_element}_task-moviewatching_" + == f"{test_element}_task-moviewatching_" "desc-confounds_regressors.tsv" ) @@ -61,7 +61,7 @@ def test_DataladAOMICID1000() -> None: assert ( out["T1w"]["path"].name - == f"sub-{test_element}_space-MNI152NLin2009cAsym_" + == f"{test_element}_space-MNI152NLin2009cAsym_" "desc-preproc_T1w.nii.gz" ) @@ -76,7 +76,7 @@ def test_DataladAOMICID1000() -> None: assert ( out["VBM_CSF"]["path"].name - == f"sub-{test_element}_space-MNI152NLin2009cAsym_label-" + == f"{test_element}_space-MNI152NLin2009cAsym_label-" "CSF_probseg.nii.gz" ) @@ -88,7 +88,7 @@ def test_DataladAOMICID1000() -> None: assert ( out["VBM_GM"]["path"].name - == f"sub-{test_element}_space-MNI152NLin2009cAsym_label-" + == f"{test_element}_space-MNI152NLin2009cAsym_label-" "GM_probseg.nii.gz" ) @@ -100,7 +100,7 @@ def test_DataladAOMICID1000() -> None: assert ( out["VBM_WM"]["path"].name - == f"sub-{test_element}_space-MNI152NLin2009cAsym_label-" + == f"{test_element}_space-MNI152NLin2009cAsym_label-" "WM_probseg.nii.gz" ) @@ -112,7 +112,7 @@ def test_DataladAOMICID1000() -> None: assert ( out["DWI"]["path"].name - == f"sub-{test_element}_desc-preproc_dwi.nii.gz" + == f"{test_element}_desc-preproc_dwi.nii.gz" ) assert out["DWI"]["path"].exists() diff --git a/junifer/datagrabber/aomic/tests/test_piop1.py b/junifer/datagrabber/aomic/tests/test_piop1.py index 2ec980772..fc4f864f2 100644 --- a/junifer/datagrabber/aomic/tests/test_piop1.py +++ b/junifer/datagrabber/aomic/tests/test_piop1.py @@ -56,7 +56,7 @@ def test_DataladAOMICPIOP1(tasks: Optional[str]) -> None: acq = task_acqs[task] new_task = f"{task}_acq-{acq}" assert ( - out["BOLD"]["path"].name == f"sub-{sub}_task-{new_task}_" + out["BOLD"]["path"].name == f"{sub}_task-{new_task}_" "space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz" ) @@ -67,7 +67,7 @@ def test_DataladAOMICPIOP1(tasks: Optional[str]) -> None: assert "BOLD_confounds" in out assert ( - out["BOLD_confounds"]["path"].name == f"sub-{sub}_task-{new_task}_" + out["BOLD_confounds"]["path"].name == f"{sub}_task-{new_task}_" "desc-confounds_regressors.tsv" ) @@ -81,7 +81,7 @@ def test_DataladAOMICPIOP1(tasks: Optional[str]) -> None: assert "T1w" in out assert ( - out["T1w"]["path"].name == f"sub-{sub}_space-MNI152NLin2009cAsym_" + out["T1w"]["path"].name == f"{sub}_space-MNI152NLin2009cAsym_" "desc-preproc_T1w.nii.gz" ) @@ -96,7 +96,7 @@ def test_DataladAOMICPIOP1(tasks: Optional[str]) -> None: assert ( out["VBM_CSF"]["path"].name - == f"sub-{sub}_space-MNI152NLin2009cAsym_label-" + == f"{sub}_space-MNI152NLin2009cAsym_label-" "CSF_probseg.nii.gz" ) @@ -108,7 +108,7 @@ def test_DataladAOMICPIOP1(tasks: Optional[str]) -> None: assert ( out["VBM_GM"]["path"].name - == f"sub-{sub}_space-MNI152NLin2009cAsym_label-" + == f"{sub}_space-MNI152NLin2009cAsym_label-" "GM_probseg.nii.gz" ) @@ -120,7 +120,7 @@ def test_DataladAOMICPIOP1(tasks: Optional[str]) -> None: assert ( out["VBM_WM"]["path"].name - == f"sub-{sub}_space-MNI152NLin2009cAsym_label-" + == f"{sub}_space-MNI152NLin2009cAsym_label-" "WM_probseg.nii.gz" ) @@ -130,7 +130,7 @@ def test_DataladAOMICPIOP1(tasks: Optional[str]) -> None: # asserts type "DWI" assert "DWI" in out - assert out["DWI"]["path"].name == f"sub-{sub}_desc-preproc_dwi.nii.gz" + assert out["DWI"]["path"].name == f"{sub}_desc-preproc_dwi.nii.gz" assert out["DWI"]["path"].exists() assert out["DWI"]["path"].is_file() diff --git a/junifer/datagrabber/aomic/tests/test_piop2.py b/junifer/datagrabber/aomic/tests/test_piop2.py index 252009f15..cd8ffae56 100644 --- a/junifer/datagrabber/aomic/tests/test_piop2.py +++ b/junifer/datagrabber/aomic/tests/test_piop2.py @@ -50,7 +50,7 @@ def test_DataladAOMICPIOP2(tasks: Optional[str]) -> None: new_task = f"{task}_acq-seq" assert ( - out["BOLD"]["path"].name == f"sub-{sub}_task-{new_task}_" + out["BOLD"]["path"].name == f"{sub}_task-{new_task}_" "space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz" ) @@ -61,7 +61,7 @@ def test_DataladAOMICPIOP2(tasks: Optional[str]) -> None: assert "BOLD_confounds" in out assert ( - out["BOLD_confounds"]["path"].name == f"sub-{sub}_task-{new_task}_" + out["BOLD_confounds"]["path"].name == f"{sub}_task-{new_task}_" "desc-confounds_regressors.tsv" ) @@ -75,7 +75,7 @@ def test_DataladAOMICPIOP2(tasks: Optional[str]) -> None: assert "T1w" in out assert ( - out["T1w"]["path"].name == f"sub-{sub}_space-MNI152NLin2009cAsym_" + out["T1w"]["path"].name == f"{sub}_space-MNI152NLin2009cAsym_" "desc-preproc_T1w.nii.gz" ) @@ -90,7 +90,7 @@ def test_DataladAOMICPIOP2(tasks: Optional[str]) -> None: assert ( out["VBM_CSF"]["path"].name - == f"sub-{sub}_space-MNI152NLin2009cAsym_label-" + == f"{sub}_space-MNI152NLin2009cAsym_label-" "CSF_probseg.nii.gz" ) @@ -102,7 +102,7 @@ def test_DataladAOMICPIOP2(tasks: Optional[str]) -> None: assert ( out["VBM_GM"]["path"].name - == f"sub-{sub}_space-MNI152NLin2009cAsym_label-" + == f"{sub}_space-MNI152NLin2009cAsym_label-" "GM_probseg.nii.gz" ) @@ -114,7 +114,7 @@ def test_DataladAOMICPIOP2(tasks: Optional[str]) -> None: assert ( out["VBM_WM"]["path"].name - == f"sub-{sub}_space-MNI152NLin2009cAsym_label-" + == f"{sub}_space-MNI152NLin2009cAsym_label-" "WM_probseg.nii.gz" ) @@ -124,7 +124,7 @@ def test_DataladAOMICPIOP2(tasks: Optional[str]) -> None: # asserts type "DWI" assert "DWI" in out - assert out["DWI"]["path"].name == f"sub-{sub}_desc-preproc_dwi.nii.gz" + assert out["DWI"]["path"].name == f"{sub}_desc-preproc_dwi.nii.gz" assert out["DWI"]["path"].exists() assert out["DWI"]["path"].is_file() diff --git a/junifer/datagrabber/dmcc13_benchmark.py b/junifer/datagrabber/dmcc13_benchmark.py index f3c5fb69b..dd179ef26 100644 --- a/junifer/datagrabber/dmcc13_benchmark.py +++ b/junifer/datagrabber/dmcc13_benchmark.py @@ -29,8 +29,8 @@ class DMCC13Benchmark(PatternDataladDataGrabber): "VBM_WM"} or a list of the options, optional DMCC data types. If None, all available data types are selected. (default None). - sessions: {"wave1bas", "wave1pro", "wave1rea"} or list of the options, \ - optional + sessions: {"ses-wave1bas", "ses-wave1pro", "ses-wave1rea"} or list of \ + the options, optional DMCC sessions. If None, all available sessions are selected (default None). tasks: {"Rest", "Axcpt", "Cuedts", "Stern", "Stroop"} or \ @@ -68,9 +68,9 @@ def __init__( ) -> None: # Declare all sessions all_sessions = [ - "wave1bas", - "wave1pro", - "wave1rea", + "ses-wave1bas", + "ses-wave1pro", + "ses-wave1rea", ] # Set default sessions if sessions is None: @@ -141,8 +141,8 @@ def __init__( patterns = { "BOLD": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/ses-{session}/" - "func/sub-{subject}_ses-{session}_task-{task}_acq-mb4" + "derivatives/fmriprep-1.3.2/{subject}/{session}/" + "func/{subject}_{session}_task-{task}_acq-mb4" "{phase_encoding}_run-{run}_" "space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz" ), @@ -151,16 +151,16 @@ def __init__( }, "BOLD_confounds": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/ses-{session}/" - "func/sub-{subject}_ses-{session}_task-{task}_acq-mb4" + "derivatives/fmriprep-1.3.2/{subject}/{session}/" + "func/{subject}_{session}_task-{task}_acq-mb4" "{phase_encoding}_run-{run}_desc-confounds_regressors.tsv" ), "format": "fmriprep", }, "BOLD_mask": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/ses-{session}/" - "/func/sub-{subject}_ses-{session}_task-{task}_acq-mb4" + "derivatives/fmriprep-1.3.2/{subject}/{session}/" + "/func/{subject}_{session}_task-{task}_acq-mb4" "{phase_encoding}_run-{run}_" "space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz" ), @@ -168,37 +168,37 @@ def __init__( }, "T1w": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_desc-preproc_T1w.nii.gz" + "derivatives/fmriprep-1.3.2/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_desc-preproc_T1w.nii.gz" ), "space": "MNI152NLin2009cAsym", "mask_item": "T1w_mask", }, "T1w_mask": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz" + "derivatives/fmriprep-1.3.2/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_CSF": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-CSF_probseg.nii.gz" + "derivatives/fmriprep-1.3.2/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-CSF_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_GM": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-GM_probseg.nii.gz" + "derivatives/fmriprep-1.3.2/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-GM_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, "VBM_WM": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/anat/" - "sub-{subject}_space-MNI152NLin2009cAsym_label-WM_probseg.nii.gz" + "derivatives/fmriprep-1.3.2/{subject}/anat/" + "{subject}_space-MNI152NLin2009cAsym_label-WM_probseg.nii.gz" ), "space": "MNI152NLin2009cAsym", }, @@ -211,23 +211,23 @@ def __init__( { "T1w": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/anat/" - "sub-{subject}_desc-preproc_T1w.nii.gz" + "derivatives/fmriprep-1.3.2/{subject}/anat/" + "{subject}_desc-preproc_T1w.nii.gz" ), "space": "native", "mask_item": "T1w_mask", }, "T1w_mask": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/anat/" - "sub-{subject}_desc-brain_mask.nii.gz" + "derivatives/fmriprep-1.3.2/{subject}/anat/" + "{subject}_desc-brain_mask.nii.gz" ), "space": "native", }, "Warp": { "pattern": ( - "derivatives/fmriprep-1.3.2/sub-{subject}/anat/" - "sub-{subject}_from-MNI152NLin2009cAsym_to-T1w_" + "derivatives/fmriprep-1.3.2/{subject}/anat/" + "{subject}_from-MNI152NLin2009cAsym_to-T1w_" "mode-image_xfm.h5" ), "src": "MNI152NLin2009cAsym", @@ -268,7 +268,7 @@ def get_item( ---------- subject : str The subject ID. - session : {"wave1bas", "wave1pro", "wave1rea"} + session : {"ses-wave1bas", "ses-wave1pro", "ses-wave1rea"} The session to get. task : {"Rest", "Axcpt", "Cuedts", "Stern", "Stroop"} The task to get. @@ -323,25 +323,25 @@ def get_elements(self) -> List: """ subjects = [ - "f1031ax", - "f1552xo", - "f1659oa", - "f1670rz", - "f1951tt", - "f3300jh", - "f3720ca", - "f5004cr", - "f5407sl", - "f5416zj", - "f8113do", - "f8570ui", - "f9057kp", + "sub-f1031ax", + "sub-f1552xo", + "sub-f1659oa", + "sub-f1670rz", + "sub-f1951tt", + "sub-f3300jh", + "sub-f3720ca", + "sub-f5004cr", + "sub-f5407sl", + "sub-f5416zj", + "sub-f8113do", + "sub-f8570ui", + "sub-f9057kp", ] elems = [] # For wave1bas session for subject, session, task, phase_encoding in product( subjects, - ["wave1bas"], + ["ses-wave1bas"], self.tasks, self.phase_encodings, ): @@ -350,13 +350,13 @@ def get_elements(self) -> List: else: run = "2" # Bypass for f1951tt not having run 2 for Rest - if subject == "f1951tt" and task == "Rest" and run == "2": + if subject == "sub-f1951tt" and task == "Rest" and run == "2": continue elems.append((subject, session, task, phase_encoding, run)) # For other sessions for subject, session, task, phase_encoding in product( subjects, - ["wave1pro", "wave1rea"], + ["ses-wave1pro", "ses-wave1rea"], ["Rest"], self.phase_encodings, ): @@ -365,7 +365,7 @@ def get_elements(self) -> List: else: run = "2" # Bypass for f5416zj for not having wave1rea session - if subject == "f5416zj" and session == "wave1rea": + if subject == "sub-f5416zj" and session == "ses-wave1rea": continue elems.append((subject, session, task, phase_encoding, run)) diff --git a/junifer/datagrabber/tests/test_dmcc13_benchmark.py b/junifer/datagrabber/tests/test_dmcc13_benchmark.py index 35caa998e..e797ae3f6 100644 --- a/junifer/datagrabber/tests/test_dmcc13_benchmark.py +++ b/junifer/datagrabber/tests/test_dmcc13_benchmark.py @@ -17,34 +17,34 @@ "sessions, tasks, phase_encodings, runs, native_t1w", [ (None, None, None, None, False), - ("wave1bas", "Rest", "AP", "1", False), - ("wave1bas", "Axcpt", "AP", "1", False), - ("wave1bas", "Cuedts", "AP", "1", False), - ("wave1bas", "Stern", "AP", "1", False), - ("wave1bas", "Stroop", "AP", "1", False), - ("wave1bas", "Rest", "PA", "2", False), - ("wave1bas", "Axcpt", "PA", "2", False), - ("wave1bas", "Cuedts", "PA", "2", False), - ("wave1bas", "Stern", "PA", "2", False), - ("wave1bas", "Stroop", "PA", "2", False), - ("wave1bas", "Rest", "AP", "1", True), - ("wave1bas", "Axcpt", "AP", "1", True), - ("wave1bas", "Cuedts", "AP", "1", True), - ("wave1bas", "Stern", "AP", "1", True), - ("wave1bas", "Stroop", "AP", "1", True), - ("wave1bas", "Rest", "PA", "2", True), - ("wave1bas", "Axcpt", "PA", "2", True), - ("wave1bas", "Cuedts", "PA", "2", True), - ("wave1bas", "Stern", "PA", "2", True), - ("wave1bas", "Stroop", "PA", "2", True), - ("wave1pro", "Rest", "AP", "1", False), - ("wave1pro", "Rest", "PA", "2", False), - ("wave1pro", "Rest", "AP", "1", True), - ("wave1pro", "Rest", "PA", "2", True), - ("wave1rea", "Rest", "AP", "1", False), - ("wave1rea", "Rest", "PA", "2", False), - ("wave1rea", "Rest", "AP", "1", True), - ("wave1rea", "Rest", "PA", "2", True), + ("ses-wave1bas", "Rest", "AP", "1", False), + ("ses-wave1bas", "Axcpt", "AP", "1", False), + ("ses-wave1bas", "Cuedts", "AP", "1", False), + ("ses-wave1bas", "Stern", "AP", "1", False), + ("ses-wave1bas", "Stroop", "AP", "1", False), + ("ses-wave1bas", "Rest", "PA", "2", False), + ("ses-wave1bas", "Axcpt", "PA", "2", False), + ("ses-wave1bas", "Cuedts", "PA", "2", False), + ("ses-wave1bas", "Stern", "PA", "2", False), + ("ses-wave1bas", "Stroop", "PA", "2", False), + ("ses-wave1bas", "Rest", "AP", "1", True), + ("ses-wave1bas", "Axcpt", "AP", "1", True), + ("ses-wave1bas", "Cuedts", "AP", "1", True), + ("ses-wave1bas", "Stern", "AP", "1", True), + ("ses-wave1bas", "Stroop", "AP", "1", True), + ("ses-wave1bas", "Rest", "PA", "2", True), + ("ses-wave1bas", "Axcpt", "PA", "2", True), + ("ses-wave1bas", "Cuedts", "PA", "2", True), + ("ses-wave1bas", "Stern", "PA", "2", True), + ("ses-wave1bas", "Stroop", "PA", "2", True), + ("ses-wave1pro", "Rest", "AP", "1", False), + ("ses-wave1pro", "Rest", "PA", "2", False), + ("ses-wave1pro", "Rest", "AP", "1", True), + ("ses-wave1pro", "Rest", "PA", "2", True), + ("ses-wave1rea", "Rest", "AP", "1", False), + ("ses-wave1rea", "Rest", "PA", "2", False), + ("ses-wave1rea", "Rest", "AP", "1", True), + ("ses-wave1rea", "Rest", "PA", "2", True), ], ) def test_DMCC13Benchmark( @@ -88,7 +88,7 @@ def test_DMCC13Benchmark( # Get test element's access values _, ses, task, phase, run = test_element # Access data - out = dg[("01", ses, task, phase, run)] + out = dg[("sub-01", ses, task, phase, run)] # Available data types data_types = [ @@ -108,15 +108,15 @@ def test_DMCC13Benchmark( # Data type file name formats data_file_names = [ ( - f"sub-01_ses-{ses}_task-{task}_acq-mb4{phase}_run-{run}_" + f"sub-01_{ses}_task-{task}_acq-mb4{phase}_run-{run}_" "space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz" ), ( - f"sub-01_ses-{ses}_task-{task}_acq-mb4{phase}_run-{run}_" + f"sub-01_{ses}_task-{task}_acq-mb4{phase}_run-{run}_" "desc-confounds_regressors.tsv" ), ( - f"sub-01_ses-{ses}_task-{task}_acq-mb4{phase}_run-{run}_" + f"sub-01_{ses}_task-{task}_acq-mb4{phase}_run-{run}_" "space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz" ), "sub-01_space-MNI152NLin2009cAsym_label-CSF_probseg.nii.gz", @@ -199,7 +199,7 @@ def test_DMCC13Benchmark_partial_data_access( # Get test element's access values _, ses, task, phase, run = test_element # Access data - out = dg[("01", ses, task, phase, run)] + out = dg[("sub-01", ses, task, phase, run)] # Assert data type if isinstance(types, list): for type_ in types: diff --git a/junifer/preprocess/ants/tests/test_ants_apply_transforms_warper.py b/junifer/preprocess/ants/tests/test_ants_apply_transforms_warper.py index 9b66a327b..bc693bcb3 100644 --- a/junifer/preprocess/ants/tests/test_ants_apply_transforms_warper.py +++ b/junifer/preprocess/ants/tests/test_ants_apply_transforms_warper.py @@ -35,7 +35,7 @@ def test_AntsApplyTransformsWarper_preprocess() -> None: """Test AntsApplyTransformsWarper preprocess.""" with DMCC13Benchmark( types=["BOLD", "T1w", "Warp"], - sessions=["wave1bas"], + sessions=["ses-wave1bas"], tasks=["Rest"], phase_encodings=["AP"], runs=["1"], @@ -43,7 +43,7 @@ def test_AntsApplyTransformsWarper_preprocess() -> None: ) as dg: # Read data element_data = DefaultDataReader().fit_transform( - dg[("f9057kp", "wave1bas", "Rest", "AP", "1")] + dg[("sub-f9057kp", "ses-wave1bas", "Rest", "AP", "1")] ) # Preprocess data data_type, data = _AntsApplyTransformsWarper( diff --git a/junifer/preprocess/tests/test_bold_warper.py b/junifer/preprocess/tests/test_bold_warper.py index dd9cb1103..6f6367e82 100644 --- a/junifer/preprocess/tests/test_bold_warper.py +++ b/junifer/preprocess/tests/test_bold_warper.py @@ -43,13 +43,13 @@ def test_BOLDWarper_get_output_type() -> None: [ DMCC13Benchmark( types=["BOLD", "T1w", "Warp"], - sessions=["wave1bas"], + sessions=["ses-wave1bas"], tasks=["Rest"], phase_encodings=["AP"], runs=["1"], native_t1w=True, ), - ("f9057kp", "wave1bas", "Rest", "AP", "1"), + ("sub-f9057kp", "ses-wave1bas", "Rest", "AP", "1"), ], [ DataladHCP1200( @@ -99,25 +99,25 @@ def test_BOLDWarper_preprocess_to_native( [ DMCC13Benchmark( types=["BOLD"], - sessions=["wave1bas"], + sessions=["ses-wave1bas"], tasks=["Rest"], phase_encodings=["AP"], runs=["1"], native_t1w=False, ), - ("f9057kp", "wave1bas", "Rest", "AP", "1"), + ("sub-f9057kp", "ses-wave1bas", "Rest", "AP", "1"), "MNI152NLin2009aAsym", ], [ DMCC13Benchmark( types=["BOLD"], - sessions=["wave1bas"], + sessions=["ses-wave1bas"], tasks=["Rest"], phase_encodings=["AP"], runs=["1"], native_t1w=False, ), - ("f9057kp", "wave1bas", "Rest", "AP", "1"), + ("sub-f9057kp", "ses-wave1bas", "Rest", "AP", "1"), "MNI152NLin6Asym", ], ], diff --git a/junifer/preprocess/warping/tests/test_space_warper.py b/junifer/preprocess/warping/tests/test_space_warper.py index 1d21d9fae..cb1299ade 100644 --- a/junifer/preprocess/warping/tests/test_space_warper.py +++ b/junifer/preprocess/warping/tests/test_space_warper.py @@ -70,13 +70,13 @@ def test_SpaceWarper_errors( [ DMCC13Benchmark( types=["BOLD", "T1w", "Warp"], - sessions=["wave1bas"], + sessions=["ses-wave1bas"], tasks=["Rest"], phase_encodings=["AP"], runs=["1"], native_t1w=True, ), - ("f9057kp", "wave1bas", "Rest", "AP", "1"), + ("sub-f9057kp", "ses-wave1bas", "Rest", "AP", "1"), "ants", ], [ @@ -135,25 +135,25 @@ def test_SpaceWarper_native( [ DMCC13Benchmark( types=["T1w"], - sessions=["wave1bas"], + sessions=["ses-wave1bas"], tasks=["Rest"], phase_encodings=["AP"], runs=["1"], native_t1w=False, ), - ("f9057kp", "wave1bas", "Rest", "AP", "1"), + ("sub-f9057kp", "ses-wave1bas", "Rest", "AP", "1"), "MNI152NLin2009aAsym", ], [ DMCC13Benchmark( types=["T1w"], - sessions=["wave1bas"], + sessions=["ses-wave1bas"], tasks=["Rest"], phase_encodings=["AP"], runs=["1"], native_t1w=False, ), - ("f9057kp", "wave1bas", "Rest", "AP", "1"), + ("sub-f9057kp", "ses-wave1bas", "Rest", "AP", "1"), "MNI152NLin6Asym", ], ],