pydicom.pixel_data_handlers.rle_handler

Use the numpy package to convert RLE lossless Pixel Data to a numpy.ndarray.

Supported transfer syntaxes

  • 1.2.840.10008.1.2.5 : RLE Lossless

Supported data

The RLE handler supports the conversion of data in the (7FE0,0010) Pixel Data element to a numpy ndarray provided the related Image Pixel module elements have values given in the table below.

Element

Supported values

Tag

Keyword

Type

(0028,0002)

SamplesPerPixel

1

N

Required

(0028,0006)

PlanarConfiguration

1C

1

Optional

(0028,0008)

NumberOfFrames

1C

N

Optional

(0028,0010)

Rows

1

N

Required

(0028,0011)

Columns

1

N

Required

(0028,0100)

BitsAllocated

1

8, 16, 32

Required

(0028,0103)

PixelRepresentation

1

0, 1

Required

Functions

get_pixeldata(ds[, rle_segment_order])

Return an numpy.ndarray of the Pixel Data.

is_available()

Return True if the handler has its dependencies met.

needs_to_convert_to_RGB(ds)

Return True if the Pixel Data should to be converted from YCbCr to RGB.

should_change_PhotometricInterpretation_to_RGB(ds)

Return True if the Photometric Interpretation should be changed to RGB.

supports_transfer_syntax(transfer_syntax)

Return True if the handler supports the transfer_syntax.

pydicom.pixel_data_handlers.rle_handler.get_pixeldata(ds: Dataset, rle_segment_order: str = '>') np.ndarray[source]

Return an numpy.ndarray of the Pixel Data.

Parameters:
  • ds (dataset.Dataset) – The Dataset containing an Image Pixel module and the RLE encoded Pixel Data to be converted.

  • rle_segment_order (str) – The order of segments used by the RLE decoder when dealing with Bits Allocated > 8. Each RLE segment contains 8-bits of the pixel data, and segments are supposed to be ordered from MSB to LSB. A value of '>' means interpret the segments as being in big endian order (default) while a value of '<' means interpret the segments as being in little endian order which may be possible if the encoded data is non-conformant.

Returns:

The decoded contents of (7FE0,0010) Pixel Data as a 1D array.

Return type:

numpy.ndarray

Raises:
  • AttributeError – If ds is missing a required element.

  • NotImplementedError – If ds contains pixel data in an unsupported format.

  • ValueError – If the actual length of the pixel data doesn’t match the expected length.

pydicom.pixel_data_handlers.rle_handler.is_available() bool[source]

Return True if the handler has its dependencies met.

pydicom.pixel_data_handlers.rle_handler.needs_to_convert_to_RGB(ds: Dataset) bool[source]

Return True if the Pixel Data should to be converted from YCbCr to RGB.

This affects JPEG transfer syntaxes.

pydicom.pixel_data_handlers.rle_handler.should_change_PhotometricInterpretation_to_RGB(ds: Dataset) bool[source]

Return True if the Photometric Interpretation should be changed to RGB.

This affects JPEG transfer syntaxes.

pydicom.pixel_data_handlers.rle_handler.supports_transfer_syntax(transfer_syntax: str) bool[source]

Return True if the handler supports the transfer_syntax.

Parameters:

transfer_syntax (uid.UID) – The Transfer Syntax UID of the Pixel Data that is to be used with the handler.