import cvb
from timeit import default_timer as timer
TIMEOUT_MS = 3000
NUM_ELEMENTS_TO_ACQUIRE = 5000
FEEDBACK_INTERVAL = NUM_ELEMENTS_TO_ACQUIRE / 10
NUM_FLOW_SETS = 10
item = devices[0]
item.set_parameter("UseRdma", "1")
node_map = device.node_maps[cvb.NodeMapID.Device]
payload_size = node_map.node("PayloadSize").value
stream.register_managed_flow_set_pool(NUM_FLOW_SETS)
stream.start()
start = timer()
for i in range(NUM_ELEMENTS_TO_ACQUIRE):
composite, status, _ = stream.wait_for(TIMEOUT_MS)
with composite:
part = composite[0]
if i and i % FEEDBACK_INTERVAL == 0:
print(f"acquired images: {i} | size: {img.width} x {img.height}")
else:
print(f"acquired composites: {i} which is not an image")
end = timer()
duration = end - start
data_rate = payload_size * NUM_ELEMENTS_TO_ACQUIRE / (1000000 * duration)
stream.try_abort()
print(f"\nacquired {NUM_ELEMENTS_TO_ACQUIRE} buffers in {(duration * 1000):.2f} ms ( {data_rate:.2f} MB/s )")
Union[cvb.GenICamDevice, cvb.VinDevice, cvb.EmuDevice, cvb.VideoDevice, cvb.NonStreamingDevice] open(str provider, int acquisition_stack=cvb.AcquisitionStack.PreferVin)
List[cvb.DiscoveryInformation] discover_from_root(int flags=cvb.DiscoverFlags.FindAll, int time_span=300)