1.4.0#
Fixes#
Fixed handling of VRs AT and PN in json encoding (#915)
Fixed handling of binary values in json encoding (#887)
Prevent exception if assigning None to UI element (#894)
Fixed print output for numeric multi-value elements (#892)
Fixed testing PN values for truthiness (#891)
Fixed handling of data too large to written in explicit transfer syntax
Fixed assigning of empty values to data elements (#896)
Fixed error in unpickling dataset (#947)
Fixed error in pickling modified datasets (#951)
Fixed improper conversion of the first value of the LUT Descriptor elements (0028,1101-1103) and (0028,3002) (#942)
Fixed handling of ISO IR 159 encoding (#917)
Fixed propagation of bulk data handler in Dataset.from_json (#971)
Correctly handle DICOMDIR files with records in reverse-hierarchical order (#822)
Pixel Data encoded using JPEG2000 and decoded using the Pillow handler no longer returns RGB data when the (0028,0004) Photometric Interpretation is YBR_FULL or YBR_FULL_422. (#263, #273, #826)
Avoid possible high memory usage while reading sequences (#994)
Fixed
generate_pixel_data()
not returning all available frames when the Basic Offset Table was empty. This may still occur when multiple fragments per frame are present for non-JPEG transfer syntaxes or where no JPEG EOI/EOC marker is present (#685)Fixed possible incorrect switch to explicit VR in sequence items (#999)
Fixed JPEG 2000 (UIDs 1.2.840.10008.1.2.4.90 and 1.2.840.10008.1.2.4.91) pixel data with bit depth range 9-16 not producing the correct values with the Pillow handler (#693)
Fixed parsing a DICOMDIR file with no records raising an exception (#1004)
Enhancements#
Added support for converting (60xx,3000) Overlay Data to a numpy ndarray using
Dataset.overlay_array()
(#912)Added support for deferred reading in file-like objects (#932)
Tolerate values with multiple and/or incorrect padding bytes (#940)
Added support for uncompressed pixel data with (0028,0004) Photometric Interpretation of YBR_FULL_422 to the numpy pixel data handler.
Added
apply_color_lut()
function for applying color palette LUTs (#205)Added
apply_modality_lut()
function for applying modality LUTs.Added
get_palette_files()
for retrieving well-known palette color datasets.Raise on end of file errors if config.enforce_valid_values is set (#277)
Added user warning, or exception in strict mode, if a DICOMDIR has an unexpected transfer syntax (#848)
Handle missing offset tags in DICOMDIR (#981)
Added optional handler argument to
decompress()
. This lets you specify a particular handler, rather than following pydicom’s default order (#537)Added
apply_voi_lut()
function for applying VOI LUTs or windowing operations.Added support for (7fe0,0008) Float Pixel Data and (7fe0,0009) Double Float Pixel Data to
pixel_array
(#452)JPEG 2000 (1.2.840.10008.1.2.4.91) transfer syntax is supported for data with bit depth > 8 with the Pillow pixel data handler
PixelData.is_undefined_length
is now set automatically based on whether the Dataset’s Transfer Syntax is compressed (#1006)Updated DICOM dictionary to 2019e edition (#1013)
Added support for new VRs OV, SV, UV (#1016)
Code dictionaries and
Code
class for structured reporting added (alpha release only). See the Structured Reporting tutorial for more information
Changes#
get_frame_offsets()
now returns whether the Basic Offset Table is empty and a list of the offsets.