@@ -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