Description
Summary
After converting a large clinical dataset with heudiconv I'm seeing many files with odd suffixes.
Some files have a heudiconvXXX suffix, which appears to be logic added in v0.9.0, as you can see the difference between 0.8.0 and 0.9.0:
heudiconv0.8.0
└── sub-xxx
└── ses-xxx
├── anat
│ ├── sub-xxx_ses-xxx_acq-sagspacet2flairbrain_run-01_FLAIR.json
│ ├── sub-xxx_ses-xxx_acq-sagspacet2flairbrain_run-01_FLAIR.nii.gz
│ ├── sub-xxx_ses-xxx_acq-sagt1mpragebrain_run-01_T1w.json
│ └── sub-xxx_ses-xxx_acq-sagt1mpragebrain_run-01_T1w.nii.gz
├── dwi
├── sub-xxx_ses-xxx_scans.json
└── sub-xxx_ses-xxx_scans.tsv
heudiconv0.9.0
└── sub-xxx
└── ses-xxx
├── anat
│ ├── sub-xxx_ses-xxx_acq-sagspacet2flairbrain_run-01_FLAIR.json
│ ├── sub-xxx_ses-xxx_acq-sagspacet2flairbrain_run-01_FLAIR.nii.gz
│ ├── sub-xxx_ses-xxx_acq-sagt1mpragebrain_run-01_T1w.json
│ └── sub-xxx_ses-xxx_acq-sagt1mpragebrain_run-01_T1w.nii.gz
├── dwi
│ ├── sub-xxx_ses-xxx_acq-axialdtibrain_run-01_dwi_heudiconv057a.bval
│ ├── sub-xxx_ses-xxx_acq-axialdtibrain_run-01_dwi_heudiconv057a.bvec
│ ├── sub-xxx_ses-xxx_acq-axialdtibrain_run-01_dwi_heudiconv057a.json
│ ├── sub-xxx_ses-xxx_acq-axialdtibrain_run-01_dwi_heudiconv057a.nii.gz
│ ├── sub-xxx_ses-xxx_acq-axialdtibrain_run-01_dwi_heudiconv057.bval
│ ├── sub-xxx_ses-xxx_acq-axialdtibrain_run-01_dwi_heudiconv057.bvec
│ ├── sub-xxx_ses-xxx_acq-axialdtibrain_run-01_dwi_heudiconv057.json
│ └── sub-xxx_ses-xxx_acq-axialdtibrain_run-01_dwi_heudiconv057.nii.gz
├── sub-xxx_ses-xxx_scans.json
└── sub-xxx_ses-xxx_scans.tsv
I ended up renaming these files to remove the suffix (incrementing the run number if that caused a collision with another file). But I’m wondering if there’s a reason heudiconv shouldn’t do this itself, as when using the --bids flag all output should be BIDS-compliant, but @yarikoptic said this was “a feature which would ease troubleshooting”. What do the heudiconvXXX suffixes indicate, and how should I rename them to be BIDS-compliant?
I also have images with numerical suffixes e.g. FLAIR1
and FLAIR2
as well as this _EQ
suffix, but can’t track down where in the heudiconv source code those are added, so I’m wondering what they indicate and how I should deal with them as well.
Platform details:
Choose one:
- Local environment
- Heudiconv version: 0.8.0, 0.9.0