code: def tukey_hh_l_mean_and_scale(h_params):
      """Computes L-mean and L-scale for a Tukey HH distribution.
  
      Args:
        h_params: An np.array with dimension 2 on the first axis. The slice
        h_params[0, ...] contains the left parameter of the distribution and
        h_params[1, ...] the right parameter. Each entry h must in 0 <= h < 1.
  
      Returns:
        The tuple (L_mean, L_scale) containing the first two L-moments for the
        given parameters. Each entry has the same shape as h_params, except for
        the first axis, which is removed.
      """
      one_div_sqrt2pi = 1.0 / np.sqrt(2.0 * np.pi)
      hl = h_params[0, ...]
      hr = h_params[1, ...]
      dtype = h_params.dtype
      l_1 = one_div_sqrt2pi * (1.0 / (hl - 1.0) + 1.0 / (1.0 - hr))
      l_2 = one_div_sqrt2pi * (
          (
              np.sqrt(2.0 - hl)
              + np.sqrt(2.0 - hr)
              - hl * np.sqrt(2.0 - hl)
              - hr * np.sqrt(2 - hr)
          )
          / ((hl - 1.0) * (hr - 1.0) * np.sqrt((hl - 2.0) * (hr - 2.0)))
      )
      return (l_1.astype(dtype), l_2.astype(dtype))
  
file_path: transform/tensorflow_transform/gaussianization.py
imports: import numpy
  import tensorflow
label_desc: Use image node_id 1 for calling a global function with example usage: tukey_hh_l_mean_and_scale(h_params) and returns: l_1,  l_2