code: def draw(self, x1, x2, y1, y2, maxiter=30):
      # draw the Mandelbrot set, from numpy example
      xx = np.arange(x1, x2, (x2 - x1) / w)
      yy = np.arange(y2, y1, (y1 - y2) / h) * 1j
      q = np.ravel(xx + yy[:, np.newaxis]).astype(np.complex64)
  
      start_main = time.time()
      output = calc_fractal(q, maxiter)
      end_main = time.time()
  
      secs = end_main - start_main
      print("Main took", secs)
  
      self.mandel = (
          output.reshape((h, w)) / float(output.max()) * 255.0
      ).astype(np.uint8)
  
file_path: pyopencl/examples/demo_mandelbrot.py
imports: import time
  import numpy
  import pyopencl
  from PIL import Image
label_desc: Use image node_id 1 for calling the Mandelbrot obj's underlying member method code with example usage: obj.draw(x1, x2, y1, y2, maxiter) without return types