'**SUMMARY**
Extract an Image from the Camera, returning the value.  No matter
what the image characteristics on the camera, the Image returned
will be RGB 8 bit depth, if camera is in greyscale mode it will
be 3 identical channels.
**EXAMPLE**
>>>c = AVTCamera()
>>>c.getImage().show()'

def getImage(self, timeout=5000):

    if (self.frame != None):
        st = time.time()
        try:
            pverr(self.dll.PvCaptureWaitForFrameDone(self.handle, ct.byref(self.frame), timeout))
        except Exception as e:
            print 'Exception    waiting    for    frame:', e
            print 'Time    taken:', (time.time() - st)
            self.frame = None
            raise e
        img = self.unbuffer()
        self.frame = None
        return img
    elif self.threaded:
        self._thread.lock.acquire()
        try:
            img = self._buffer.pop()
            self._lastimage = img
        except IndexError:
            img = self._lastimage
        self._thread.lock.release()
    else:
        self.runCommand('AcquisitionStart')
        frame = self._getFrame(timeout)
        img = Image(pil.fromstring(self.imgformat, (self.width, self.height), frame.ImageBuffer[:int(frame.ImageBufferSize)]))
        self.runCommand('AcquisitionStop')
    return img
