Skip to content

Commit 0e48824

Browse files
committed
BF: do not try to produce scans files if layout is not fully BIDS yet
1 parent 31e5109 commit 0e48824

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

bin/heudiconv

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,8 +1032,9 @@ def _find_subj_ses(f_name):
10321032
# we will allow the match at either directories or within filename
10331033
# assuming that bids layout is "correct"
10341034
regex = re.compile('sub-(?P<subj>[a-zA-Z0-9]*)([/_]ses-(?P<ses>[a-zA-Z0-9]*))?')
1035-
res = regex.search(f_name).groupdict()
1036-
return res.get('subj'), res.get('ses', None)
1035+
regex_res = regex.search(f_name)
1036+
res = regex_res.groupdict() if regex_res else {}
1037+
return res.get('subj', None), res.get('ses', None)
10371038

10381039

10391040
def save_scans_key(item, bids_files):
@@ -1060,6 +1061,13 @@ def save_scans_key(item, bids_files):
10601061
f_name = f_name.replace('json', 'nii.gz')
10611062
rows[f_name] = get_formatted_scans_key_row(item)
10621063
subj_, ses_ = _find_subj_ses(f_name)
1064+
if not subj_:
1065+
lgr.warning(
1066+
"Failed to detect fullfilled BIDS layout. "
1067+
"No scans.tsv file(s) will be produced for %s",
1068+
", ".join(bids_files)
1069+
)
1070+
return
10631071
if subj and subj_ != subj:
10641072
raise ValueError(
10651073
"We found before subject %s but now deduced %s from %s"

0 commit comments

Comments
 (0)