The ROI filter cuts a region of interest out of the incoming frames. It creates a new output video format.
The ROI filter is loaded by an application using following code:
[C#]
FrameFilter ROIFilter; ROIFilter = ICImagingControl1.FrameFilterCreate("ROI", ""); if( ROIFilter == null ) MessageBox.Show("Failed to create ROIFilter"); else ICImagingControl1.DeviceFrameFilters.Add(ROIFilter);
The part of the image that is copied to the destination frame is determined by four filter parameters:
The dimensions and the start positions of the region of interest can be specified in the ROI filter's property dialog:
The following source code can be used, if the parameter should be set by an application:
[C#]
// Retrieve the current ROI rectangle. int left = ROIFilter.GetIntParameter("Left"); int top = ROIFilter.GetIntParameter("Top"); int height = ROIFilter.GetIntParameter("Height"); int width = ROIFilter.GetIntParameter("Width"); // Set a new ROI. left = 100; top = 50; // The position of the ROI can be set regardless of whether the live video is running // because the size of the resulting video format is not changed. ROIFilter.SetIntParameter("Left", left); ROIFilter.SetIntParameter("Top", top); if( !ICImagingControl1.LiveVideoRunning ) { // A new ROI width and height can only be set, while the live video is stopped. // Otherwise, an error is returned by setParameter(); height = 120; width = 180; ROIFilter.SetIntParameter("Height", height); ROIFilter.SetIntParameter("Width", width); }