Skip to content

Siemens XA30: heudiconv fails to handle partial volumes #814

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
mvdoc opened this issue Feb 23, 2025 · 1 comment
Open

Siemens XA30: heudiconv fails to handle partial volumes #814

mvdoc opened this issue Feb 23, 2025 · 1 comment

Comments

@mvdoc
Copy link
Member

mvdoc commented Feb 23, 2025

Whenever a run is manually halted, Siemens XA30 generates a valid enhanced DICOM with fewer slices. If that happens, dcm2niix splits the series into a nifti with the full volumes and another nifti with the partial volume (see rordenlab/dcm2niix#742). Currently, heudiconv doesn't handle this case, and crashes because it tries to overwrite the intact volume with the partial volume.

Possible solutions:

  1. Since dcm2niix will flag the partial volumes as derived, a solution would be to allow calling dcm2niix with the flag -i y, which ignores all derived series. But this is not really a great solution, since there are cases where we may want to convert also derived series.
  2. dcm2niix adds a derived string under the bidsguess key in the output json. We could check if that string exists, but I guess it would work only when heudiconv is run with the flag --bids
  3. The partial volumes are valid nifti files with fewer slices than prescribed. If multiple files are generated from the same series, we could maybe add a check on the number of slices to detect the partial volumes.
@bpinsard
Copy link
Contributor

I see 3 options to fix that issue:

  • a heuristic specific dicom_filter that checks dicoms tags are reported in the issue above, needs to be used for all XA data
  • heuristics to allow specifying per-series the parameters for dcm2niix call: in that case -i y .
  • a more global fix that would remove the partial volumes after dcm2niix conversion in convert.save_converted_files, partial volumes would be detected if the same series produced 2 files, and only one with "RawImage": False metadata. see [FIX] remove XA partial volumes, generated by dcm2niix as derived data #817

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants