2.3.0#

Changes#

  • DataElement.description is deprecated and will be removed in v3.0, use DataElement.name instead

  • Updated the private dictionary

  • enforce_valid_values is deprecated in favor of reading_validation_mode

  • Added download parameter to get_testdata_file() to allow skipping downloading the file if missed locally (#1617)

Enhancements#

  • Values are now validated for valid length, allowed character set and format on reading and writing. Depending on the value of reading_validation_mode and writing_validation_mode a warning is logged, an exception is raised, or the validation is skipped.

  • Added VR enum (#1500)

  • UIDs for all Storage SOP Classes have been added to the uid module (#1498)

  • Use rle_handler as last resort handler for decoding RLE encoded data as it is the slowest handler (#1487)

  • Added, enhanced, or removed a number of Mitra private dictionary entries (#1588)

  • Added support for unpacking bit-packed data without using NumPy to unpack_bits`(:pr:`1594())

  • Added expand_ybr422() for expanding uncompressed YBR_FULL_422 data to YBR_FULL (#1593)

  • Replacement of UN VR with SQ VR for undefined length data elements (introduced in 2.2.2), can now be configured via infer_sq_for_un_vr

  • Updated dictionaries to DICOM 2022a

Fixes#

  • Fixed odd-length OB values not being padded during write (#1511)

  • Fixed Hologic private dictionary entry (0019xx43)

  • Fixed Mitra global patient ID private dictionary entry (#1588)

  • Fixed compress() not setting the correct encoding for the rest of the dataset (#1565)

  • Fixed AttributeError on deep copy of FileDataset (#1571)

  • Fixed an exception during pixel decoding if using GDCM < 2.8.8 on Windows (#1581)

  • Fixed crashes on Windows and MacOS when using the GDCM plugin to compress into RLE Lossless (#1581)

  • Fixed dir(Dataset()) not returning class attributes (#1599)

  • Fixed bad DICOMDIR offsets when using FileSet.write() with a Directory Record Sequence using undefined length items (#1596)

  • Assigning a list of length one as tag value is now correctly handled as assigning the single value (#1606)

  • Fixed an exception with multiple deferred reads with file-like objects (#1609)