カメラ制御における「Grab」と「Acquisition」の違い
カメラ制御における「Grab」と「Acquisition」の違い
カメラをソフトウェアで制御する際、「Grab」と「Acquisition」という用語がよく使われます。これらの用語は似ていますが、それぞれ異なる意味と役割を持っています。特にBasler Pylon Viewerのようなカメラソフトウェアを使用する際には、これらの違いを理解することが重要です。
Grab (グラブ)
「Grab」とは、カメラから画像データを「取得」または「取り込む」という操作を指します。Pylon Viewerで「Grab」ボタンをクリックする操作がこれに該当します。
- 主な意味と役割:
- 単一フレームの取得: 最も基本的な意味では、単一の画像フレームをカメラからPCのメモリに取り込むことを指します。Pylon Viewerの「Grab」ボタンを押すと、通常はトリガー設定に従って1枚の画像が取得されます。
- ライブ表示の開始: 多くのカメラビューアソフトウェアでは、「Grab」を開始するとカメラが連続的に画像をPCに転送し始め、それがリアルタイムで画面に表示されます。これは「ライブ表示」や「プレビュー」モードとも呼ばれます。
- データ転送に焦点: 「Grab」は、カメラが撮影したデジタルデータをPCへ転送し、利用可能な状態にするプロセスに焦点を当てています。
- ソフトウェアトリガーとの関連: ソフトウェアトリガーを設定している場合、Pylon Viewerの「Software Trigger」ボタンは、実質的に「Grab」操作によってカメラに1回のトリガーをかけ、画像を1枚取得させる役割を果たします。
Acquisition (アクイジション)
「Acquisition」とは、カメラの「画像取得プロセス」全体を指す、より広範な概念です。これは、単に画像を1枚取得するだけでなく、カメラが画像を生成し続けるための内部状態や設定、そしてその開始・停止を管理するものです。
- 主な意味と役割:
- 画像生成の開始・停止:
AcquisitionStart
はカメラの画像生成エンジンを起動し、AcquisitionStop
はそれを停止します。これにより、カメラは設定されたフレームレートやトリガーモードに従って、継続的に画像を生成する準備ができます。 - 連続的なプロセス: 「Acquisition」は通常、カメラが継続的に画像を生成・転送する状態を意味します。これには、内部的なタイマーによる連続撮影や、外部トリガーに応答してのフレーム生成が含まれます。
- カメラ内部の状態管理: 「Acquisition」は、カメラが「現在画像を撮っている最中であるか、または画像を撮る準備ができている状態」という、カメラ全体の状態を管理する側面が強いです。
- トリガーモードとの関連:
Trigger Selector = Acquisition Start
は、外部トリガー信号によってこの「画像取得プロセス全体」を開始する際に使用されます。一度このトリガーが発行されると、カメラは連続的に画像を生成し始めます。Trigger Selector = Frame Start
は、既に「Acquisition」が開始されている(カメラが画像を生成可能な状態にある)前提で、個々のフレームの露光タイミングをトリガー信号で制御する場合に用いられます。
- 画像生成の開始・停止:
「Grab」と「Acquisition」の主な違い
特徴 | Grab (グラブ) | Acquisition (アクイジション) |
---|---|---|
焦点 | 画像データの「取得」「取り込み」「転送」 | カメラの「画像生成プロセス」の開始・停止、内部状態管理 |
粒度 | 個々のフレーム取得、またはライブ表示のためのデータフロー | カメラ全体の画像生成動作 |
Pylon Viewer操作 | 「Grab」ボタン、または「Software Trigger」ボタンのクリック | Pylon Viewerの「Start Acquisition」/「Stop Acquisition」ボタン、またはGenICamのAcquisitionStart /AcquisitionStop 機能の呼び出し |
一般的な用途 | リアルタイムプレビュー、1枚撮り、デバッグ | 連続撮影の開始、外部トリガー同期システムの起動、全体の撮影モード設定 |
まとめ
- 「Acquisition」\は、カメラが「画像を撮る状態」を開始・停止する**上位の概念**です。カメラが画像を生成するためのエンジンをON/OFFするようなイメージです。
- 「Grab」\は、その「Acquisition」が開始されたカメラから、実際に**画像データを取り込む**という具体的な操作です。ライブ表示で画像が流れ続けるのも、裏側では継続的なGrabが行われています。
普段Frame Start
を使っている場合は、カメラのAcquisition
が既に開始されている(または自動で開始される)前提で、個々のフレームのタイミングを外部トリガーで制御していることになります。一方、Acquisition Start
は、より根本的な「カメラ、撮影を開始せよ!」という指示を与える際に用いられる、と理解すると良いでしょう。