コアコンセプト#
アクフィジションライフサイクル#
メンタルモデル#
- カメラは非同期で動作します。
- Pythonは同期して取得します。
- バッファが両方のドメインを分離します。
ブロッキング動作#
GenICamノード#
GenICamノードとは何ですか?#
GenICamノードは、カメラの単一の設定可能な機能またはPropertyを表します。ノードはGenICam標準で定義されており、ハードウェアベンダーに関係なくカメラ機能にアクセスするための統一された方法を提供します。
各ノードは厳密に型付けされたパラメータのように動作し、さまざまな情報を公開します。
- 名前(例:
ExposureTime) - データ型(例:Float、Integer、Enumerationなど)
- アクセス権(読み取り専用または読み取り/書き込み)
- 有効な値の範囲またはオプション
pypylonでは、ノードはカメラオブジェクトの属性としてアクセスされ、次のようなメソッドを提供します。
exposure_time = camera.ExposureTime # Read exposure time in microseconds.
camera.ExposureTime.Value = 3000 # Value is in microseconds. Check Increment and ValueRange for valid values.
一般的なノードタイプ#
| パラメーター | 例 | 説明 |
|---|---|---|
| Float | ExposureTime | 離散的なハードウェア設定にマッピングされる連続値 |
| Integer | Width | 離散値 |
| Enumeration | TriggerMode | 事前定義された文字列値 |
| Boolean | AcquisitionFrameRateEnable | True/False |
| コマンド | ExecuteSoftwareTrigger | アクションを実行します |
pypylonにおけるすべてのカメラ設定はノードを介して行われるため、ノードを理解することは不可欠です。
pylon Parameters#
pylon parametersはGenICamノードをラップし、値の読み取りと書き込みのための拡張された一貫性のあるインターフェースを提供します。また、型変換、範囲チェック、アクセスモードの処理も行います。
ノードが見つからない場合、 pylon.PlaceholderParameter が返されるため、コードで存在しないノードを適切に処理できます。これは、異なるカメラモデルやファームウェアバージョンで利用可能な機能が異なる場合があるセットアップによく見られるシナリオです。