class_docstr: Object representing a complex data producer.
class_docstr_tok: ["Object","representing","a","complex","data","producer","."]
code: def __init__(self, num_iterations=1000, parent=None):
      super().__init__(parent)
      self._should_end = False
      self._num_iters = num_iterations
      self._image_data = _generate_random_image_data(IMAGE_SHAPE)
      self._line_data = _generate_random_line_positions(NUM_LINE_POINTS)
  
imports: import time
  from math import sin, pi
  import numpy
  from PyQt5 import QtWidgets, QtCore
  from vispy.scene import SceneCanvas, visuals
  from vispy.app import use_app
label_desc: Use image node_id 1 to create a new DataSource object from inherited base classes: QtCore with example: obj = DataSource(num_iterations, parent)