class_docstr: **Bases:** :class:`GraphicsObject <pyqtgraph.GraphicsObject>`
class_docstr_tok: ["*","*","Bases",":","*","*",":","class",":","`","GraphicsObject","<","pyqtgraph.GraphicsObject",">","`"]
code: def _apply_lut_for_uint16_mono(self, image, lut):
      # Note: compared to makeARGB(), we have already clipped the data to range
  
      xp = self._xp
      augmented_alpha = False
  
      # if lut is 1d, then lut[image] is fastest
      # if lut is 2d, then lut.take(image, axis=0) is faster than lut[image]
  
      if not image.flags.c_contiguous:
          image = lut.take(image, axis=0)
  
          # if lut had dimensions (N, 1), then our resultant image would
          # have dimensions (h, w, 1)
          if image.ndim == 3 and image.shape[-1] == 1:
              image = image[..., 0]
  
          return image, augmented_alpha
  
      # if we are contiguous, we can take a faster codepath where we
      # ensure that the lut is 1d
  
      lut, augmented_alpha = self._convert_2dlut_to_1dlut(lut)
  
      fn_numba = fn.getNumbaFunctions()
      if xp == numpy and fn_numba is not None:
          image = fn_numba.numba_take(lut, image)
      else:
          image = lut[image]
  
      if image.dtype == xp.uint32:
          image = image[..., xp.newaxis].view(xp.uint8)
  
      return image, augmented_alpha
  
imports: import warnings
  from collections.abc import Callable
  import numpy
  from ..None import colormap
  from ..None import debug
  from ..None import functions
  from ..None import getConfigOption
  from ..Point import Point
  from ..Qt import QtCore, QtGui, QtWidgets
  from ..util.cupy_helper import getCupy
  from .GraphicsObject import GraphicsObject
label_desc: Use image node_id 30 for calling the ImageItem obj's underlying member method code with example usage: obj._apply_lut_for_uint16_mono(image, lut) and returns: image,  augmented_alpha, image,  augmented_alpha