

Python ソフトウェア開発キット
ユーザーマニュアル

Python ソフトウェア開発キット
PCO は、この文書の指示を注意深く読み、それに従うことを求めます。
ご質問やご意見がございましたら、いつでもお気軽にお問い合わせください。
電話:+49(0)9441 2005 50
ファックス: +49 (0) 9441 2005 20
住所: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Germany
メールアドレス: info@pco.de
web: www.pco.de
pco.python ユーザーマニュアル 0.1.7
2021 年 XNUMX 月リリース
©著作権 Excelitas PCO GmbH
この作品は、Creative Commons Attribution-No Derivatives 4.0 International License の下でライセンスされています。 に view このライセンスのコピーは、次のWebサイトにアクセスしてください。 http://creativecommons.org/licenses/by-nd/4.0/ または、Creative Commons, PO Box 1866, Mountain に手紙を送ってください。 View、CA 94042、米国。
一般的な
Python パッケージ pco は、現在の pco カメラを操作するためのすべての機能を提供します。 pco.sdk. カメラとの通信とその後の画像処理のためのすべての共有ライブラリが含まれています。
- 使いやすいカメラクラス
- 強力な API pco.sdk
- での画像記録と処理 pco.recorder
1.1 インストール
pypi からインストール (推奨):
$ pip インストール pco
1.2 基本的な使用法
matplotlib.pyplot を plt としてインポートします。
pco をインポート
cam として pco.Camera() を使用:
cam.record()
画像、メタ = cam.image()
plt.imshow(画像、cmap='グレー')
plt.show()
1.3 イベントとエラーのロギング
ログ出力を有効にするには、debuglevel= パラメータを指定して Camera オブジェクトを作成します。
デバッグ レベルは、次のいずれかの値に設定できます。
- 'off' すべての出力を無効にします。
- 'error' エラー メッセージのみを表示します。
- 'verbose' すべてのメッセージを表示します。
- 'extra verbose' すべてのメッセージと値を表示します。
デフォルトのデバッグ レベルは「オフ」です。
pco.Camera(debuglevel='verbose')
…
[][sdk] get_camera_type: OK。
オプションの時間amp= パラメータは tag 印刷出力で。 可能な値は次のとおりです。「オン」および「オフ」。 デフォルト値は「オフ」です。
pco.Camera(debuglevel='verbose', timestamp=「オン」)
…
[2019-11-25 15:54:15.317855 / 0.016 秒] [][sdk] get_camera_type: OK.
APIドキュメント
pco.Camera クラスは、次のメソッドを提供します。
- record() は、新しいレコーダー インスタンスを生成、構成、および開始します。
- stop() は、現在の記録を停止します。
- close() は、現在アクティブなカメラを閉じ、占有されているリソースを解放します。
- image() は、レコーダーからの画像を numpy 配列として返します。
- images() は、レコーダーから記録されたすべての画像を numpy 配列のリストとして返します。
- image_average() は、平均化された画像を返します。 この画像は、バッファに記録されたすべての画像から計算されます。
- set_exposure_time() は、カメラの露出時間を設定します。
- wait_for_first_image() は、レコーダ メモリで最初に利用可能な画像を待ちます。
pco.Camera クラスには次の変数があります。
- 構成
pco.Camera クラスには次のオブジェクトがあります。
- SDK は、SDK のすべての基礎となる機能への直接アクセスを提供します。 pco.sdk.
- レコーダーのすべての基本機能に直接アクセスできます。 pco.recorder.
2.1 方法
このセクションでは、pco.Camera クラスによって提供されるすべてのメソッドについて説明します。
2.1.1 記録
説明 新しいレコーダー インスタンスを作成、構成、および開始します。 record() を呼び出す前に、カメラ構成全体を設定する必要があります。 set_exposure_time() コマンドは唯一の例外です。 この関数はレコーダー オブジェクトには影響せず、記録中に呼び出すことができます。
プロトタイプ def record(self, number_of_images=1, mode='sequence'):
パラメータ
| 名前 | 説明 |
| 画像数 | ドライバーに割り当てられるイメージの数を設定します。 PC の RAM によって最大値が制限されます。 |
| モード | 'sequence' モードでは、この関数は記録中にブロックされます。 number_of_images に達すると、レコーダーは自動的に停止します。 「シーケンス ノンブロッキング」モードでは、この関数はノンブロッキングです。 画像を読み取る前にステータスを確認する必要があります。 このモードは、サムネイルなどの記録中に画像を読み取るために使用されます。 「リング バッファ」モードでは、この関数は非ブロッキングです。 画像を読み取る前にステータスを確認する必要があります。 number_of_images に達しても、Recorder は記録を停止しません。 これが発生すると、最も古いイメージが上書きされます。 「fifo」モードでは、この関数はノンブロッキングです。 画像を読み取る前にステータスを確認する必要があります。 fifo の number_of_images に達すると、fifo から画像が読み取られるまで、次の画像が削除されます。 |
2.1.2ストップ
説明 現在の記録を停止します。 'ring buffer' および 'fifo' モードでは、この関数はユーザーが呼び出す必要があります。 'sequence' および 'sequence non-blocking' モードでは、number_of_images に達すると、この関数が自動的に呼び出されます。
プロトタイプ デフストップ(セルフ):
2.1.3 閉じる
説明 アクティブ化されたカメラを閉じ、ブロックされたリソースを解放します。 この関数は、アプリケーションが終了する前に呼び出す必要があります。 それ以外の場合、リソースは占有されたままになります。
プロトタイプ デフクローズ(自己):
この関数は、カメラ オブジェクトが with ステートメントによって作成された場合に自動的に呼び出されます。 close() を明示的に呼び出す必要はなくなりました。
cam として pco.Camera() を使用: # いくつかのことを行う
2.1.4 画像
説明 レコーダーから画像を返します。 画像の型は numpy.ndarray です。 この配列は、画像の解像度と ROI に応じて形成されます。
プロトタイプ def image(self, image_number=0, roi=None):
パラメータ
| 名前 | 説明 |
| 画像番号 | 読み込む画像の番号を指定します。 「sequence」または「sequence non-blocking」モードでは、レコーダ インデックスは image_number と一致します。 image_number が 0xFFFFFFFF に設定されている場合、最後に記録された画像がコピーされます。 これにより、ライブプレを作成できますview 録音中。 |
| ロイ | 関心領域を設定します。 イメージのこの領域のみが戻り値にコピーされます。 |
Example >>> cam.record(number_of_images=1, mode='sequence')
>>> 画像、メタ = cam.image()
>>> タイプ(画像) numpy.ndarray
>>> image.shape (2160, 2560)
>>> 画像、メタデータ = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5枚の画像
説明 numpy 配列のリストとしてレコーダーからすべての記録された画像を返します。
プロトタイプ def イメージ (self、roi=なし、blocksize=なし):
パラメータ
| 名前 | 説明 |
| ロイ | 関心領域を設定します。 イメージのこの領域のみが戻り値にコピーされます。 |
| ブロックサイズ | 返される画像の最大数を定義します。 このパラメータは、'fifo' モードおよび特別な条件下でのみ有用です。 |
Example >>> cam.record(number_of_images=20, mode='sequence')
>>> 画像、メタデータ = cam.images()
>>> レン(画像) 20
>>> 画像内の画像の場合:
…
print('Mean: {:7.2f} DN'.format(image.mean()))
…
平均: 2147.64 DN
平均: 2144.61 DN
…
>>> 画像 = cam.images(roi=(1, 1, 300, 300))
>>> 画像[0].形状 (300, 300)
2.1.6 画像平均
説明 平均化された画像を返します。 この画像は、バッファに記録されたすべての画像から計算されます。
プロトタイプ def image_average (自己、roi = なし):
パラメータ
| 名前 | 説明 |
| ロイ | 関心領域を定義します。 イメージのこの領域のみが戻り値にコピーされます。 |
Example >>> cam.record(number_of_images=100, mode='sequence')
>>> 平均 = cam.image_average()
>>> avg = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 露出時間の設定
説明 カメラの露出時間を設定します。
プロトタイプ def set_exposure_time(自己、露出時間):
パラメータ
| 名前 | 説明 |
| 曝露時間 | 単位「秒」の浮動小数点数または整数値として指定する必要があります。 関数 sdk.set_delay_exposure_time(0, 'ms', time, timebase) の基になる値は自動的に計算されます。 遅延時間は 0 に設定されます。 |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 最初の画像を待つ
説明 レコーダ メモリで最初に利用可能な画像を待ちます。 レコーダ モードでは「シーケンス ノンブロッキング」、「リング バッファ」。 そして 'fifo'、関数 record() はすぐに戻ります。 したがって、この関数は、image()、images()、または image_average() を呼び出す前に、カメラからの画像を待機するために使用できます。
プロトタイプ def wait_for_first_image(self):
2.2 変数構成
カメラのパラメーターは、構成変数を変更することによって更新されます。
cam.configuration = {'露光時間': 10e-3,
「ロイ」: (1, 1, 512, 512),
'タイムamp':'アスキー',
「ピクセルレート」: 100_000_000,
'トリガー': '自動シーケンス',
'取得': '自動',
'メタデータ': 'オン',
'ビニング': (1, 1)}
変数は、record() 関数が呼び出される前にのみ変更できます。 一定数のエントリを持つ辞書です。 すべての可能な要素を指定する必要はありません。 以下のampファイル コードは「ピクセル レート」のみを変更し、構成の他の要素には影響しません。
cam として pco.Camera() を使用:
cam.configuration = {'ピクセルレート': 286_000_000}
cam.record()
…
2.3オブジェクト
このセクションでは、pco.Camera クラスによって提供されるすべてのオブジェクトについて説明します。
2.3.1 SDK
オブジェクト SDK を使用すると、オブジェクトのすべての基本機能に直接アクセスできます。 pco.sdk.
>>> cam.sdk.get_temperature()
{'センサー温度': 7.0、'カメラ温度': 38.2、'電源温度': 36.7}
SDK 関数からのすべての戻り値は辞書です。 現在、すべてのカメラ設定が Camera クラスでカバーされているわけではありません。 特別な設定は、それぞれの sdk 関数を呼び出して直接設定する必要があります。
2.3.2 レコーダー
オブジェクト rec は、すべての基になる関数への直接アクセスを提供します。 pco.recorder. レコーダー クラスのメソッドを直接呼び出す必要はありません。 すべての関数は、Camera クラスのメソッドによって完全にカバーされています。
https://www.pco.de/applications/
| pcoヨーロッパ +49 9441 2005 50 info@pco.de pco.de |
pcoアメリカ +1 866 678 4566 info@pco-tech.com pco-tech.com |
pcoアジア +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco中国 +86 512 67634643 info@pco.cn pco.cn |


ドキュメント / リソース
![]() | Python ソフトウェア開発キット |
参考文献
- 証書 - 表示 - 改変禁止 4.0 国際 - クリエイティブ コモンズcreativecommons.org
- mailto:info@pco.depco.de
- PCO | エクセリタスwww.pco.de
- PCO | エクセリタスwww.pco.de
- ユーザーマニュアルmanual.tools
