The FrameHandlerSink is the SinkType used to grab (copy) frames from the image stream. It contains an ImageBuffer collection and optionally allows you to specify one or more FrameFilters that are responsible for copying the image data to the ImageBuffers. The FrameFilter implementation can perform user-defined transformations while copying the data, and they can intentionally drop unwanted frames. If no frame filter is registered, the frames are copied to the ImageBuffer collection without being changed.
Frames are copied one after another to the ImageBuffer collection, starting with the first buffer of the collection. When a frame is copied into the last buffer, the next frame is copied to the first buffer and so on.
The FrameHandlerSink can operate in snap mode or in grab mode. The mode can be toggled by using the FrameHandlerSink.SnapMode property. In grab mode, frames are copied continuously to the ImageBuffers, as soon as ICImagingControl.LiveStart is called. A call to ICImagingControl.LiveStop ends the copy process. On the other hand, in snap mode, every call to FrameHandlerSink.SnapImage, FrameHandlerSink.SnapImageSequence or FrameHandlerSink.SnapImageSequenceAsync copies the specified number of frames to the ImageBuffers.
Introduced in IC Imaging Control 3.0
BaseSink
FrameHandlerSink
Property | Description | ||
BufferCount | Returns and sets the number of buffers in FrameHandlerSink.ImageBuffers. |
||
FrameCount | Returns the total number of frames that this sink processed since the last call of ICImagingControl.LiveStart. |
||
FrameFilters | Returns a frame filter collection. The last filter in the collection is responsible to copy the image data to the Membuffer collection while the others are used to manipulate the image data that go to the sink. |
||
FrameTypes | The FrameTypes collections allows the specification of valid image formats for the ImageBuffer collection. |
||
ImageBuffers | Returns the collections of ImageBuffer objects in this sink. |
||
LastAcquiredBuffer | Returns the ImageBuffer in which the last frame was fully copied. After stopping the sink, this function returns the last acquired frame until the sink is restarted. |
||
SnapMode | Changes this sink's operating mode between Grab and Snap mode. In grab mode, all frames reaching the sink are presented to the frame filter or filter chain and then copied into the ImageBuffers. After that, the ICImagingControl.ImageAvailable event is raised. In snap mode, SnapImage, SnapImageSequence or SnapImageSequenceAsync has to be called in order to trigger the image acquisition process. |
||
Method | Description | ||
SnapImage | Queues up a snap job, thus allowing one frame to be copied into the ImageBuffer collection. The method returns when either the frame was snapped, or the timeout has occurred. |
||
SnapImageSequence | Queues up a snap job, thus allowing a number of frames to be copied into the ImageBuffer collection. The method returns when either the specified number of frames are snapped, or the timeout has occurred. |
||
SnapImageSequenceAsync | Queues up a snap job, thus copying a number of frames into the ImageBuffer collection. The method returns immediately after queuing the job. |
||