Page MenuHomePhabricator

DICOM import fails with vector::_M_range_check
Closed, ResolvedPublic

Description

Import of DICOM images with MITK-Diffusion 2014.10.02 files with following error message:

An error occurred. You should save all data and quit the program to prevent possible data loss.
See the error log for details.

vector::_M_range_check

Log file is attached.

Link to DICOM images: https://www.dropbox.com/sh/bftaopbm6axq994/AACxPIMTvRZ1DU61-FJWhZ1Ua?dl=0

Event Timeline

When triggered from the DiffusionDICOMReader the (Superclass) ClassicDICOMReader recognizes two outputs, where only one is present.

This leads to the crash (no diffusion header information was retrieved for the non-existant second output and thence the access to the m_HeaderInformation.at(1) is invalid in this case)

However, when the data is given directly tot he ClassicDICOMReader, it correctly recognizes the number of outputs.

User hering has pushed new remote branch:

bug-19665-DiffusionDICOMCrashOnMultipleInputs

[16589c]: Merge branch 'bug-19665-DiffusionDICOMCrashOnMultipleInputs'

Merged commits:

2016-06-16 19:28:49 Jan Hering [54eb1d]
Fix handling of multiple inputs in DiffusionDICOM

  • validating each output provided by the ClassicDICOMReader if can be parsed as diffusion image
  • removing outputs marked as invalid