code: def __init__(self, *args, **kwargs):
      kwargs["match_original"] = True
      self._visual_vertices = kwargs.pop("visual_vertices", None)
      self._directed = kwargs.pop("directed", False)
      self._arrow_sizes = kwargs.pop("arrow_sizes", None)
      self._arrow_widths = kwargs.pop("arrow_widths", None)
      self._loop_sizes = kwargs.pop("loop_sizes", None)
      self._curved = kwargs.pop("curved", None)
      super().__init__(*args, **kwargs)
  
imports: from math import atan2, cos, pi, sin
  from igraph.drawing.baseclasses import AbstractEdgeDrawer
  from igraph.drawing.metamagic import AttributeCollectorBase
  from igraph.drawing.matplotlib.utils import find_matplotlib
  from igraph.drawing.utils import get_bezier_control_points_for_curved_edge, FakeModule
label_desc: Use image node_id 1 to create a new EdgeCollection object from inherited base classes: PatchCollection with example: obj = EdgeCollection()