code: def __call__(self, transform_xy, x1, y1, x2, y2):
      # docstring inherited
      x, y = np.meshgrid(
          np.linspace(x1, x2, self.nx), np.linspace(y1, y2, self.ny)
      )
      lon, lat = transform_xy(np.ravel(x), np.ravel(y))
  
      # iron out jumps, but algorithm should be improved.
      # This is just naive way of doing and my fail for some cases.
      # Consider replacing this with numpy.unwrap
      # We are ignoring invalid warnings. They are triggered when
      # comparing arrays with NaNs using > We are already handling
      # that correctly using np.nanmin and np.nanmax
      with np.errstate(invalid="ignore"):
          if self.lon_cycle is not None:
              lon0 = np.nanmin(lon)
              lon -= 360.0 * ((lon - lon0) > 180.0)
          if self.lat_cycle is not None:
              lat0 = np.nanmin(lat)
              lat -= 360.0 * ((lat - lat0) > 180.0)
  
      lon_min, lon_max = np.nanmin(lon), np.nanmax(lon)
      lat_min, lat_max = np.nanmin(lat), np.nanmax(lat)
  
      lon_min, lon_max, lat_min, lat_max = self._add_pad(
          lon_min, lon_max, lat_min, lat_max
      )
  
      # check cycle
      if self.lon_cycle:
          lon_max = min(lon_max, lon_min + self.lon_cycle)
      if self.lat_cycle:
          lat_max = min(lat_max, lat_min + self.lat_cycle)
  
      if self.lon_minmax is not None:
          min0 = self.lon_minmax[0]
          lon_min = max(min0, lon_min)
          max0 = self.lon_minmax[1]
          lon_max = min(max0, lon_max)
  
      if self.lat_minmax is not None:
          min0 = self.lat_minmax[0]
          lat_min = max(min0, lat_min)
          max0 = self.lat_minmax[1]
          lat_max = min(max0, lat_max)
  
      return lon_min, lon_max, lat_min, lat_max
  
imports: import numpy
  import math
  from mpl_toolkits.axisartist.grid_finder import ExtremeFinderSimple
label_desc: Use image node_id 2 for calling the ExtremeFinderCycle obj's underlying member method code with example usage: obj.__call__(transform_xy, x1, y1, x2, y2) and returns: lon_min,  lon_max,  lat_min,  lat_max