diff --git a/brkraw/lib/utils.py b/brkraw/lib/utils.py index 847798b..ae4a900 100644 --- a/brkraw/lib/utils.py +++ b/brkraw/lib/utils.py @@ -404,9 +404,11 @@ def build_bids_json(dset, row, fname, json_path, slope=False, offset=False): crop = None if dset.is_multi_echo(row.ScanID, row.RecoID): # multi_echo nii_objs = dset.get_niftiobj(row.ScanID, row.RecoID, crop=crop, slope=slope, offset=offset) + n_echo = len(nii_objs) + n_digit = len(str(n_echo)) for echo, nii in enumerate(nii_objs): # caught a bug here for multiple echo, changed fname to currentFileName - currentFileName = '{}_echo-{}_{}'.format(fname, echo + 1, row.modality) + currentFileName = fname.replace('echo.index',str(echo + 1).zfill(n_digit)) output_path = os.path.join(row.Dir, currentFileName) nii.to_filename('{}.nii.gz'.format(output_path)) if json_path: diff --git a/brkraw/scripts/brkraw.py b/brkraw/scripts/brkraw.py index 753a101..77d2b85 100644 --- a/brkraw/scripts/brkraw.py +++ b/brkraw/scripts/brkraw.py @@ -705,6 +705,8 @@ def completeFieldsCreateFolders (df, filtered_dset, dset, multi_session, root_pa if pd.notnull(row.run): if bids_validation(df, i, 'run', row.run, 2): fname = '{}_run-{}'.format(fname, row.run) + if dset.is_multi_echo(row.ScanID, row.RecoID): + fname = '{}_echo-echo.index'.format(fname) if pd.notnull(row.flip): if bids_validation(df, i, 'flip', row.flip, 2): fname = '{}_flip-{}'.format(fname, row.flip)