Releases: slicebox/dicom-streams
Better logging
This release comes with a new trait in the modular system for building flows, GroupLengthWarnings, that will let the user know if changes are made to a dicom file with group length attributes, or determinate length sequences/items. This avoids difficult to find bugs in flows where re-encoding and filtering should be included to maintain valid DICOM data.
Bug fix in flow that converts to indeterminate length sequences and items
This release fixes a critical bug that would write only item delimitations, no sequence delimitations in DicomFlows.toIndeterminateLengthSequences.
Refactoring and simpler validation
In this release we removed the validation flow which provided little functionality, and replaced it with a dedicated flow for validating presentation context. Lot's of code has been removed for a leaner library.
Support for VR TM (Time)
This release adds support to Elements and Value for values with VR=TM.
TagPath and TagTree
In previous versions, TagPath was used to describe both simple non-branching paths to an element such as when iterating through a dataset, or when getting the value of an element, and there was support for using wildcards which corresponds to a tree of paths. For some methods, wildcards were allowed and for others they were not. Since there was no way of telling if a TagPath was simple or a tree, runtime errors occurred when not used correctly. In this release, TagPath represents simple tag paths only, and a new class TagTree supports wildcards. This provides better type safety and a better developer experience. Moreover, TagPath now has additional subclasses denoting item and sequence delimitations which now gives all elements of a dataset a unique path. These paths can be sorted correctly if necessary.
Better sequence and tag path handling
- Easier to add, remove and update elements in sequences and whole items/sequences
- Get any element based on a tag path
- Tag path parsing and formatting now supports keywords
- All dictionary methods moved to single
Dictionaryclass
Robust VR=UN handling
This relase simplifies the handling of elements with VR=UN. Before, a more specific VR was in some circumstances guessed. Now, all elements with VR=UN are treated as a block of binary data. This is more robust.
Bugfix
First release
This is the first release of dicom-streams, a library for fully streaming parsing and processing of DICOM data. It builds upon the project dcm4che-streams which added a streaming API to the dcm4che project, but does not have dependencies to any existing DICOM libraries.