FrameHandlerSink

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.

Information

    Introduced in IC Imaging Control 3.0

Inheritance

    BaseSink
            FrameHandlerSink

Properties

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.

Methods

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.

<< Classes