Skip to content

Commit 70d9023

Browse files
committed
Enhance lists of entities in filename updaters.
1 parent fcda2dc commit 70d9023

File tree

1 file changed

+50
-5
lines changed

1 file changed

+50
-5
lines changed

heudiconv/convert.py

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ def update_complex_name(metadata, filename, suffix_counter):
280280
# Determine scan suffix
281281
filetype = '_' + filename.split('_')[-1]
282282

283-
# Insert rec label
283+
# Insert part label
284284
if not ('_part-%s' % mag_or_phase) in filename:
285285
# If "_part-" is specified, prepend the 'mag_or_phase' value.
286286
if '_part-' in filename:
@@ -290,7 +290,21 @@ def update_complex_name(metadata, filename, suffix_counter):
290290
)
291291

292292
# Insert it **before** the following string(s), whichever appears first.
293-
for label in ['_recording', '_proc', '_space', filetype]:
293+
# https://bids-specification.readthedocs.io/en/stable/99-appendices/09-entities.html
294+
entities_after_part = [
295+
"_proc",
296+
"_hemi",
297+
"_space",
298+
"_split",
299+
"_recording",
300+
"_chunk",
301+
"_res",
302+
"_den",
303+
"_label",
304+
"_desc",
305+
filetype,
306+
]
307+
for label in entities_after_part:
294308
if (label == filetype) or (label in filename):
295309
filename = filename.replace(
296310
label, "_part-%s%s" % (mag_or_phase, label)
@@ -347,8 +361,25 @@ def update_multiecho_name(metadata, filename, echo_times):
347361
filetype = '_' + filename.split('_')[-1]
348362

349363
# Insert it **before** the following string(s), whichever appears first.
350-
# https://bids-specification.readthedocs.io/en/stable/99-appendices/04-entity-table.html
351-
for label in ['_flip', '_inv', '_mt', '_part', '_recording', '_proc', '_space', filetype]:
364+
# https://bids-specification.readthedocs.io/en/stable/99-appendices/09-entities.html
365+
entities_after_echo = [
366+
"_flip",
367+
"_inv",
368+
"_mt",
369+
"_part",
370+
"_proc",
371+
"_hemi",
372+
"_space",
373+
"_split",
374+
"_recording",
375+
"_chunk",
376+
"_res",
377+
"_den",
378+
"_label",
379+
"_desc",
380+
filetype,
381+
]
382+
for label in entities_after_echo:
352383
if (label == filetype) or (label in filename):
353384
filename = filename.replace(
354385
label, "_echo-%s%s" % (echo_number, label)
@@ -397,7 +428,21 @@ def update_uncombined_name(metadata, filename, channel_names):
397428

398429
# Insert it **before** the following string(s), whichever appears first.
399430
# Choosing to put channel near the end since it's not in the specification yet.
400-
for label in ['_recording', '_proc', '_space', filetype]:
431+
# See https://bids-specification.readthedocs.io/en/stable/99-appendices/09-entities.html
432+
entities_after_ch = [
433+
"_proc",
434+
"_hemi",
435+
"_space",
436+
"_split",
437+
"_recording",
438+
"_chunk",
439+
"_res",
440+
"_den",
441+
"_label",
442+
"_desc",
443+
filetype,
444+
]
445+
for label in entities_after_ch:
401446
if (label == filetype) or (label in filename):
402447
filename = filename.replace(
403448
label, "_ch-%s%s" % (channel_number, label)

0 commit comments

Comments
 (0)