1.2.0#

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 endianness 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)