code: def generate_heatmaps(height, width, points, sigma=None):
      """Generate heatmaps corresponding to a set of points.
  
      Args:
          height (int): Heatmap height
          width (int): Heatmap width
          points (np.array): An array of points of shape (N, 2)
          sigma (float, optional): Standard deviation of the gaussian kernel. If not specified it will be determined
              from the width of the heatmap
  
      Returns:
          np.array: The generated heatmaps.
      """
      sigma = (
          max(1, int(np.round(width / 128.0)))
          if sigma is None
          else sigma
      )
      heatmaps = np.zeros(
          (points.shape[0], height, width), dtype=np.float32
      )
      for i in range(points.shape[0]):
          if points[i, 0] > 0:
              heatmaps[i] = draw_gaussian(heatmaps[i], points[i], sigma)
  
      return heatmaps
  
imports: import numpy
  import math
  import cv2
label_desc: Use image node_id 3 for calling a global function with example usage: generate_heatmaps(height, width, points, sigma) and returns: heatmaps