Skip to content

frame.get_status() returns FrameStatus.Incomplete #50

@guanggevwu

Description

@guanggevwu

Hi,

I have some typical code:

def handler_one_by_one(self, cam: Camera, stream: Stream, frame: Frame):
    if frame.get_status() == FrameStatus.Complete:
        self.logger.info('Frame acquired: {}'.format(frame))
        frame_array = np.squeeze(frame.as_numpy_ndarray())
        self.imageq.put(frame_array)
    self.camera.queue_frame(frame)

if self._trigger_source in ['Software', 'External']:
    self.camera.start_streaming(self.handler_one_by_one)
    self.logger.info(
        f'Ready to receive {self._trigger_source} triggers')

I noticed sometimes the images were skipped and were not added to the queue (self.imageq). It turned out frame.get_status() returned FrameStatus.Incomplete sometimes. But I want to obtain all the images and save them. One reason is possibly that my bandwidth is not large enough since I have lots of other cameras in my network. I am willing to wait for a few seconds or even longer time to acquire the one image triggerred by software trigger or external trigger. What should I do?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions