@@ -280,7 +280,7 @@ def update_complex_name(metadata, filename, suffix_counter):
280
280
# Determine scan suffix
281
281
filetype = '_' + filename .split ('_' )[- 1 ]
282
282
283
- # Insert rec label
283
+ # Insert part label
284
284
if not ('_part-%s' % mag_or_phase ) in filename :
285
285
# If "_part-" is specified, prepend the 'mag_or_phase' value.
286
286
if '_part-' in filename :
@@ -290,7 +290,21 @@ def update_complex_name(metadata, filename, suffix_counter):
290
290
)
291
291
292
292
# 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 :
294
308
if (label == filetype ) or (label in filename ):
295
309
filename = filename .replace (
296
310
label , "_part-%s%s" % (mag_or_phase , label )
@@ -347,8 +361,25 @@ def update_multiecho_name(metadata, filename, echo_times):
347
361
filetype = '_' + filename .split ('_' )[- 1 ]
348
362
349
363
# 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 :
352
383
if (label == filetype ) or (label in filename ):
353
384
filename = filename .replace (
354
385
label , "_echo-%s%s" % (echo_number , label )
@@ -397,7 +428,21 @@ def update_uncombined_name(metadata, filename, channel_names):
397
428
398
429
# Insert it **before** the following string(s), whichever appears first.
399
430
# 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 :
401
446
if (label == filetype ) or (label in filename ):
402
447
filename = filename .replace (
403
448
label , "_ch-%s%s" % (channel_number , label )
0 commit comments