Project

General

Profile

Actions

Feature #850

open

dcmdump shows delimitation items even if they are missing in file

Added by Jan Schlamelcher almost 7 years ago. Updated almost 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Library and Apps
Target version:
-
Start date:
2018-10-25
Due date:
% Done:

0%

Estimated time:
Module:
dcmdata
Operating System:
Compiler:

Description

In one exercise of the Tools and Troubleshooting course we ask participants to debug a faulty DICOM file where a Sequence Delimitation Item of a sequence with undefined length encoding is completely absent from the file. Unfortunately, when running dcmdump --ignore-errors, a SequenceDelimitationItem is "invented" by dcmdata and shown as part of the dcmdump output, which actually hides the problem. There should be at least an option where dcmdump can be configured to not show such invented items. This might require the addition of a flag at sequence level that indicates whether a delimiter was really read from file.

Actions #1

Updated by Jörg Riesmeier almost 7 years ago

I would propose to just change the output in the respective print() methods. Currently, there are the following variants for SQ elements:
  • (SequenceDelimitationItem)
  • (SequenceDelimitationItem for re-encod.)
What about something like
  • (SequenceDelimitationItem missing) or
  • (SequenceDelimitationItem absent) or
  • (SequenceDelimitationItem not present)

Omitting the entire line doesn't sound like a good idea, since dump2dcm would (probably) not work on such input.

Of course, this also applies to other VR classes such as DcmPixelSequence and DcmItem.

Actions #2

Updated by Jörg Riesmeier almost 7 years ago

  • Tracker changed from Bug to Feature

In fact, this is not a "Bug" but a "Feature".

Maybe, this new feature could be tied to the existing global flag "dcmEnableAutomaticInputDataCorrection":

/** This flags defines whether automatic correction should be applied to input
 *  data (e.g.\ stripping of padding blanks, removal of blanks in UIDs, etc).
 *  Default is enabled.
 */
extern DCMTK_DCMDATA_EXPORT OFGlobal<OFBool> dcmEnableAutomaticInputDataCorrection; /* default OFTrue */
Actions

Also available in: Atom PDF