class_docstr: Create and store a set of contour lines or filled regions.
  
  This class is typically not instantiated directly by the user but by
  `~.Axes.contour` and `~.Axes.contourf`.
  
  %(contour_set_attributes)s
class_docstr_tok: ["Create","and","store","a","set","of","contour","lines","or","filled","regions",".","This","class","is","typically","not","instantiated","directly","by","the","user","but","by","`","~.Axes.contour","`","and","`","~.Axes.contourf","`",".","%","(","contour_set_attributes",")","s"]
docstr: Process args and kwargs.
docstr_tok: ["Process","args","and","kwargs","."]
code: def _process_args(
      self, *args, corner_mask=None, algorithm=None, **kwargs
  ):
      """
      Process args and kwargs.
      """
      if args and isinstance(args[0], QuadContourSet):
          if self.levels is None:
              self.levels = args[0].levels
          self.zmin = args[0].zmin
          self.zmax = args[0].zmax
          self._corner_mask = args[0]._corner_mask
          contour_generator = args[0]._contour_generator
          self._mins = args[0]._mins
          self._maxs = args[0]._maxs
          self._algorithm = args[0]._algorithm
      else:
          import contourpy
  
          if algorithm is None:
              algorithm = mpl.rcParams["contour.algorithm"]
          mpl.rcParams.validate["contour.algorithm"](algorithm)
          self._algorithm = algorithm
  
          if corner_mask is None:
              if self._algorithm == "mpl2005":
                  # mpl2005 does not support corner_mask=True so if not
                  # specifically requested then disable it.
                  corner_mask = False
              else:
                  corner_mask = mpl.rcParams["contour.corner_mask"]
          self._corner_mask = corner_mask
  
          x, y, z = self._contour_args(args, kwargs)
  
          contour_generator = contourpy.contour_generator(
              x,
              y,
              z,
              name=self._algorithm,
              corner_mask=self._corner_mask,
              line_type=contourpy.LineType.SeparateCode,
              fill_type=contourpy.FillType.OuterCode,
              chunk_size=self.nchunk,
          )
  
          t = self.get_transform()
  
          # if the transform is not trans data, and some part of it
          # contains transData, transform the xs and ys to data coordinates
          if t != self.axes.transData and any(
              t.contains_branch_seperately(self.axes.transData)
          ):
              trans_to_data = t - self.axes.transData
              pts = np.vstack([x.flat, y.flat]).T
              transformed_pts = trans_to_data.transform(pts)
              x = transformed_pts[..., 0]
              y = transformed_pts[..., 1]
  
          self._mins = [ma.min(x), ma.min(y)]
          self._maxs = [ma.max(x), ma.max(y)]
  
      self._contour_generator = contour_generator
  
      return kwargs
  
imports: from contextlib import ExitStack
  import functools
  import math
  from numbers import Integral
  import numpy
  from numpy import ma
  import matplotlib
  from matplotlib import _api, _docstring
  from matplotlib.backend_bases import MouseButton
  from matplotlib.lines import Line2D
  from matplotlib.path import Path
  from matplotlib.text import Text
  import matplotlib.ticker
  import matplotlib.cm
  import matplotlib.colors
  import matplotlib.collections
  import matplotlib.font_manager
  import matplotlib.cbook
  import matplotlib.patches
  import matplotlib.transforms
label_desc: Use image node_id 1 for calling the QuadContourSet obj's underlying member method code with example usage: obj._process_args() and returns: kwargs