text: # -*- coding: utf-8 -*-
  """
  Demonstrates very basic use of ImageItem to display image data inside a ViewBox.
  """
  
  ## Add path to library (just for examples; you do not need this)
  import initExample
  
  from pyqtgraph.Qt import QtCore, QtGui
  import numpy as np
  import pyqtgraph as pg
  import pyqtgraph.ptime as ptime
  
  app = pg.mkQApp("ImageItem Example")
  
  ## Create window with GraphicsView widget
  win = pg.GraphicsLayoutWidget()
  win.show()  ## show widget alone in its own window
  win.setWindowTitle('pyqtgraph example: ImageItem')
  view = win.addViewBox()
  
  ## lock the aspect ratio so pixels are always square
  view.setAspectLocked(True)
  
  ## Create image item
  img = pg.ImageItem(border='w')
  view.addItem(img)
  
  ## Set initial view bounds
  view.setRange(QtCore.QRectF(0, 0, 600, 600))
  
  ## Create random image
  data = np.random.normal(size=(15, 600, 600), loc=1024, scale=64).astype(np.uint16)
  i = 0
  
  updateTime = ptime.time()
  fps = 0
  
  def updateData():
      global img, data, i, updateTime, fps
  
      ## Display the data
      img.setImage(data[i])
      i = (i+1) % data.shape[0]
  
      QtCore.QTimer.singleShot(1, updateData)
      now = ptime.time()
      fps2 = 1.0 / (now-updateTime)
      updateTime = now
      fps = fps * 0.9 + fps2 * 0.1
      
      #print "%0.1f fps" % fps
      
  
  updateData()
  
  ## Start Qt event loop unless running in interactive mode.
  if __name__ == '__main__':
      import sys
      if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
          QtGui.QApplication.instance().exec_()
  