class_docstr: Basic drawing functionality.
  
  This class encapsulates opencv drawing functions allowing for
  different backends to be implemented following the same interface.
class_docstr_tok: ["Basic","drawing","functionality",".","This","class","encapsulates","opencv","drawing","functions","allowing","for","different","backends","to","be","implemented","following","the","same","interface","."]
docstr: Draw a circle.
  
  Parameters
  ----------
  frame : np.ndarray
      The OpenCV frame to draw on. Modified in place.
  position : Tuple[int, int]
      Position of the point. This will become the center of the circle.
  radius : Optional[int], optional
      Radius of the circle.
  thickness : Optional[int], optional
      Thickness or width of the line.
  color : Color, optional
      A tuple of ints describing the BGR color `(0, 0, 255)`.
  
  Returns
  -------
  np.ndarray
      The resulting frame.
docstr_tok: ["Draw","a","circle",".","Parameters","--","--","--","--","--","frame",":","np.ndarray","The","OpenCV","frame","to","draw","on",".","Modified","in","place",".","position",":","Tuple","[","int",",","int","]","Position","of","the","point",".","This","will","become","the","center","of","the","circle",".","radius",":","Optional","[","int","]",",","optional","Radius","of","the","circle",".","thickness",":","Optional","[","int","]",",","optional","Thickness","or","width","of","the","line",".","color",":","Color",",","optional","A","tuple","of","ints","describing","the","BGR","color","`","(","0",",","0",",","255",")","`",".","Returns","--","--","--","-","np.ndarray","The","resulting","frame","."]
code: def circle(
      cls,
      frame: np.ndarray,
      position: Tuple[int, int],
      radius: Optional[int] = None,
      thickness: Optional[int] = None,
      color: ColorType = None,
  ) -> np.ndarray:
      """
      Draw a circle.
  
      Parameters
      ----------
      frame : np.ndarray
          The OpenCV frame to draw on. Modified in place.
      position : Tuple[int, int]
          Position of the point. This will become the center of the circle.
      radius : Optional[int], optional
          Radius of the circle.
      thickness : Optional[int], optional
          Thickness or width of the line.
      color : Color, optional
          A tuple of ints describing the BGR color `(0, 0, 255)`.
  
      Returns
      -------
      np.ndarray
          The resulting frame.
      """
      if radius is None:
          radius = int(max(max(frame.shape) * 0.005, 1))
      if thickness is None:
          thickness = radius - 1
  
      return cv2.circle(
          frame,
          position,
          radius=radius,
          color=color,
          thickness=thickness,
      )
  
file_path: norfair/norfair/drawing/drawer.py
imports: from typing import Any, Optional, Sequence, Tuple, Union
  import numpy
  from norfair.drawing.color import Color, ColorType
  from norfair.tracker import Detection, TrackedObject
label_desc: Use image node_id 1 for calling the Drawer obj's underlying member method code with example usage: obj.circle(cls, frame, position, radius, thickness, color) and returns: cv2