Hello,
thanks for developing and maintaining heudiconv
!
Summary of what happened:
I have a dMRI dataset from a collaborator that I would like to convert to BIDS
using heudiconv
. The data contains a single subject with DICOM data corresponding to the following:
- The AP/PA acquisitions dMRI acquisitions.
- The T1w MP-RAGE.
- The AP/PA field maps.
When trying to convert that to BIDS
using heudiconv
, there is a number of warnings: most notably, no SeriesNumber
is detected. I assume the warnings (see below the trace) are making it in such a way that no data gets effectively converted: I only get the following output:
.heudiconv
CHANGES
dataset_description.json
participants.json
participants.tsv
README
scans.json
.bidsignore
so no subject folder, and no NIfTI file.
However, the DICOM data seems to be correctly detected (e.g. number of files in the series, TR, TE, protocol_name, seriesUID, etc.) according to what I can see in the /{path_to}/Investigators/{investigator_name}/.heudiconv/{sub_id}/info/dicominfo.tsv
file.
Command used (and if a helper script was used, a link to the helper script or the command generated):
heudiconv -f reproin --bids -o {path_to} --files ./{in_data_path}
Version:
heudiconv
0.13.1
Environment (Docker, Singularity, custom installation):
Ubuntu 22.04 LTS. Python 3.10. Pip installed heudiconv
.
Data formatted according to a validatable standard? Please provide the output of the validator:
No effective output data was generated, so I am not running the BIDS validator.
Relevant log outputs (up to 20 lines):
INFO: Running heudiconv version 0.13.1 latest 0.13.1
INFO: Analyzing 336 dicoms
INFO: Filtering out 0 dicoms based on their filename
WARNING: Ignoring ./{my_data}/DWI_AP.bval since not quite a "normal" DICOM: 'FileDataset' object has no attribute 'SeriesNumber'
WARNING: Ignoring ./{my_data}/DWI_AP.bvec since not quite a "normal" DICOM: 'FileDataset' object has no attribute 'SeriesNumber'
WARNING: Ignoring ./{my_data}/DWI_AP.json since not quite a "normal" DICOM: 'FileDataset' object has no attribute 'SeriesNumber'
WARNING: Ignoring ./{my_data}/DWI_PA.bval since not quite a "normal" DICOM: 'FileDataset' object has no attribute 'SeriesNumber'
WARNING: Ignoring ./{my_data}/DWI_PA.bvec since not quite a "normal" DICOM: 'FileDataset' object has no attribute 'SeriesNumber'
WARNING: Ignoring ./{my_data}/DWI_PA.json since not quite a "normal" DICOM: 'FileDataset' object has no attribute 'SeriesNumber'
INFO: Generated sequence info for 1 studies with 5 entries total
INFO: Processing sequence infos to deduce study/session
INFO: Study session for StudySessionInfo(locator='Investigators/{investigator_name}', session=None, subject='{sub_id}')
INFO: Need to process 1 study sessions
INFO: PROCESSING STARTS: {'subject': '{sub_id}', 'outdir': '/{path_to}/Investigators/{investigator_name}, 'session': None}
INFO: Processing 5 pre-sorted seqinfo entries
INFO: Processing 5 seqinfo entries
WARNING: Could not determine the series name by looking at protocol_name, series_description fields
WARNING: Could not determine the series name by looking at protocol_name, series_description fields
WARNING: Could not determine the series name by looking at protocol_name, series_description fields
WARNING: Could not determine the series name by looking at protocol_name, series_description fields
WARNING: Could not determine the series name by looking at protocol_name, series_description fields
WARNING: Could not figure out where to stick 5 sequences: ['7-MEMPRAGE_gr2', '34-SpinEchoFieldMap_AP', '35-SpinEchoFieldMap_PA', '37-dMRI_dir99_AP', '40-dMRI_dir99_PA']
INFO: Doing conversion using dcm2niix
INFO: Populating template files under /{sub_id}/Investigators/{investigator_name}
INFO: PROCESSING DONE: {'subject': '{sub_id}', 'outdir': '/{path_to}/Investigators/{investigator_name}', 'session': None}
The Investigators/{investigator_name}
seems to be an artifact as the study_description
at issue contains a string Investigators^{investigator_name}
.
Screenshots / relevant information:
The Could not figure out where to stick {N} sequences
warning is also mentioned in this PR:
Reproin fix for Philips by cni-md · Pull Request #343 · nipy/heudiconv · GitHub
But there does not seem to prevent success in that case.