FrameHandlerSink

FrameHandlerSinkは画像ストリームよりフレームを取り込む(コピーする)のに使用されるSinkTypeです。 ImageBufferクラスライブラリリファレンス>クラス>ImageBufferコレクションを含んでおり、画像データをImageBufferにコピーするためのFrameFilterクラスライブラリリファレンス>クラス>FrameFilterを1つ以上指定することもオプションで可能となっております。FrameFilterの実装はデータをコピーする際にユーザー定義の変換を実行することができます。また同時に不要なフレームを除くことも可能です。フレームフィルタが登録されていない場合は、フレームはそのままImageBufferコレクションへコピーされます。

フレームは最初のバッファから順にImageBufferコレクションにコピーされていきます。フレームが最後のバッファまでコピーされると、次のフレームは最初のバッファに戻って再度順番にコピーされていきます。

FrameHandlerSinksnap modeもしくはgrab modeで動作します。

これらのモードはFrameHandlerSink.SnapModeクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapMode Propertyプロパティを使う事で切り替えが可能です。grab modeでは、ICImagingControl.LiveStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStart Method が呼び出されるとすぐにフレームを連続的にImageBufferにコピーしていきます。ICImagingControl.LiveStopクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStop Methodの呼び出しでこの作業を終了します。snap modeでは、FrameHandlerSink.SnapImageクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImage Method, FrameHandlerSink.SnapImageSequenceクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImageSequence Method, FrameHandlerSink.SnapImageSequenceAsyncクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImageSequenceAsync Methodのこれら3つのうちいずれのメソッドを呼び出しても指定された数のフレームをImageBufferにコピーすることになります。

インフォメーション

ネームスペース: TIS.Imaging
IC Imaging Control 3.0より導入

プロパティ

プロパティ 説明
BufferCountクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.BufferCount Property FrameHandlerSink.ImageBuffersクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.ImageBuffers Property内のバッファの数を返す、もしくは設定します。
FrameCountクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.FrameCount Property ICImagingControl.LiveStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStart Methodを最後に呼び出してからシンクが処理したフレームの総数を返します。
FrameFiltersクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.FrameFilters Property フレームフィルタコレクションを返します。そのうち最後のフィルタは画像データをMembuffer コレクションにコピーする役割があり、その他のフィルタはシンクに送られる画像データの処理に使用されます。 
FrameTypeクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.FrameType Property 現在使用中のシンクのフレームタイプを返します。
FrameTypesクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.FrameTypes Property FrameTypesクラスライブラリリファレンス>クラス>FrameTypes コレクションはImageBufferクラスライブラリリファレンス>クラス>ImageBuffer コレクションのための有効なイメージフォーマットの指定を行います。
ImageBuffersクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.ImageBuffers Property シンクのImageBufferクラスライブラリリファレンス>クラス>ImageBuffer オブジェクトのコレクションを返します。
LastAcquiredBufferクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.LastAcquiredBuffer Property 最後にキャプチャしたフレームを含む ImageBufferクラスライブラリリファレンス>クラス>ImageBuffer を返します。
SnapModeクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapMode Property シンクの動作モードをGrabモードと Snapモードの間で切り替えます。grab モードではシンクに向かう全フレームはフレームフィルタもしくはフィルタチェーンに渡され、それから ImageBufferクラスライブラリリファレンス>クラス>ImageBufferに コピーされます。その後、ICImagingControl.ImageAvailableクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.ImageAvailable Eventイベントが起こります。snap モードでは、画像取り込み処理を行わせるために SnapImageクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImage Method, SnapImageSequenceクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImageSequence Method , SnapImageSequenceAsyncクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImageSequenceAsync Methodの いずれかを呼び出さなければなりません。

メソッド

メソッド 説明
SnapImageクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImage Method スナップジョブのキューを作り、ImageBufferクラスライブラリリファレンス>クラス>ImageBuffer コレクションに1枚のフレームをコピーさせます。メソッドはフレームを取得した時、またはタイムアウトが発生した時に戻り値 を返します。
SnapImageSequenceクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImageSequence Method スナップジョブのキューを作り、ImageBufferクラスライブラリリファレンス>クラス>ImageBuffer コレクションに複数枚のフレームをコピーさせます。 メソッドは指定された枚数のフレームを取得した時、またはタイムアウトが発生した時に戻り値を返します。
SnapImageSequenceAsyncクラスライブラリリファレンス>クラス>FrameHandlerSink>FrameHandlerSink.SnapImageSequenceAsync Method スナップジョブのキューを作り、ImageBufferクラスライブラリリファレンス>クラス>ImageBuffer コレクションに複数枚のフレームをコピーさせます メソッドはジョブがキューに配置されてすぐに戻り値を返します。