1.0.0#
This is a major release, with major changes, including backwards-incompatible changes.
Major changes#
full Python 3 compatibility - one code base for both Python 2 and Python 3
package name and import name now match – use
import pydicom
rather thanimport dicom
.added handlers for converting (7fe0,0010) Pixel Data to a numpy.ndarray
optional GDCM support for reading files with compressed pixel data (#18)
optional Pillow and jpeg_ls support for reading some compressed pixel data files
support for decompressing a compressed dataset in-place
DICOM dictionary updated to 2017c
cleaned up DICOM dictionary code, old non-DICOM-keyword code removed
Other enhancements#
added
util/fixer.py
callbacks available to fix non DICOM-compliant values before exceptions thrownadded context management methods to
Dataset
added
misc.is_dicom()
function to check for DICOM file formatadded date/time converters (#143)
added option to attempt other VRs if translate fails (#197)
added heuristics to read files that have no preamble or file meta information
support for multi-valued DA, DT, TM data elements (#212)
DataElement
: addedkeyword
andis_retired
propertiesdatadict
: addeddictionary_is_retired()
datadict
: added ability to add custom DICOM dictionary items viaadd_dict_entry()
andadd_dict_entries()
added some support for pickle
added support for VRs
OD
,OL
andUC
added support for Thai, Japanese and Chinese encodings (#346, #353)
added support for slicing to Dataset
add/update TransferSyntaxUID when writing standard
renamed
UID
package touid
(conforms to Python standard)added property
uid.is_private
added definitions for storage SOP Class UIDs (#172)
added possibility to read only specific tags (#95)
added missing meta elements when writing DICOM file
added
encaps
generator functions to access compressed framesread_file
changed todcmread
,write_file
todcmwrite
for greater clarity. Previous names still available for backwards compatibility.
Infrastructure#
added TravisCI and AppVeyor builds for automatic tests under Linux and Windows
added automatic code coverage builds and PEP-8 checks
added automatic documentation builds on GitHub Pages for development and release builds
added PyPy support
removed support for Python 2.6, added support for Python 3.6
Fixes#
correctly handle PlanarConfiguration==0 (#151)
updated uid generation to ensure uniqueness (#125)
handle missing patient data in
show_dicomdir
assume default transfer syntax if none in file meta (#258)
fixed reading/writing of empty tags and tags with bad VR
fixed reading AE elements with leading or trailing spaces
fixed handling of ambiguous VR elements
fixed handling for several error conditions
fixed Latin5 (Turkish) character set handling
a lot of other small fixes…