Version 1.0.0¶
This is a major release, with major changes, including backwards-incompatible changes.
Warning
We urge you to review the Transition Guide if you have previously used a pydicom version less than 1.0.
Changelog¶
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 image_data_handlers:
- 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 thrown - added context management methods to
Dataset
- added
misc.is_dicom()
function to check for DICOM file format - added 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 frames read_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...