1.3.0#

Documentation#

  • New User Guide page for Python 2 support timeline

  • New User Guide page for working with private data elements

  • example loading set of CT slices and plotting axial, sagittal and coronal (#789)

Changes#

  • Removed deprecated uid variables, config.image_handlers and DeferredDataElement (#760)

  • dataelem.isMultiValue is deprecated and will be removed in v1.4. Use dataelem.DataElement.VM instead.

  • dataelem.isStringOrStringList and dataelem.isString functions are removed

  • datadict.add_dict_entry and datadict.add_dict_entries now raise if trying to add a private tag

  • dataset.Dataset.maxBytesToDisplay also limits display length for non-binary VRs (by number of items) (#666)

Enhancements#

  • Added datadict.add_private_dict_entry and datadict.add_private_dict_entries to add custom private tags (#799)

  • Added possibility to write into zip file using gzip, by avoiding seek (#753)

  • Added RLE encoding (#730)

  • Added handling of incorrect transfer syntax (explicit vs implicit) (#820)

  • Added creation of Tag instances by DICOM keyword, e.g Tag(“PatientName”)

  • Added possibility to get and add private tags without adding them to the private dictionary

  • Added possibility to use a Dataset in a NumPy array

  • Allow missing padding byte in Pixel Data, issue a warning in this case (#864)

  • Add in-memory image decoding with GDCM

  • Check really used implicit/explicit VR before reading a data set (#819, #820)

  • Added alpha conversion of Datasets to/from JSON format (Python 3 only)

Fixes#

  • Correctly handle Dataset.pop and Dataset.setdefault for tuple and keyword arguments (#852)

  • Correctly handle encoding errors when any of the encodings are invalid (not just the first) (#850)

  • Do not raise while resolving an ambiguous VR dependent on PixelRepresentation if both PixelRepresentation and PixelData are not present (#838)

  • Raise exception with specific message if value is too large to be written in explicit transfer syntax (#757)

  • Make hash for PersonName3 behave as expected, make PersonName objects immutable (#785)

  • Fixed generate_uid() returning non-conformant UIDs when prefix=None (#788)

  • Avoid exception if reading from empty file (#810)

  • An invalid encoding is now replaced by the default encoding, if config.enforce_valid_values is not set (#815)

  • Correctly handle elements with ambiguous VR in sequence items (#804)

  • Fix bug where new DicomDir objects always have is_implicit_VR

  • Fix dataset equality for mixed raw vs converted data elements (#835)

  • Remove excess padding in Pixel Data

  • Fix wrong date format in anonymize example

  • Fix unknown VR exception message when VR isn’t ASCII (#791)

  • Fix jis-x-0201 characters encoding (#856)