code: def image_corner_points(im, settings):
      grayscale = im.convert("L")
  
      # naive attempt at preventing focal points from collecting at watermarks near the bottom
      gd = ImageDraw.Draw(grayscale)
      gd.rectangle(
          [0, im.height * 0.9, im.width, im.height], fill="#999"
      )
  
      np_im = np.array(grayscale)
  
      points = cv2.goodFeaturesToTrack(
          np_im,
          maxCorners=100,
          qualityLevel=0.04,
          minDistance=min(grayscale.width, grayscale.height) * 0.06,
          useHarrisDetector=False,
      )
  
      if points is None:
          return []
  
      focal_points = []
      for point in points:
          x, y = point.ravel()
          focal_points.append(
              PointOfInterest(x, y, size=4, weight=1 / len(points))
          )
  
      return focal_points
  
imports: import cv2
  import requests
  import os
  import numpy
  from PIL import ImageDraw
  from modules import paths_internal
  from pkg_resources import parse_version
label_desc: Use image node_id 4 for calling a global function with example usage: image_corner_points(im, settings) and returns: focal_points, list