code: def __init__(self, parent):
      scene.visuals.Compound.__init__(self, [])
      self.unfreeze()
      self.parent = parent
      self._center = [0, 0]
      self._width = 0.0
      self._height = 0.0
      self.selected_cp = None
      self.opposed_cp = None
  
      self.control_points = [
          scene.visuals.Markers(parent=self) for i in range(0, 4)
      ]
      for c in self.control_points:
          c.set_data(
              pos=np.array([[0, 0]], dtype=np.float32),
              symbol="s",
              edge_color="red",
              size=6,
          )
          c.interactive = True
      self.freeze()
  
imports: import numpy
  from vispy import app, scene
  from vispy.color import Color
label_desc: Use image node_id 1 to create a new ControlPoints object from inherited base classes: scene.visuals with example: obj = ControlPoints(parent)