def METHOD_NAME(self, callback):
    """
    Thread that simulates the CCD acquisition.
    """
    try:
        while not self._acquisition_must_stop.is_set():
            duration = self.exposureTime.value
            if self._acquisition_must_stop.wait(duration):
                break
            callback(self._simulate_image())
    except:
        logging.exception("Unexpected failure during image acquisition")
    finally:
        logging.debug("Acquisition thread closed")
        self._acquisition_must_stop.clear()