Closed kasliwalr closed 3 years ago
Thanks! for the clarification. poll_frame timeout is not a big/urgent issue for us, a "monitoring" thread in python to interrupt the acquisition should do the trick I think.
Yes, that should work.
I also don't see any option to set buffer size of circular buffer in start_live
. It is set to 16 frames ~ 500MB. Can you make this settable?
I have added a feature to our backlog to add support for specifying the buffer size in live mode. Let me know if you need this in a branch prior to the release.
prior to release, and as soon as possible if you can. will hard-coding in c++
file, and reinstalling PyVCAM
work?
Yes, hard-coding the number of frames will work. Please see pvcmodule.cpp:517
does PyVCAM
's poll_frame()
return a copy of the frame, or is it still referencing the memory in the circular buffer. I need to know if I have to do copying in python to protect the frame?
Yes, a copy occurs. Please see camera.py:374
System information:
Could you clarify how
PyVCAM
API corresponds toPVCAM SDK
C++ API for the following cases:sw_trigger.py
example but it seems thestart_live
orstart_sequence
API do not wait for software-trigger. If you comment out theTriggerThreadRun
section as shown below, you would expect thestart_live()
to wait forever, but instead it runs to completion.~How you set buffer size in
PyVCAM
API: I would like to do sequence acquisition, but I want to set the buffer size to say 100 frames worth of space, how can I do that usingPyVCAM
API? If I cannot do that, how to find the buffer size, what is the default?~ Looking at the .cpp code does clarify things for me (correct me if I am wrong) - allocating memory based on number of frames passed~
poll_frame
: Instart_seq
, what happens ifpoll_frame
is called at a slower rate than FPS? will the underlying buffer be overwritten? In C++ SDK, one could set the buffer size and is thus assured that it will not be overwritten. In live acquisition (C++), the buffer is overwritten if circular mode is set.~ When usingpoll_frame
, are frames returned inFIFO
order? Also, have you confirmed thatpoll_frame
times-out when trigger is not received. I tried withEdge trigger
and the program kept waiting for trigger. Can we set timeout from Python API?