Deflated Image Frame Compression

The requirements for Deflated Image Frame Compression encoding are defined in Section 8.2.16 and Annex A.4.13 in Part 5 of the DICOM Standard. The underlying algorithm is the Deflate compression method.

Deflated Image Frame Compression is primary intended for single-bit segmentation encoding, however there are no restrictions on using it with other types of pixel data.

Valid Image Pixel Parameters

To ensure you have the correct Photometric Interpretation when encoding using Deflated Image Frame Compression, the uncompressed pixel data should already be in the corresponding color space:

  • If your uncompressed pixel data is grayscale (intensity) based:

    • Use MONOCHROME1 if the minimum intensity value should be displayed as white.

    • Use MONOCHROME2 if the minimum intensity value should be displayed as black.

  • If your uncompressed pixel data uses a single sample per pixel and is an index to the Red, Green and Blue Palette Color Lookup Tables:

    • Use PALETTE COLOR.

  • If your uncompressed pixel data is in RGB color space:

    • For Photometric Interpretation RGB nothing else is required.

    • For Photometric Interpretation YBR_FULL data must be converted into YCbCr color space, however the conversion operation is lossy.

  • If your uncompressed pixel data is in YCbCr color space:

    • For Photometric Interpretation RGB the pixel data must first be converted into RGB color space, however the conversion operation is lossy.

    • For Photometric Interpretation YBR_FULL nothing else is required.

Available Plugins

Encoder

Plugins

Name

Added

DeflatedImageFrameCompressionEncoder

pydicom

v3.1

Examples

Compressing grayscale pixel data in-place:

>>> from pydicom import examples
>>> from pydicom.uid import DeflatedImageFrameCompression
>>> ds = examples.ct
>>> ds.SamplesPerPixel
1
>>> ds.PhotometricInterpretation
'MONOCHROME2'
>>> ds.BitsAllocated
16
>>> ds.PixelRepresentation
1
>>> ds.compress(DeflatedImageFrameCompression)
>>> len(ds.PixelData)
22288