Common Vision Blox 15.1
Loading...
Searching...
No Matches
ImageManager/Cvb.Net/FlowSetPool

This example program is located in your CVB installation under %CVB%Tutorial/ImageManager/Cvb.Net/FlowSetPool.

Program.cs:

// Example of managing buffer allocation for image streaming.

using System;
namespace FlowSetPool
{
class FlowSetPool
{
static void Main(string[] args)
{
using var devices = DeviceFactory.Discover(DiscoverFlags.IgnoreVins);
using var device = DeviceFactory.Open(devices[0], AcquisitionStack.GenTL);
var stream = ((GenICamDevice)device).GetStream<ImageStream>(0);
stream.RegisterManagedFlowSetPool(100);
Console.WriteLine($"Buffers allocated: {stream.FlowSetCount}");
stream.DeregisterFlowSetPool();
stream.RegisterManagedFlowSetPool(200);
Console.WriteLine($"Buffers allocated: {stream.FlowSetCount}");
stream.Start();
for (int i = 0; i < 10; i++)
{
using var image = stream.Wait(out WaitStatus status);
using var nodeMaps = NodeMapDictionary.FromImage(image);
// processing here...
}
stream.Abort();
}
}
}
static Device Open(DiscoveryInformation info, AcquisitionStack acquisitionStack=AcquisitionStack.PreferVin)
static DiscoveryInformationList Discover()
static NodeMapDictionary FromImage(MultiPartImage image)