code: def _exposure_process(tens: Tensor) -> Tensor:
      tens = to_tensor(tens, enforce_tensor=True)
      cspace = tens.cspace
  
      tens = to_bgr(tens)
      tens_yuv = cv.cvtColor(tens, cv.COLOR_BGR2YUV)
  
      clahe = cv.createCLAHE(clipLimit=2.0, tileGridSize=(4, 4))
      ones = np.ones(tens_yuv[:, :, 0].shape)
      ones[tens_yuv[:, :, 0] > 150] = 0.85
      tens_yuv[:, :, 0] = tens_yuv[:, :, 0] * ones
  
      tens_yuv[:, :, 0] = clahe.apply(tens_yuv[:, :, 0])
      tens_yuv[:, :, 0] = cv.equalizeHist(tens_yuv[:, :, 0])
      tens_yuv[:, :, 0] = clahe.apply(tens_yuv[:, :, 0])
  
      tens_res = cv.cvtColor(tens_yuv, cv.COLOR_YUV2BGR)
      tens = to_tensor(tens_res, cspace="bgr")
      tens = _cvt_color(tens, cspace)
  
      return cv.fastNlMeansDenoisingColored(tens, None, 3, 3, 7, 21)
  
imports: import cv2
  import random
  import math
  import numpy
  from ..coreten import Tensor, to_tensor
  from ..annotations import Tuple, Union
  from ..color import to_hls, to_rgb, to_bgr, to_hsv, to_gray, to_lab
label_desc: Use image node_id 23 for calling a global function with example usage: _exposure_process(tens) and returns: cv