コンテンツにスキップ

pylonを使用したフレームグラバーの設定#

このトピックでは、pylon API、pylon Viewer、またはgpioToolを使用してpylon互換フレームグラバーを設定する方法について説明します。

情報

このトピックでは、基本的なユースケースについて説明します。フレームグラバーのソフトウェア機能に関する詳細情報については、次のドキュメントを参照してください:

フレームグラバーの設定は、次のような場合に特に役立ちます:

アプレットの変更#

フレームグラバーで実行されるアプレットがその機能を定義します。特定のカメラ設定では、デフォルトのアプレットを変更する必要がある場合があります。

フレームグラバーで使用されるアプレットを変更するには、次のように設定します。 InterfaceApplet パラメータをロードするアプレットの名前に設定します(例: Acq_DualCXP12Area.

利用可能なアプレットについては、Acquisition Applets for imaWorx CXP-12 Quadを参照してください。

フレームグラバーを使用したBasler boostカメラのトリガー#

情報

このセクションは、特にフレームグラバー経由でカメラをトリガーする場合にのみ関連します。通常、カメラはカメラのI/Oコネクタ経由でトリガーされます。詳細については、トリガー画像取得を参照してください。

ハードウェアトリガー(外部)#

外部トリガーが有効な場合、フレームグラバーにトリガー入力信号を送信でき、フレームグラバーはその信号をBasler boostカメラに転送します。

外部ハードウェアトリガー用にフレームグラバーを設定するには:

  1. パラメーターを AreaTriggerMode パラメータを External.
  2. パラメーターを TriggerInSource パラメータを目的の「Front GPI」入力ラインに設定します。
    たとえば、外部トリガーにGPI0(フレームグラバーのピン11および12)を使用する場合は、パラメータを次のように設定します。 FrontGpiTriggerSource0.
  3. パラメーターを TriggerCameraOutSelect パラメータを対応する「Bypass」オプションに設定します。
    たとえば、次を選択した場合 FrontGpiTriggerSource0、 TriggerCameraOutSelect パラメータを BypassFrontGpi0.
  4. パラメーターを TriggerState パラメータを Active.
  5. 必要に応じて、以下の説明に従ってトリガー信号を設定します。

すべてのトリガー信号は、カメラのソース信号に転送されます CxpTrigger0 および CxpTrigger1 (現在、2つの回線の動作に違いはありません)。信号はさまざまな目的に使用できます。最も一般的なユースケースは画像取得です。 以下の例.

ハードウェアトリガー(内部)#

内部トリガーが有効な場合、フレームグラバーは指定された周波数で内部的にトリガー信号を生成します。すべての外部トリガー信号は無視されます。

内部ハードウェアトリガー用にフレームグラバーを設定するには:

  1. パラメーターを AreaTriggerMode パラメータを Generator.
  2. パラメーターを TriggerOutputFrequency パラメータを希望のトリガー出力周波数に設定します。たとえば、パラメータを8に設定すると、フレームグラバーは1秒あたり8個のトリガー信号を生成します。
  3. パラメーターを TriggerCameraOutSelect パラメータを目的の出力ラインに設定します(例: PulseGenerator0.
  4. パラメーターを TriggerState パラメータを Active.

これで、画像取得を開始するたびに、フレームグラバーが指定された周波数でトリガー信号を生成します。

すべてのトリガー信号は、カメラのソース信号に転送されます CxpTrigger0 および CxpTrigger1。これらの信号はさまざまな目的に使用できます。最も一般的なユースケースは画像取得です。次を参照してください: 以下の例.

例:画像取得のトリガー信号の使用#

フレームグラバーによって生成された外部または内部トリガー信号を使用して画像を取得するには:

  1. カメラ側で、次のように設定します。 TriggerSelector パラメータを FrameStart.
  2. パラメーターを TriggerMode パラメータを On.
  3. パラメーターを ExposureMode パラメータを Timed.
  4. パラメーターを TriggerSource パラメータを CxpTrigger0 または CxpTrigger1.
    現在、2つの回線の動作に違いはないため、どちらか一方を選択できます。

これで、フレームグラバーがトリガー信号を受信または生成するたびに、カメラが画像を取得します。

情報

トリガー信号は、信号ソースによって制御できるBasler boostカメラの機能のソースとして使用できます。例えば、次のように設定します。 CounterTriggerSource パラメータを CxpTrigger0 は、 Counter フレームグラバーを使用したフィーチャー。

フレームグラバーでのデベイヤリングの実行#

frame grabberでデベザリングを実行できます。これにより、カメラとホストコンピューターの計算負荷が軽減されます。

これを行うには:

  1. カメラ側で、次のように設定します。 PixelFormat パラメータをBayer Pixel Formatに設定します(例: BayerRG12.
  2. frame grabberで、 AutomaticFormatControl パラメータを false.
    これにより、カメラで使用されるピクセルフォーマットとは独立して出力フォーマットを設定できます。
  3. frame grabberで、 Format パラメータを対応するRGB Pixel Formatに設定します。
    ビット深度は、Bayer Pixel Formatのビット深度の3倍である必要があります。たとえば、BayerRG12(カメラ)= Color36bit(フレームグラバー)となります。

これで、frame grabberがカメラのRAW画像データのデベザリングを実行し、RGB画像データを出力します。

情報

上記のステップ3で正しいRGBのPixel Formatを設定していることを確認してください。設定していない場合、画像が正常に取得されません。

カメラでは使用できない出力形式の使用#

Basler boostカメラは、いくつかのピクセルフォーマットで画像データを出力できます(Bayer RG 8やRBG 8など)。詳細については、ピクセルフォーマットのトピックを参照してください。

必要なPixel Formatがカメラで利用できず、ホストコンピューターでの画像変換を避けたい場合は、frame grabberが提供するPixel Formatのいずれかを使用できる可能性があります。

frame grabberは次のフォーマットを提供します:

Gray8bit Gray10bit Gray12bit Gray16bit
Color24bit Color30bit Color36bit Color48bit
Bayergr8 Bayergr10 Bayergr12 Bayergr16
Bayerrg8 Bayerrg10 Bayerrg12 Bayerrg16
Bayergb8 Bayergb10 Bayergb12 Bayergb16
Bayerbg8 Bayerbg10 Bayerbg12 Bayerbg16

カメラで使用できない出力形式を使用するには:

  1. カメラ側で、次のように設定します。 PixelFormat パラメータを希望のカメラのPixel Formatに設定します(例: Mono12.
  2. frame grabberで、 AutomaticFormatControl パラメータを false.
    これにより、カメラで使用されるピクセルフォーマットとは独立して出力フォーマットを設定できます。
  3. frame grabberで、 Format パラメータを希望の出力フォーマットに設定します(例: Gray16bit.

上記の例文の値を使用すると、frame grabberは12ビットのカメラ画像データに基づいて16ビットの画像データを出力します。以下に示すように、パディングビット(ゼロ)が挿入されます。

12ビットカメラ画像データに基づく16ビット画像データ

gpioToolを使用したトリガー信号の設定#

コマンドラインツールのgpioToolを使用すると、フレームグラバーが受信または送信するトリガー信号の物理的特性を設定できます:

gpioToolはFramegrabber SDKおよびpylon Software Suiteに含まれています。

詳細については、gpioToolを参照してください。

サンプルコード#

// Select the Acq_SingleCXP12Area applet
camera.GetTLParams().InterfaceApplet.SetValue(Acq_SingleCXP12Area);
// Configure the frame grabber for external triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_External);
camera.GetTLParams().TriggerInSource.SetValue(TriggerInSource_FrontGpiTriggerSource0);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_BypassFrontGpi0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Configure the frame grabber for internal triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_Generator);
camera.GetTLParams().TriggerOutputFrequency.SetValue(8);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_PulseGenerator0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Use the external or internal trigger signals for image acquisition
camera.TriggerSelector.SetValue(TriggerSelector_FrameStart);
camera.TriggerMode.SetValue(TriggerMode_On);
camera.ExposureMode.SetValue(ExposureMode_Timed);
camera.TriggerSource.SetValue(TriggerSource_CxpTrigger0);
// Perform debayering on the frame grabber (Bayer RG 12 --> RGB 36 bit)
camera.PixelFormat.SetValue(PixelFormat_BayerRG12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Color36bit);
// Configure the frame grabber to output 16-bit mono image data based on
// 12-bit mono image data from the camera
camera.PixelFormat.SetValue(PixelFormat_Mono12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Gray16bit);

このサンプルコードは、C++言語でのみ使用できます。

pylon Viewerを使用してパラメータを設定することもできます。