高フレームレートでの取得
eGrabberのこのリリースより、バッファ当たり1個以上の画像を保存できるようになりました。バッファ当たりの画像数は、デフォルトでは1個ですが、最大10,000個の値を設定できるようになっています。
バッファごとに複数画像を保存できるようになったため、バッファの管理に関連する処理のオーバーヘッドが軽減されます。つまりエリアスキャンアプリケーションで、1秒当たり数十万個を超える非常に高い取得フレームレートを達成できるのです。
eGrabberには、この新しい機能の使用方法を示すサンプルプログラムが複数用意されています。これらのプログラムには、アプリケーションがバッファ内の各画像の取得を追跡することで、画像処理がレイテンシを伴うことなく実行されることについても説明されています。
高フレームレートで取得するメリットは?
バッファ管理において処理にオーバーヘッドが生じると、ホストPCは、高フレームレートでの画像の取り込みが行えなくなります。この上限はホストPCによって異なりますが、グレーゾーンは通常、1 kHzから5 kHzの範囲です。
バッファごとに複数画像を保存できるようになったため、処理のオーバーヘッドが軽減されます。つまりエリアスキャンアプリケーションで、1秒当たり数十万個を超える非常に高い取得フレームレートを達成できるのです。
1つのバッファに保存できる画像するの構成
1つのバッファに保存できる画像数は、Data StreamモジュールのBufferPartCount GenApi機能に定義されています。
BufferPartCountのデフォルト値は1で、最大値は10,000です。
高フレームレートアプリケーションでは、より高い値を使用することをお勧めします。この値は、ホストPCが維持できる上限より低いバッファ処理レートを帆持つのに十分な大きさである必要があります。
データストリームのHeightは、BufferPartCount X カメラのHeightに設定されています。
BufferPartCountの値は、バッファが設定されるときにのみ使用されます。
ラインスキャンのファームウェアバリアントでは利用できません
データストリームのHeightは、BufferPartCount X カメラのHeightに設定されています。
参照:「310-high-frame-rate」サンプルプログラム
HFR取得の管理
BUFFER_INFO_CUSTOM_CMD_LISTに、次のコマンドが追加されています。
BUFFER_INFO_CUSTOM_PART_SIZE
BUFFER_INFO_CUSTOM_NUM_PARTS
BUFFER_INFO_CUSTOM_NUM_DELIVERED_PARTS
BUFFER_INFO_CUSTOM_PART_TIMESTAMPS
BUFFER_INFO_CUSTOM_NUM_DELIVERED_PARTSを使用して、バッファで利用できるパーツ数を取得します。
参照:「311-high-frame-rate」サンプルプログラム
BUFFER_INFO_CUSTOM_PART_TIMESTAMPS 64ビットアレイを使用して、各バッファパートのタイムスタンプを取得します。
参照:「312-high-frame-rate」サンプルプログラム