docs: def __compare_parameters(self, width, height, zoom, parameters):
          """Compare parameters for equality
  
          Checks if a cached image is existing, the the dimensions agree and finally if the properties are equal. If
          so, True is returned, else False,
          :param width: The width of the image
          :param height: The height of the image
          :param zoom: The current scale/zoom factor
          :param parameters: The parameters used for the image
          :return: True if all parameters are equal, False else
          """
  
          # Deactivated caching
          if not global_gui_config.get_config_value('ENABLE_CACHING', True):
              return False
  
          # Empty cache
          if not self.__image:
              return False
  
          # Changed image size
          if self.__width != width or self.__height != height:
              return False
  
          # Current zoom greater then prepared zoom
          if zoom > self.__zoom * self.__zoom_multiplicator:
              return False
  
          # Current zoom much smaller than prepared zoom, causes high memory usage and imperfect anti-aliasing
          if zoom < self.__zoom / self.__zoom_multiplicator:
              return False
  
          # Changed drawing parameter
          for key in parameters:
              try:
                  if key not in self.__last_parameters or self.__last_parameters[key] != parameters[key]:
                      return False
              except (AttributeError, ValueError):
                  # Some values cannot be compared and raise an exception on comparison (e.g. numpy.ndarray). In this
                  # case, just return False and do not cache.
                  try:
                      # Catch at least the ndarray-case, as this could occure relatively often
                      import numpy
                      if isinstance(self.__last_parameters[key], numpy.ndarray):
                          return numpy.array_equal(self.__last_parameters[key], parameters[key])
                  except ImportError:
                      return False
                  return False
  
          return True