This is a significant release with several important new features added to the library.
The user guide will be updated soon with explanations of the new functionality.
Features
- Update internal DICOM standard information to 2024c
- Add support for the new LABELMAP segmentation type, introduced in DICOM 2024c. Labelmap segmentations store non-overlapping segments as an array in which pixel value indicates membership of a segment. This can be used simply by setting the
segmentation_type
parameter of thehighdicom.seg.Segmentation
constructor to"LABELMAP"
. Parsing of Labelmap segmentations is also supported. By @CPBridge in #234 - Add implementations of pixel transformations in new
highdicom.pixels
module and elsewhere, including real world value map, modality LUT, VOI LUT, presentation LUT, and Palette Color LUT. - Add new general
highdicom.Image
class for reading frames from general DICOM images, and creating Volumes from general images. Methods on this class allow for reading frames with the above pixel transformations configurably applied. - Add new
highdicom.Volume
class, representing an array of pixels in 3D space by @CPBridge in #277 - Several new functions in
highdicom.spatial
related to 3D volumes and affine matrices. - Automatically set the DimensionOrganizationType attribute of a segmentation to 3D if the conditions are met.
- Add magic methods to allow segmentation objects to be pickled and unpickled
- Use pyupgrade to update all type hints to 3.10+ style
- Add ability to add spatial coordinates to a measurement by @Fedalto in #307
- Add support for python 3.13 by @CPBridge in #312
Full Changelog: v0.23.1...v0.24.0