code: def quantize(arr, min_val, max_val, levels, dtype=np.int64):
      """Quantize an array of (-inf, inf) to [0, levels-1].
  
      Args:
          arr (ndarray): Input array.
          min_val (scalar): Minimum value to be clipped.
          max_val (scalar): Maximum value to be clipped.
          levels (int): Quantization levels.
          dtype (np.type): The type of the quantized array.
  
      Returns:
          tuple: Quantized array.
      """
      if not (isinstance(levels, int) and levels > 1):
          raise ValueError(
              f"levels must be a positive integer, but got {levels}"
          )
      if min_val >= max_val:
          raise ValueError(
              f"min_val ({min_val}) must be smaller than max_val ({max_val})"
          )
  
      arr = np.clip(arr, min_val, max_val) - min_val
      quantized_arr = np.minimum(
          np.floor(levels * arr / (max_val - min_val)).astype(dtype),
          levels - 1,
      )
  
      return quantized_arr
  
label_desc: Use image node_id 1 for calling a global function with example usage: quantize(arr, min_val, max_val, levels, dtype) and returns: quantized_arr