pydicom.pixels.utils.decompress

pydicom.pixels.utils.decompress(ds: Dataset, *, as_rgb: bool = True, generate_instance_uid: None | bool = None, decoding_plugin: str = '', **kwargs: Any) Dataset[source]

Perform an in-place decompression of a dataset with a compressed Transfer Syntax UID.

Added in version 3.0.

Warning

This function requires NumPy and may require the installation of additional packages to perform the actual pixel data decoding. See the pixel data decompression documentation for more information.

  • The dataset’s Transfer Syntax UID will be set to Explicit VR Little Endian.

  • The Pixel Data will be decompressed in its entirety and the Pixel Data element’s value updated with the uncompressed data, padded to an even length.

  • The Pixel Data element’s VR will be set to OB if Bits Allocated <= 8, otherwise it will be set to OW.

  • The DataElement.is_undefined_length attribute for the Pixel Data element will be set to False.

  • Any image pixel module elements may be modified as required to match the uncompressed Pixel Data.

  • If the color space has been converted from YCbCr to RGB then a new (0008,0018) SOP Instance UID value will be generated unless generate_instance_uid is False.

Parameters:
  • ds (pydicom.dataset.Dataset) – A dataset containing compressed Pixel Data to be decoded and the corresponding Image Pixel module elements, along with a file_meta attribute containing a suitable (0002,0010) Transfer Syntax UID.

  • as_rgb (bool, optional) – if True (default) then convert pixel data with a YCbCr photometric interpretation such as "YBR_FULL_422" to RGB.

  • generate_instance_uid (bool, optional) – If True then always generate a new (0008,0018) SOP Instance UID, using generate_uid(), otherwise False to always keep the original. The default behavior is to only generate a new SOP Instance UID when the image data has had a YCbCr to RGB conversion applied.

  • decoding_plugin (str, optional) – The name of the decoding plugin to use when decoding compressed pixel data. If no decoding_plugin is specified (default) then all available plugins will be tried and the result from the first successful one yielded. For information on the available plugins for each decoder see the API documentation.

  • kwargs (dict[str, Any], optional) – Optional keyword parameters for the decoding plugin may also be present. See the decoding plugins options for more information.

Returns:

The dataset ds decompressed in-place.

Return type:

pydicom.dataset.Dataset