Version 1.2.0

Changelog

Changes

  • PIL removed as a fallback if Pillow is not available in the pillow pixel data handler (#722)
  • uid.JPEGBaseLineLossy8bit deprecated and will be removed in v1.3. Use uid.JPEGBaseline instead. (#726)
  • uid.JPEGBaseLineLossy12bit deprecated and will be removed in v1.3. Use uid.JPEGExtended instead. (#726)
  • uid.JPEG2000Lossy deprecated and will be removed in v1.3. Use uid.JPEG2000 instead. (#726)
  • Equality and inequality operator overrides removed from UID.
  • config.image_handlers deprecated and will be removed in v1.3. - use config.pixel_data_handlers instead. There is also a change in behavior in that image_handlers previously used to only contain the pixel data handlers that had their dependencies met. Now pixel_data_handlers contains all handlers no matter whether or not their dependencies are met. To check if a handler is available for use (it has its dependency met) use the handler’s is_available method.
  • DeferredDataElement class deprecated and will be removed in v1.3 (#291)
  • The use of NumPyPy with PyPy is no longer supported, use NumPy instead.

Enhancements

  • Updated DICOM dictionary for 2018c edition (#677)
  • Added possibility to set byte strings as value for VRs that use only the default character set (#624)
  • Functions for encapsulating frames added to encaps module (#696)
  • Added Dataset.fix_meta_info() (#584)
  • Added new function for bit packing pack_bits for use with BitsAllocated = 1 (#715)
  • Added/corrected encoding and decoding of text and person name VRs using character sets with code extensions, added handling of encoding/decoding errors (#716)
  • Handle common spelling errors in Specific Character Set values (#695, #737)
  • Added uid.JPEGLosslessP14 for UID 1.2.840.10008.1.2.4.57
  • Added uid.JPEG2000MultiComponentLossless for UID 1.2.840.10008.1.2.4.92
  • Added uid.JPEG2000MultiComponent for UID 1.2.840.10008.1.2.4.93
  • Added full support for Planar Configuration (#713)
  • Added support for single frame pixel data where BitsAllocated > 8 and SamplesPerPixel > 1 (#713)
  • Small improvement in RLE decoding speed (~10%)
  • Added support for non-conformant RLE segment ordering (#729)

Fixes

  • Removed unused original_string attribute from the DataElement class (#660)
  • Improve performance for Python 3 when dealing with compressed multi-frame Pixel Data with pillow and jpeg-ls (#682)
  • Fixed handling of private tags in repeater range (#689)
  • Fixed Pillow pixel data handler for non-JPEG2k transfer syntax (#663)
  • Fixed handling of elements with ambiguous VR (#700, #728)
  • Adapted pixel handlers where endianess is explicitly adapted (#704)
  • Improve performance of bit unpacking (#715)
  • First character set no longer removed (#707)
  • Fixed RLE decoded data having the wrong byte order (#729)
  • Fixed RLE decoded data having the wrong planar configuration (#729)
  • Fixed numpy arrays returned by the pixel data handlers sometimes being read-only. Read-only arrays are still available for uncompressed transfer syntaxes via a keyword argument for the numpy pixel data handler and should help reduce memory consumption if required. (#717)
  • Fixed deprecation warning in Python 3.7 (#740)