Skip to content

Commit 5e8aaa5

Browse files
committed
added mulit_session_study var
1 parent 2ca45c4 commit 5e8aaa5

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

run.py

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -75,28 +75,36 @@ def run(command, env={}, ignore_errors=False):
7575
run("bids-validator " + args.bids_dir)
7676

7777
subject_dirs = glob(os.path.join(args.bids_dir, "sub-*"))
78+
7879
if args.acquisition_label:
7980
acq_tpl = "*acq-%s*" % args.acquisition_label
8081
else:
8182
acq_tpl = "*"
8283

83-
# check if study is truly longitudinal
84-
subject_dirs = glob(os.path.join(args.bids_dir, "sub-*"))
85-
subjects_to_analyze = [subject_dir.split("-")[-1] for subject_dir in subject_dirs]
86-
for subject_label in subjects_to_analyze:
87-
# Check for multiple sessions to combine as a multiday session or as a longitudinal stream
88-
session_dirs = glob(os.path.join(args.bids_dir,"sub-%s"%subject_label,"ses-*"))
89-
sessions = [os.path.split(dr)[-1].split("-")[-1] for dr in session_dirs]
90-
longitudinal_study = False
91-
n_valid_sessions = 0
92-
for session_label in sessions:
93-
if glob(os.path.join(args.bids_dir, "sub-%s"%subject_label,
94-
"ses-%s"%session_label,
95-
"anat",
96-
"%s_T1w.nii*"%acq_tpl)):
97-
n_valid_sessions += 1
98-
if n_valid_sessions > 1 and args.multiple_sessions == "longitudinal":
84+
# if there are session folders, check if study is truly longitudinal by
85+
# searching for the first subject with more than one valid sessions
86+
multi_session_study = False
87+
if glob(os.path.join(args.bids_dir, "sub-*", "ses-*")):
88+
subjects = [subject_dir.split("-")[-1] for subject_dir in subject_dirs]
89+
for subject_label in subjects:
90+
session_dirs = glob(os.path.join(args.bids_dir,"sub-%s"%subject_label,"ses-*"))
91+
sessions = [os.path.split(dr)[-1].split("-")[-1] for dr in session_dirs]
92+
n_valid_sessions = 0
93+
for session_label in sessions:
94+
if glob(os.path.join(args.bids_dir, "sub-%s"%subject_label,
95+
"ses-%s"%session_label,
96+
"anat",
97+
"%s_T1w.nii*"%acq_tpl)):
98+
n_valid_sessions += 1
99+
if n_valid_sessions > 1:
100+
multi_session_study = True
101+
break
102+
103+
if multi_session_study and (args.multiple_sessions == "longitudinal"):
99104
longitudinal_study = True
105+
else:
106+
longitudinal_study = False
107+
100108

101109
subjects_to_analyze = []
102110
# only for a subset of subjects

0 commit comments

Comments
 (0)