GenAPI

GenApiは、カメラを設定する際に生じる問題を解決します。一般的な解決手法が用いられているため、同じ方法をフレームグラバーを含むさまざまな種類のデバイスに適用できます。この章では、カメラについて言及する内容はフレームグラバーにも適用されます。

GenApiが機能するには、レジスタ記述GenApi実装の2つが必要です。

レジスタ記述

レジスタ記述は、カメラのデータシートをコンピューターが解読できる方法で記述したXMLファイルです。カメラの設定(PixelFormatTriggerSourceなど)やその設定方法に関する指示(ExposureModeTimedに設定するには値0x12をレジスタ0xE0140に書き込む、など)が定義されます。またカメラのドキュメントが含まれることもあります。

GenApi実装

GenApi実装は、レジスタ記述ファイルを読み取って解釈するソフトウェアモジュールです。

EMVAリファレンス実装を提供していますが、使用するのはかなり難しく、ログ機能の性能が非常に劣っています。eGrabberソフトウェアパッケージに同梱されているEuresysの実装を使用することをお勧めします。この実装では、強力な設定スクリプトを書くことも可能です。

機能

GenApiからは、カテゴリ別に編成された名前付きの機能が得られます。

set/get機能

set/get機能は単純な設定(MultiCamではパラメーターと呼ばれる)であり、さまざまな型を使用できます。

整数型(Widthなど)
浮動小数点数型(AcquisitionFrameRateなど)
列挙型(PixelFormatなど)
ブール型(LUTEnableなど)
文字列型(DeviceVendorNameなど)

機能の値は、get/set関数を使用して取得/変更できます。一部には読み取り専用の機能や書き込み専用の機能もありますが、ほとんどの機能には読み取り/書き込み権限が許可されています。

コマンド

また、コマンドというほかの種類の機能もあります(AcquisitionStartなど)。コマンドは特殊で、関連する値はなく、決められた動作をします。コマンド機能は実行することを目的としています。コマンドが実行されると、カメラ内で何らかの動作が発生します(ソフトウェアトリガーが生成されるなど)。コマンドにはget/set関数の概念が当てはまらないため、コマンドでこれらの関数を使用することはできません。