# pydicom.pixel_data_handlers.pylibjpeg_handler

Use the pylibjpeg package to convert supported pixel data to a `numpy.ndarray`.

Added in version 2.1.

Supported data

The pylibjpeg handler supports the conversion of data in the (7FE0,0010) Pixel Data elements to a `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 | 1, 3 | Required
(0028,0004) | PhotometricInterpretation | 1 | MONOCHROME1, MONOCHROME2, RGB, YBR_FULL, YBR_FULL_422, YBR_ICT, YBR_RCT | Required
(0028,0006) | PlanarConfiguration | 1C | 0, 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 | Required
(0028,0101) | BitsStored | 1 | Up to 16 | Required
(0028,0103) | PixelRepresentation | 1 | 0, 1 | Required

Changed in version 2.2: Added support for RLE Lossless via the pylibjpeg-rle plugin.

Functions

`as_array`(ds) | Return the entire Pixel Data as an `ndarray`.
`generate_frames`(ds[, reshape]) | Yield a Pixel Data frame from ds as an `ndarray`.
`get_pixeldata`(ds) | Return a `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`(tsyntax) | Return `True` if the handler supports the tsyntax.

pydicom.pixel_data_handlers.pylibjpeg_handler.as_array(ds: Dataset) → np.ndarray

  Return the entire Pixel Data as an `ndarray`.

  Added in version 2.1.

  Parameters:

    ds (pydicom.dataset.Dataset) – The `Dataset` containing an Image Pixel module and the Pixel Data to be converted.

  Returns:

    The contents of (7FE0,0010) Pixel Data as an `ndarray` with shape (rows, columns), (rows, columns, components), (frames, rows, columns), or (frames, rows, columns, components) depending on the dataset.

  Return type:

    numpy.ndarray

pydicom.pixel_data_handlers.pylibjpeg_handler.generate_frames(ds: Dataset, reshape: bool = True) → Iterable[np.ndarray]

  Yield a Pixel Data frame from ds as an `ndarray`.

  Added in version 2.1.

  Parameters:

    - ds (pydicom.dataset.Dataset) – The `Dataset` containing an Image Pixel module and the Pixel Data to be converted.

    - reshape (bool, optional) – If `True` (default), then the returned `ndarray` will be reshaped to the correct dimensions. If `False` then no reshaping will be performed.

  Yields:

    numpy.ndarray – A single frame of (7FE0,0010) Pixel Data as an `ndarray` with an appropriate dtype for the data.

  Raises:

    - AttributeError – If ds is missing a required element.

    - RuntimeError – If the plugin required to decode the pixel data is not installed.

pydicom.pixel_data_handlers.pylibjpeg_handler.get_pixeldata(ds: Dataset) → np.ndarray

  Return a `numpy.ndarray` of the pixel data.

  Added in version 2.1.

  Parameters:

    ds (pydicom.dataset.Dataset) – The `Dataset` containing an Image Pixel module and the Pixel Data to be converted.

  Returns:

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

  Return type:

    numpy.ndarray

pydicom.pixel_data_handlers.pylibjpeg_handler.is_available() → bool

  Return `True` if the handler has its dependencies met.

pydicom.pixel_data_handlers.pylibjpeg_handler.needs_to_convert_to_RGB(ds: Dataset) → bool

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

  This affects JPEG transfer syntaxes.

pydicom.pixel_data_handlers.pylibjpeg_handler.should_change_PhotometricInterpretation_to_RGB(ds: Dataset) → bool

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

  This affects JPEG transfer syntaxes.

pydicom.pixel_data_handlers.pylibjpeg_handler.supports_transfer_syntax(tsyntax: UID) → bool

  Return `True` if the handler supports the tsyntax.

  Parameters:

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