APIリファレンス

Core Library関数

LogLevelクラス(value)

Bases: IntEnum

利用可能なライブラリのログレベルを定義します。

OFF = 0
ログを無効化する
ERROR = 1
エラーのみをログ出力する
WARNING = 2
警告レベル以上をログ出力する
INFO = 3
情報レベル以上をログ出力する
DEBUG = 4
デバッグレベル以上をログ出力する
TRACE = 5
トレースレベル以上をログ出力する

LogTargetクラス(value)

Bases: IntFlag

利用可能なログ出力先(ログターゲット)を定義します。

DISABLE = 0
ログ出力を無効化する
STDOUT = 1
標準出力(stdout)へログを出力する
STDERR = 2
標準エラー出力(stderr)へログを出力する
FILE = 4
Library.init()log_fileパラメータで指定されたファイルにログを出力する
WINDEBUG = 8
OutputDebugString を使ってログ出力する(Windows のみ)

Libraryクラス

Bases: object

グローバルなライブラリ初期化関数を提供する静的クラスです。

classmethod init ( api_log_level: LogLevel = LogLevel.OFF, internal_log_level: LogLevel = LogLevel.OFF, log_targets: LogTarget = LogTarget.DISABLE, log_file: str | None = None )

IC Imaging Control 4 Python ライブラリを初期化します。

パラメータ
  • api_log_level (LogLevel, optional) – ライブラリの API ログレベルを設定します。デフォルトは LogLevel.OFF
  • internal_log_level (LogLevel, optional) – ライブラリ内部のログレベルを設定します。デフォルトは LogLevel.OFF
  • log_targets (LogTarget, optional) – ログの出力先を設定します。デフォルトは LogTarget.DISABLE
  • log_file (Optional[str], optional) – log_targetsLogTarget.FILE が含まれる場合、使用するログファイルを指定します。デフォルトは None。
例外
  • RuntimeError – ライブラリの初期化に失敗した場合。
  • FileNotFoundError – 内部エラー。

classmethodexit()

IC Imaging Control 4 Pythonライブラリの初期化を解除します。

エラー処理

ErrorCodeクラス(value)

Bases: IntEnum

IC4のエラーコードを表す列挙体です。

NoError = 0
エラーは発生していません。
Unknown = 1
不明なエラーが発生しました。
Internal = 2
内部エラー(バグ)が発生しました。
InvalidOperation = 3
現在の状態では無効な操作が行われました。
OutOfMemory = 4
メモリ不足です。
LibraryNotInitialized = 5
Library.init() が呼び出されていません。
DriverError = 6
デバイスドライバが予期しない動作をしました。
InvalidParamVal = 7
無効なパラメータが渡されました。
ConversionNotSupported = 8
サポートされていない画像形式変換が必要な操作です。
NoData = 9
要求されたデータが利用できません。
GenICamFeatureNotFound = 101
該当する GenICam フィーチャーが見つかりません。
GenICamDeviceError = 102
デバイスへの書き込み中にエラーが発生しました。
GenICamTypeMismatch = 103
誤ったノードタイプで操作が試みられました(例:整数ノードに対する command_execute)。
GenICamAccessDenied = 106
現在利用できないカメラ機能にアクセスしようとしました。
GenICamNotImplemented = 107
使用中のカメラで実装されていない機能にアクセスしようとしました。
GenICamValueError = 108
許容範囲外など、無効な値を設定しようとしました。
GenICamChunkdataNotConnected = 109
チャンクデータがプロパティマップに接続されている場合にのみ利用できる値を読み取ろうとしました。
BufferTooSmall = 50
提供されたバッファがデータを格納するには小さすぎます。
SinkTypeMismatch = 52
異なる種類のシンクに対して、シンク専用の関数が呼び出されました。
SnapAborted = 53
要求されたすべてのフレームが撮影される前にカメラが停止したため、スナップ操作が完了しませんでした。
FileFailedToWriteData = 201
ファイルへのデータ書き込みに失敗しました。
FileAccessDenied = 202
書き込みが許可されていない場所のため、ファイルに書き込めませんでした。
FilePathNotFound = 203
無効なパスのため、ファイルに書き込めませんでした。
FileFailedToReadData = 204
ファイルからデータを読み取れませんでした。
DeviceInvalid = 13
デバイスが無効になりました(例:取り外されたなど)。
DeviceNotFound = 16
デバイスが見つかりませんでした。
DeviceError = 17
デバイスが予期しない動作をしました。
Ambiguous = 18
パラメータが項目を一意に特定できませんでした。
ParseError = 21
パラメータまたはファイルの解析中にエラーが発生しました。
Timeout = 27
要求された操作がタイムアウトまでに完了しませんでした。
Incomplete = 34
操作が部分的にしか成功しませんでした(例:Grabber のすべてのプロパティを復元できなかった)。
SinkNotConnected = 38
Sink がまだ接続されていません。
ImageTypeMismatch = 39
渡されたバッファが期待される ImageType と一致しません。
SinkAlreadyAttached = 40
渡された Sink はすでに別のグラフにアタッチされています。
SinkConnectAborted = 41
Sink の connect ハンドラがエラーを通知しました。
HandlerAlreadyRegistered = 60
同じ通知ハンドラを2回登録しようとしました。
HandlerNotFound = 61
存在しない通知ハンドラを使用しようとしました。

exception IC4Exceptioncode:ErrorCode, message:str

Bases: Exception

IC4 エラーが発生した際に送出される例外。

code: ErrorCode

エラーコード

戻り値 この例外を引き起こしたエラーコード
戻り値の型 Error

message:str

エラーメッセージ

戻り値 この例外に対応するエラーメッセージ
戻り値の型 str

classmethod raise_exception_from_last_error ()

デバイスエニュメレーション

DeviceInfoクラス(h:c_void_p)

Bases: object

ビデオキャプチャデバイスに関する情報を含みます。

model_name プロパティ :str

デバイス情報オブジェクトからモデル名を取得します。

戻り値 デバイスのモデル名
戻り値の型 str
例外 IC4Exception – エラーが発生しました。 詳細は IC4Exception.code および IC4Exception.message を確認してください。

serial プロパティ :str

デバイス情報オブジェクトからシリアル番号(文字列表現)を取得します。
シリアル番号の文字列フォーマットはデバイスによって異なります。

戻り値 デバイスのシリアル番号
戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

version プロパティ :str

デバイス情報オブジェクトからデバイスのバージョンを取得します。
デバイスバージョンのフォーマットはデバイスによって異なります。

戻り値 デバイスのバージョン
戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

user_id プロパティ :str

デバイス情報オブジェクトから、ユーザー定義の識別子(User ID)を取得します。
デバイスが対応している場合、このユーザー定義識別子はデバイスのプロパティマップ内の「DeviceUserID」機能から設定できます。

戻り値 デバイスのユーザー定義識別子
戻り値の型 str
例外 IC4Exception – エラーが発生しました。 詳細は IC4Exception.code および IC4Exception.message を確認してください。

unique_name プロパティ :str

デバイス情報オブジェクトから、デバイスのユニーク名称を取得します。
ユニーク名称は、デバイスドライバーの識別子とデバイスのシリアル番号から構成され、1つの文字列でデバイスを一意に識別できるようになっています。

戻り値 デバイスのユニーク名称
戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

interface プロパティ : Interface

このデバイス情報オブジェクトが表すデバイスが接続されているインターフェースを取得します。

戻り値 デバイスが接続されているインターフェース。
戻り値の型 Interface
例外 IC4Exception – エラーが発生しました。詳細については IC4Exception.codeIC4Exception.message を参照してください。

TransportLayerTypeクラス(value)

Bases: IntEnum

使用可能なトランスポートレイヤーの種類を定義します。

UNKNOWN = 0
その他、または不明なトランスポートレイヤータイプ。
GIGEVISION = 1
GigE Vision規格を使用するトランスポートレイヤー。
USB3VISION = 2
USB3 Vision規格を使用するトランスポートレイヤー。

Interfaceクラス(h:c_void_p)

Bases: object

USB コントローラやネットワークインターフェースコントローラなど、デバイスインターフェースを表します。

インターフェースに接続されているデバイスの一覧を取得できます。

インターフェース固有の設定オプションは、インターフェースのプロパティマップで利用できます。

display_name プロパティ :str

インターフェースの表示名。

戻り値 インターフェースの表示名
戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property_map プロパティ : PropertyMap

デバイスインターフェースのプロパティマップを開きます。
プロパティマップは、インターフェースや接続されたデバイスに関する高度な情報の取得や設定に使用できます。

戻り値 インターフェースのプロパティマップ
戻り値の型 PropertyMap
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

devices プロパティ :Sequence [DeviceInfo]

このインターフェースに接続されているデバイス。

戻り値 このインターフェースに接続されているデバイス
戻り値の型 Sequence[DeviceInfo]
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

transport_layer_name プロパティ :str

このインターフェースオブジェクトを提供するトランスポートレイヤーの名称。
この文字列は、インターフェース上のデバイスへのアクセスを提供するドライバー名として解釈できます。

戻り値 このインターフェースオブジェクトを提供するトランスポートレイヤー名。
戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

transport_layer_type プロパティ :TransportLayerType

このインターフェースが使用するトランスポートレイヤーの種類。

戻り値 このインターフェースが使用するトランスポートレイヤーの種類。
戻り値の型 TransportLayerType

transport_layer_version プロパティ :str

このインターフェースオブジェクトを提供するトランスポートレイヤーのバージョン。
この文字列は、インターフェース上のデバイスへのアクセスを提供するドライバーのバージョンとして解釈できます。

戻り値 このインターフェースオブジェクトを提供するトランスポートレイヤーのバージョン。
戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

DeviceEnumクラス

Bases: object

Device Enumerator(デバイス列挙)クラスは、システムに接続されているビデオキャプチャデバイスに関する情報を収集するために使用されます。

利用可能なすべてのビデオキャプチャデバイスの一覧を取得するには、クラスメソッド DeviceEnum.devices を使用します。

デバイスインターフェースと、それに接続されているデバイスのトポロジを取得するには、クラスメソッド DeviceEnum.interfaces を使用します。

Device Enum オブジェクトを作成すると、利用可能なデバイスまたはインターフェースの一覧が変更された際に呼び出されるコールバック関数を登録できます。

classmethod devices() Sequence[DeviceInfo]

システムに接続されているビデオキャプチャデバイスを表す DeviceInfo オブジェクトのリストを返します。

戻り値 このシステムに接続されているデバイス
戻り値の型 Sequence[DeviceInfo]
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

classmethod interfaces() Sequence[Interface]

システムのデバイスインターフェースを表す Interface オブジェクトのリストを返します。
デバイスインターフェースには、ネットワークアダプタ、USB コントローラ、その他のハードウェアが含まれます。

戻り値 このシステムのデバイスインターフェース
戻り値の型 Sequence[Interface]
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

class DeviceListChangedNotificationToken(func: Callable[[c_void_p, c_void_p], None], deleter: Callable[[c_void_p], None])

Bases: object
登録されたコールバックを表します。
event_add_device_list_changed を使用してコールバック関数を登録すると、トークンが返されます。
このトークンは、後で event_remove_device_list_changed を使用してコールバックを解除する際に利用できます。

event_add_device_list_changed (handler: Callable[[DeviceEnum], None]) DeviceListChangedNotificationToken

利用可能なビデオキャプチャデバイスの一覧が(変更された可能性がある場合に)呼び出される関数を登録します。

パラメータ handler (Callable[[DeviceEnum], None]) – デバイス一覧が変更された際に呼び出される関数。
戻り値 DeviceListChangedNotificationToken — 後でコールバック登録を解除するために使用できるトークン。
戻り値の型 DeviceListChangedNotificationToken
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を参照してください。

event_remove_device_list_changed (token: DeviceListChangedNotificationToken)

デバイス一覧変更ハンドラーの登録を解除します。

パラメータ token (DeviceListChangedNotificationToken) – 登録時に返されたトークン
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を参照してください。

Grabber

StreamSetupOptionクラス (value)

Bases: IntEnum

Grabber.stream_setup() の動作をカスタマイズするためのオプションを定義した列挙体です。

ACQUISITION_START = 1
ストリームがセットアップされた直後に、画像取得(アクイジション)を自動的に開始します。
DEFER_ACQUISITION_START = 0
ストリームセットアップ後に画像取得を開始しません。プログラム側で Grabber.acquisition_start() を呼び出すか、デバイスのプロパティマップで AcquisitionStart コマンドを使用して、取得開始を指示する必要があります。

Grabberクラス

Bases: object

開かれたビデオキャプチャデバイスを表し、デバイスの設定やストリームの構成を行うことができます。

Grabberオブジェクトは、ビデオキャプチャデバイスを操作する際のコアコンポーネントです。

一部のオブジェクト(例:ImageBuffer)は、デバイスドライバのメモリを指しているため、存在している間はデバイスやドライバを開いたままにすることができます。すべてのデバイス関連リソースを解放するには、すべてのオブジェクト参照を削除するか、ImageBufferオブジェクトが内部参照を解放するためにImageBuffer.release() 関数を呼び出す必要があります。

DeviceLostNotificationTokenクラス (func: Callable[[c_void_p, c_void_p], None], deleter: Callable[[c_void_p], None])

継承元: object

登録されたデバイス喪失コールバックを表します。

event_add_device_lost() を使ってコールバック関数を登録すると、トークンが返されます。

このトークンを使用すると、後で event_remove_device_lost() を使ってコールバックを削除することができます。

sinkプロパティ: Sink

データストリームがアクティブな間に stream_setup() に渡された Sink を返します。

戻り値 Sink
例外 RuntimeError – Sink が設定されていない場合

displayプロパティ: Display

データストリームがアクティブな間に stream_setup に渡された Display を返します。

戻り値 Display
例外 RuntimeError – Display が設定されていない場合

device_open (dev: DeviceInfo | str) None

渡された識別子またはデバイス情報オブジェクトで指定されたビデオキャプチャデバイスを開きます。

パラメータ dev (DeviceInfo|str) – 開くビデオキャプチャデバイスを表す識別子またはデバイス情報オブジェクト
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

渡された識別子が接続されているデバイスをモデル名、ユニーク名、シリアル番号、またはユーザー定義名で一意に特定できない場合、この関数は ErrorCode.Ambiguous エラーで失敗します。

device_close() None

現在開かれているビデオキャプチャデバイスを閉じます。
取得(acquisition)がアクティブな場合は停止されます。ストリームが確立されている場合は、ストリームも停止されます。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

is_device_openプロパティ: bool

デバイスが開かれているかどうかを確認します。

戻り値 現在ビデオキャプチャデバイスが開かれている場合は True、そうでない場合は False。
戻り値の型 bool

is_device_validプロパティ: bool

開かれているデバイスにアクセス可能かどうかを確認します。

戻り値 現在開かれているビデオキャプチャデバイスにまだアクセスできる場合は True、そうでない場合は False。
戻り値の型 bool
注意

この関数が False を返す可能性がある理由はいくつかあります

  • デバイスが開かれていない
  • デバイスが切断された
  • ハードウェア接続が緩んでいる
  • ビデオキャプチャデバイス内部でエラーが発生した
  • ドライバエラーが発生した

device_infoプロパティ: DeviceInfo

現在開かれているビデオキャプチャデバイスに関する情報を返します。

戻り値 DeviceInfo
例外 IC4Exception – Grabber にデバイスが開かれていない場合に発生します。

stream_setup (sink: Sink | None = None, display: Display | None = None, setup_option: StreamSetupOption == StreamSetupOption.ACQUISITION_START) None

デバイスからのデータストリームを確立します。
ビデオキャプチャデバイスから画像を取得するにはデータストリームが必要であり、Sink、Display、またはその両方を含む必要があります。

パラメータ
  • sink (Sink) – Sink クラスから派生したオブジェクト
  • display (Display) – Display クラスから派生したオブジェクト
  • setup_option (StreamSetupOption) – データストリームが正常に設定された後、取得を直ちに開始するかどうかを指定します
  • (デフォルト: StreamSetupOption.ACQUISITION_START)
注意

stream_setup を呼び出す前に、device_open() またはその関連関数のいずれかでデバイスを開く必要があります。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

デバイスからのデータストリームを停止します。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

is_streaming プロパティ : bool

ストリームが実行中かどうかを確認します。

戻り値 データストリームが確立されている場合は True、そうでない場合は False。
戻り値の型 bool

acquisition_start() None

ビデオキャプチャデバイスからの画像取得を開始します。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

acquisition_start() を呼び出す前に、データストリームが確立されている必要があります。 これは stream_setup() を使用しても行えます。 この操作は、ビデオキャプチャデバイスのプロパティマップに対して AcquisitionStart コマンドを実行することと同等です。

acquisition_stop() None

ビデオキャプチャデバイスからの画像取得を停止します。

例外 IC4Exception – 取得を停止できなかった場合に発生します。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

acquisition_start() または stream_setup() を使用して画像取得を開始している必要があります。 この操作は、ビデオキャプチャデバイスのプロパティマップに対して AcquisitionStop コマンドを実行することと同等です。

is_acquisition_active プロパティ : bool

画像取得が開始されている場合は True、そうでない場合は False。

device_property_map プロパティ : PropertyMap

現在開かれているビデオキャプチャデバイスのプロパティマップを返します。
この関数によって返されるプロパティマップは、デバイス機能を操作するすべての処理の基点となります。

戻り値 PropertyMap
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

driver_property_map プロパティ : PropertyMap

現在開かれているビデオキャプチャデバイスのドライバに関するプロパティマップを返します。
この関数によって返されるプロパティマップは、ドライバ関連の機能操作に使用される基点となります。

戻り値 PropertyMap
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

class StreamStatistics(device_delivered: int, device_transmission_error: int, device_underrun: int, transform_delivered: int, transform_underrun: int, sink_delivered: int, sink_underrun: int, sink_ignored: int)

Bases: object
データストリームに関する統計情報を保持します。

device_delivered: int
ビデオキャプチャデバイスから供給されたフレーム数
device_transmission_error: int
送信エラー(例:回復不能なパケットロス)によりドロップされたフレーム数
device_underrun: int
空きイメージバッファがないため、デバイスドライバによってドロップされたフレーム数
transform_delivered: int
変換要素によって処理されたフレーム数
transform_underrun: int
空きイメージバッファがないため、変換要素によってドロップされたフレーム数
sink_delivered: int
シンクによって処理されたフレーム数
sink_underrun: int
空きイメージバッファがないため、シンクによってドロップされたフレーム数
sink_ignored: int
シンクが無効化されている、またはデータ処理を指示されていないため無視されたフレーム数

stream_statistics プロパティ : StreamStatistics

現在アクティブ、または以前に停止したデータストリームの統計情報を取得します。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

event_add_device_lost (handler: Callable[[Grabber], None]) DeviceLostNotificationToken

現在開いているビデオキャプチャデバイスが利用不能になった場合に呼び出されるコールバック関数を登録します。

パラメータ handler (Callable[[Grabber], None]) – デバイスが失われたときに呼び出されるコールバック関数
戻り値 event_remove_device_lost() を使用してコールバック登録を解除するためのトークン。
戻り値の型 DeviceLostNotificationToken
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.messageを確認してください。

event_remove_device_lost (token: DeviceLostNotificationToken)

以前に event_add_device_lost() を使用して登録したデバイス喪失ハンドラを解除します。

パラメータ token (DeviceLostNotificationToken) – 登録時に返されたトークン
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

device_save_state() bytearray

開いているデバイスとそのすべての設定をメモリバッファに保存します。

戻り値 デバイス状態情報を含むバイト配列。
戻り値の型 bytearray
注意

後でデバイス状態を復元するには device_open_from_state() を使用してください。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

device_open_from_state (arr: bytearray) None

以前に device_save_state() によって書き込まれたデータを含むメモリバッファから、デバイスとその設定を復元します。

パラメータ arr (bytearray) – device_save_state() によって保存されたデータを含むバッファ
注意

この関数を呼び出す際、グラバーはデバイスを開いていてはなりません。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

device_save_state_to_file(path: Path | str) None

開いているデバイスとそのすべての設定をファイルに保存します。

パラメータ path (Path | str) – デバイス状態を保存するファイルへのパス。
注意

後でデバイス状態を復元するには device_open_from_state_file() を使用してください。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

device_open_from_state_file(path: Path | str) None

以前に device_save_state_to_file() によって書き込まれたファイルから、デバイスとその設定を復元します。

パラメータ path (Path | str) – デバイス状態が保存されているファイルのパス。
注意

この関数を呼び出す際、グラバーはデバイスを開いていてはなりません。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

デバイスプロパティ

PropIdクラス

Bases: object

カメラで利用可能なほとんどのプロパティに対応する定数が含まれています。

ACQUISITION_BURST_FRAME_COUNT = 'AcquisitionBurstFrameCount'
各トリガーで取得するフレーム数。
ACQUISITION_BURST_INTERVAL = 'AcquisitionBurstInterval'
バースト取得におけるフレーム間の最小インターバル。
ACQUISITION_FRAME_RATE = 'AcquisitionFrameRate'
フレームの取得レート(取得速度)を制御します。
ACQUISITION_MODE = 'AcquisitionMode'
デバイスの取得モードを設定します。主に、取得中にキャプチャするフレーム数や、 取得がどのように停止するかを定義します。
ACQUISITION_START = 'AcquisitionStart'
デバイスの画像取得を開始します。キャプチャされるフレーム数は AcquisitionMode によって決まります。
ACQUISITION_STOP = 'AcquisitionStop'
現在のフレーム終了時にデバイスの画像取得を停止します。 主に AcquisitionMode が Continuous の場合に使用されますが、他のモードでも使用できます。
ACTION_DEVICE_KEY = 'ActionDeviceKey'
アクションコマンドの有効性をデバイスが確認するためのデバイスキーを提供します。 ActionDeviceKey とプロトコルメッセージ内のキー値が一致する場合のみ、デバイスはアクションシグナルを内部で承認します。
ACTION_GROUP_KEY = 'ActionGroupKey'
デバイスがアクションプロトコルメッセージを受信した際に、そのアクションを検証するために使用するキー。
ACTION_GROUP_MASK = 'ActionGroupMask'
デバイスがアクションプロトコルメッセージ受信時にアクションを検証するために使用するマスク。
ACTION_QUEUE_SIZE = 'ActionQueueSize'
スケジュールされたアクションコマンドキューのサイズを示します。 この数値は、任意の時点で保留可能なアクションコマンドの最大数を表します。
ACTION_SCHEDULER_CANCEL = 'ActionSchedulerCancel'
すべてのスケジュール済みアクションをキャンセルします。
ACTION_SCHEDULER_COMMIT = 'ActionSchedulerCommit'
ActionSchedulerTime で指定された時間にアクションを実行するようスケジュールします。必要に応じて ActionSchedulerInterval の間隔で繰り返し実行されます。
ACTION_SCHEDULER_INTERVAL = 'ActionSchedulerInterval'
アクションの繰り返し間隔。値が 0 の場合、アクションは 1 回のみ実行されます。
ACTION_SCHEDULER_STATUS = 'ActionSchedulerStatus'
アクションがスケジュールされているかどうかを示します。
ACTION_SCHEDULER_TIME = 'ActionSchedulerTime'
アクションが実行されるカメラ時刻を指定します。
ACTION_SELECTOR = 'ActionSelector'
どのアクションシグナルに対して以降のアクション設定を適用するかを選択します。
AUTO_FOCUS_ROI_ENABLE = 'AutoFocusROIEnable'
オートフォーカス用の関心領域(ROI)を有効にします。
AUTO_FOCUS_ROI_HEIGHT = 'AutoFocusROIHeight'
オートフォーカスの関心領域(ROI)の高さを指定します。
AUTO_FOCUS_ROI_LEFT = 'AutoFocusROILeft'
オートフォーカスの関心領域(ROI)の水平方向オフセットを指定します。
AUTO_FOCUS_ROI_TOP = 'AutoFocusROITop'
オートフォーカスの関心領域(ROI)の垂直方向オフセットを指定します。
AUTO_FOCUS_ROI_WIDTH = 'AutoFocusROIWidth'
オートフォーカスの関心領域(ROI)の幅を指定します。
AUTO_FUNCTIONS_ROI_ENABLE = 'AutoFunctionsROIEnable'
オート機能用の関心領域(ROI)を有効にします。
AUTO_FUNCTIONS_ROI_HEIGHT = 'AutoFunctionsROIHeight'
オート機能の関心領域(ROI)の高さを指定します。
AUTO_FUNCTIONS_ROI_LEFT = 'AutoFunctionsROILeft'
オート機能の関心領域(ROI)の水平方向オフセットを指定します。
AUTO_FUNCTIONS_ROI_PRESET = 'AutoFunctionsROIPreset'
オート機能用の事前定義された関心領域(ROI)を選択します。
AUTO_FUNCTIONS_ROI_TOP = 'AutoFunctionsROITop'
オート機能の関心領域(ROI)の垂直方向オフセットを指定します。
AUTO_FUNCTIONS_ROI_WIDTH = 'AutoFunctionsROIWidth'
オート機能の関心領域(ROI)の幅を指定します。
BALANCE_RATIO = 'BalanceRatio'
選択した色成分と基準色成分との比率を制御します。ホワイトバランス調整に使用されます。
BALANCE_RATIO_SELECTOR = 'BalanceRatioSelector'
設定するバランス比を選択します。選択後、そのバランス比に対する設定変更が適用されます。
BALANCE_WHITE_AUTO = 'BalanceWhiteAuto'
自動ホワイトバランスのモードを制御します。カラー チャンネル間のホワイトバランス比は自動で調整されます。
BALANCE_WHITE_AUTO_PRESET = 'BalanceWhiteAutoPreset'
自動ホワイトバランス用の特定のプリセットを選択します。
BALANCE_WHITE_MODE = 'BalanceWhiteMode'
自動ホワイトバランスの動作方式を設定します。
BALANCE_WHITE_TEMPERATURE = 'BalanceWhiteTemperature'
周囲光の色温度に合わせてホワイトバランスを調整します。
BALANCE_WHITE_TEMPERATURE_PRESET = 'BalanceWhiteTemperaturePreset'
特定のホワイトバランス色温度プリセットを選択します。
BINNING_HORIZONTAL = 'BinningHorizontal'
水平方向の受光素子をまとめて読み出す数を設定します。これにより画素の強度(またはS/N比)が向上しますが、画像の水平方向(幅)の解像度は低下します。
値が 1 の場合、カメラは水平ビニングを行いません。
BINNING_VERTICAL = 'BinningVertical'
垂直方向の受光素子をまとめて読み出す数を設定します。これにより画素の強度(またはS/N比)が向上しますが、画像の垂直方向(高さ)の解像度は低下します。
値が 1 の場合、カメラは垂直ビニングを行いません。
BLACK_LEVEL = 'BlackLevel'
アナログ黒レベルを絶対値として制御します。これは映像信号に加えられるDCオフセットを表します。
CHUNK_BLOCK_ID = 'ChunkBlockId'
画像のブロックID(フレーム番号)を返します。
CHUNK_ENABLE = 'ChunkEnable'
選択したチャンクデータを画像のペイロードに含めるかどうかを設定します。
CHUNK_EXPOSURE_TIME = 'ChunkExposureTime'
画像の取得に使用された露光時間を返します。
CHUNK_GAIN = 'ChunkGain'
画像の取得に使用されたゲインを返します。
CHUNK_IMAGE = 'ChunkImage'
ペイロードに含まれる画像データ全体を返します。
CHUNK_IMX174_FRAME_ID = 'ChunkIMX174FrameId'
IMX174 のダブル露光フレーム ID。
CHUNK_IMX174_FRAME_SET = 'ChunkIMX174FrameSet'
IMX174 のダブル露光フレームセット識別子。
CHUNK_MODE_ACTIVE = 'ChunkModeActive'
画像のペイロードに Chunk データを含める機能を有効化します。
CHUNK_MULTI_FRAME_SET_FRAME_ID = 'ChunkMultiFrameSetFrameId'
マルチフレームセット出力モードにおけるフレームセット内のフレーム ID を返します。
CHUNK_MULTI_FRAME_SET_ID = 'ChunkMultiFrameSetId'
マルチフレームセット出力モードにおけるフレームセット ID を返します。
CHUNK_SELECTOR = 'ChunkSelector'
有効化または制御する Chunk を選択します。
COLOR_TRANSFORMATION_ENABLE = 'ColorTransformationEnable'
選択されたカラー変換モジュールを有効化します。
COLOR_TRANSFORMATION_SELECTOR = 'ColorTransformationSelector'
各種カラー変換機能で制御するカラー変換モジュールを選択します。
COLOR_TRANSFORMATION_VALUE = 'ColorTransformationValue'
変換マトリクス内で選択されたゲイン係数またはオフセット値を表します。
COLOR_TRANSFORMATION_VALUE_SELECTOR = 'ColorTransformationValueSelector'
選択されたカラー変換モジュール内でアクセスするゲイン係数またはオフセットを選択します。
CONTRAST = 'Contrast'
コントラストを制御します。
DECIMATION_HORIZONTAL = 'DecimationHorizontal'
画像の水平方向サブサンプリング。指定された水平デシメーション係数により、画像の横方向解像度(幅)を下げます。
DECIMATION_VERTICAL = 'DecimationVertical'
画像の垂直方向サブサンプリング。指定された垂直デシメーション係数により、画像の縦方向解像度(高さ)を下げます。
DENOISE = 'Denoise'
ノイズ除去アルゴリズムの強度を制御します。
DEVICE_EVENT_CHANNEL_COUNT = 'DeviceEventChannelCount'
デバイスがサポートするイベントチャネル数を示します。
DEVICE_FACTORY_RESET = 'DeviceFactoryReset'
ユーザーが設定可能な不揮発性メモリをすべて初期状態にリセットします。リセット後は、デバイスを再検出する必要があります。
DEVICE_FIRMWARE_VERSION = 'DeviceFirmwareVersion'
デバイスのファームウェアバージョン。
DEVICE_LINK_HEARTBEAT_TIMEOUT = 'DeviceLinkHeartbeatTimeout'
選択したリンクのハートビートタイムアウト値を制御します。
DEVICE_LINK_SELECTOR = 'DeviceLinkSelector'
制御するデバイスのリンクを選択します。
DEVICE_MODEL_NAME = 'DeviceModelName'
デバイスのモデル名。
DEVICE_RESET = 'DeviceReset'
デバイスを電源投入時の状態にリセットします。リセット後は、デバイスを再検出する必要があります。
DEVICE_SCAN_TYPE = 'DeviceScanType'
デバイスのセンサーのスキャンタイプを返します。
DEVICE_SERIAL_NUMBER = 'DeviceSerialNumber'
デバイスのシリアル番号。この文字列はデバイスを一意に識別します。
DEVICE_SFNC_VERSION_MAJOR = 'DeviceSFNCVersionMajor'
デバイスの GenICam XML を作成する際に使用された Standard Features Naming Convention(SFNC)のメジャーバージョン。
DEVICE_SFNC_VERSION_MINOR = 'DeviceSFNCVersionMinor'
デバイスの GenICam XML を作成する際に使用された SFNC のマイナーバージョン。
DEVICE_SFNC_VERSION_SUB_MINOR = 'DeviceSFNCVersionSubMinor'
デバイスの GenICam XML を作成する際に使用された SFNC のサブマイナーバージョン。
DEVICE_STREAM_CHANNEL_COUNT = 'DeviceStreamChannelCount'
デバイスがサポートするストリーミングチャネル数を示します。
DEVICE_STREAM_CHANNEL_ENDIANNESS = 'DeviceStreamChannelEndianness'
このストリームのマルチバイト画素データのエンディアン形式を示します。
DEVICE_STREAM_CHANNEL_LINK = 'DeviceStreamChannelLink'
指定したストリームチャネルの送信に使用するデバイスのリンク番号を示します。
DEVICE_STREAM_CHANNEL_PACKET_SIZE = 'DeviceStreamChannelPacketSize'
選択したチャネルで送信するストリームパケットのサイズ(バイト単位)を指定します。
DEVICE_STREAM_CHANNEL_SELECTOR = 'DeviceStreamChannelSelector'
制御するストリームチャネルを選択します。
DEVICE_STREAM_CHANNEL_TYPE = 'DeviceStreamChannelType'
ストリームチャネルの種類を示します。
DEVICE_TEMPERATURE = 'DeviceTemperature'
デバイス温度(摂氏 °C)。測定は DeviceTemperatureSelector で選択された位置で行われます。
DEVICE_TEMPERATURE_SELECTOR = 'DeviceTemperatureSelector'
温度を測定するデバイス内部の位置を選択します。
DEVICE_TL_TYPE = 'DeviceTLType'
デバイスのトランスポートレイヤー(Transport Layer)の種類。
DEVICE_TL_VERSION_MAJOR = 'DeviceTLVersionMajor'
デバイスのトランスポートレイヤーのメジャーバージョン。
DEVICE_TL_VERSION_MINOR = 'DeviceTLVersionMinor'
デバイスのトランスポートレイヤーのマイナーバージョン。
DEVICE_TL_VERSION_SUB_MINOR = 'DeviceTLVersionSubMinor'
デバイスのトランスポートレイヤーのサブマイナーバージョン。
DEVICE_TYPE = 'DeviceType'
デバイスの種類を返します。
DEVICE_USER_ID = 'DeviceUserID'
ユーザーが設定可能なデバイス識別子。
DEVICE_VENDOR_NAME = 'DeviceVendorName'
デバイスの製造メーカー名。
DEVICE_VERSION = 'DeviceVersion'
デバイスのバージョン。
DISABLE_INFO_OVERLAY = 'DisableInfoOverlay'
HDMI フォーマット情報のオーバーレイ表示を無効にします。
EVENT_EXPOSURE_END = 'EventExposureEnd'
露光終了イベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
EVENT_EXPOSURE_END_FRAME_ID = 'EventExposureEndFrameID'
露光終了イベントのフレーム ID。
EVENT_EXPOSURE_END_TIMESTAMP = 'EventExposureEndTimestamp'
露光終了イベントのタイムスタンプ。
EVENT_FOCUS_MOVE_COMPLETED = 'EventFocusMoveCompleted'
フォーカス移動完了イベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
EVENT_FOCUS_MOVE_COMPLETED_FOCUS = 'EventFocusMoveCompletedFocus'
フォーカス移動完了イベントのフォーカス値。
EVENT_FOCUS_MOVE_COMPLETED_TIMESTAMP = 'EventFocusMoveCompletedTimestamp'
フォーカス移動完了イベントのタイムスタンプ。
EVENT_FRAME_TRIGGER_MISSED = 'EventFrameTriggerMissed'
フレームトリガー未検出(ミス)イベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
EVENT_FRAME_TRIGGER_MISSED_TIMESTAMP = 'EventFrameTriggerMissedTimestamp'
フレームトリガー未検出イベントのタイムスタンプ。
EVENT_LINE1_FALLING_EDGE = 'EventLine1FallingEdge'
Line1 の立下りエッジイベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
EVENT_LINE1_FALLING_EDGE_TIMESTAMP = 'EventLine1FallingEdgeTimestamp'
Line1 の立下りエッジイベントのタイムスタンプ。
EVENT_LINE1_RISING_EDGE = 'EventLine1RisingEdge'
Line1 の立上りエッジイベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
EVENT_LINE1_RISING_EDGE_TIMESTAMP = 'EventLine1RisingEdgeTimestamp'
Line1 の立上りエッジイベントのタイムスタンプ。
EVENT_NOTIFICATION = 'EventNotification'
現在選択されているイベントの通知を有効にします。イベントは Event Selector パラメータで選択できます。
EVENT_SELECTOR = 'EventSelector'
通知を有効にするイベントを設定します。通知は Event Notification パラメータを使用して有効にできます。
EVENT_TEST = 'EventTest'
テストイベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
EVENT_TEST_TIMESTAMP = 'EventTestTimestamp'
テストイベントのタイムスタンプ。
EVENT_ZOOM_MOVE_COMPLETED = 'EventZoomMoveCompleted'
ズーム移動完了イベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
EVENT_ZOOM_MOVE_COMPLETED_TIMESTAMP = 'EventZoomMoveCompletedTimestamp'
ズーム移動完了イベントのタイムスタンプ。
EVENT_ZOOM_MOVE_COMPLETED_ZOOM = 'EventZoomMoveCompletedZoom'
ズーム移動完了イベントのズーム値。
EXPAND_OUTPUT_RANGE = 'ExpandOutputRange'
HDMI 経由で YUV データを受信する際、輝度のフルレンジを使用します。
EXPOSURE_AUTO = 'ExposureAuto'
ExposureMode が Timed のとき、自動露光モードを設定します。
EXPOSURE_AUTO_HIGHLIGH_REDUCTION = 'ExposureAutoHighlighReduction'
ExposureAuto/GainAuto アルゴリズムに、白飛び(過露光)を避けるよう指示します。
EXPOSURE_AUTO_HIGHLIGHT_REDUCTION = 'ExposureAutoHighlightReduction'
ExposureAuto/GainAuto アルゴリズムに、白飛び(過露光)を避けるよう指示します。
EXPOSURE_AUTO_LOWER_LIMIT = 'ExposureAutoLowerLimit'
ExposureAuto 機能の下限値を設定します。
EXPOSURE_AUTO_REFERENCE = 'ExposureAutoReference'
ExposureAuto/GainAuto アルゴリズムの目標となる画像の明るさを設定します。
EXPOSURE_AUTO_UPPER_LIMIT = 'ExposureAutoUpperLimit'
ExposureAuto 機能の上限値を設定します。
EXPOSURE_AUTO_UPPER_LIMIT_AUTO = 'ExposureAutoUpperLimitAuto'
上限値を撮影フレームレートに合わせて自動設定します。
EXPOSURE_TIME = 'ExposureTime'
ExposureMode が Timed かつ ExposureAuto が Off のとき、露光時間を設定します。撮像素子が光にさらされる時間を制御します。
FILE_ACCESS_BUFFER = 'FileAccessBuffer'
デバイスのファイルストレージとアプリケーション間でデータをやり取りするための中間バッファを定義します。
FILE_ACCESS_LENGTH = 'FileAccessLength'
デバイスのファイルストレージと FileAccessBuffer の間のマッピング長を制御します。
FILE_ACCESS_OFFSET = 'FileAccessOffset'
デバイスのファイルストレージと FileAccessBuffer の間で行われるマッピングのオフセットを制御します。
FILE_OPEN_MODE = 'FileOpenMode'
デバイス内のファイルを開く際のアクセスモードを選択します。
FILE_OPERATION_EXECUTE = 'FileOperationExecute'
FileOperationSelector で選択された操作を、選択中のファイルに対して実行します。
FILE_OPERATION_RESULT = 'FileOperationResult'
ファイル操作の結果を示します。Read または Write 操作の場合、正常に読み書きされたバイト数が返されます。
FILE_OPERATION_SELECTOR = 'FileOperationSelector'
デバイス内の選択されたファイルに対して実行する操作を選択します。選択した操作は FileOperationExecute 呼び出し時に実行されます。
FILE_OPERATION_STATUS = 'FileOperationStatus'
ファイル操作の実行ステータスを示します。
FILE_SELECTOR = 'FileSelector'
デバイス内で対象とするファイルを選択します。
FILE_SIZE = 'FileSize'
選択中のファイルのサイズ(バイト単位)を示します。
FOCUS = 'Focus'
レンズのフォーカス設定を変更します。
FOCUS_AUTO = 'FocusAuto'
自動フォーカス制御を有効にします。
GAIN = 'Gain'
ゲインを絶対的な物理値として制御します。これはビデオ信号に適用される増幅係数です。
GAIN_AUTO = 'GainAuto'
自動ゲイン制御モードを設定します。
GAIN_AUTO_LOWER_LIMIT = 'GainAutoLowerLimit'
GainAuto 機能の下限値を指定します。
GAIN_AUTO_UPPER_LIMIT = 'GainAutoUpperLimit'
GainAuto 機能の上限値を指定します。
GAIN_MODE = 'GainMode'
センサー固有のゲイン設定(LCG/HCG)を構成します。
GAMMA = 'Gamma'
ピクセル強度のガンマ補正を制御します。主にディスプレイシステム(例:CRT)の非線形性を補正するために使用されます。
GEV_GVSP_EXTENDED_ID_MODE = 'GevGVSPExtendedIDMode'
拡張 ID モードを有効にします。
GEV_SCPS_DO_NOT_FRAGMENT = 'GevSCPSDoNotFragment'
この機能の状態は、各ストリームパケットの IP ヘッダー内にある “do not fragment” ビットにコピーされます。アプリケーション側でストリームチャネルの IP パケット断片化を防止する用途に使用できます。
GEV_SCPS_PACKET_SIZE = 'GevSCPSPacketSize'
GigE Vision 固有の機能で、DeviceStreamChannelPacketSize に対応し、常に同期を取る必要があります。指定したチャンネルで GVSP 送信側が送信するストリームパケットサイズ(バイト単位)を設定するか、GVSP 受信側がサポートする最大パケットサイズを指定します。
GP_IN = 'GPIn'
デジタル入力ピンの状態。
GP_OUT = 'GPOut'
デジタル出力ピンの状態。
HEIGHT = 'Height'
デバイスが提供する画像の高さ(ピクセル単位)。
HEIGHT_MAX = 'HeightMax'
画像の最大高さ(ピクセル単位)。この寸法は、垂直ビニング、デシメーションなど、垂直方向の寸法を変更する処理後に計算されます。
HUE = 'Hue'
色相の調整。
IMX174_HARDWARE_WDR_ENABLE = 'IMX174HardwareWDREnable'
IMX174 の WDR モードを有効にします。このモードでは、2 つ目の長時間露光(IMX174 WDR Shutter 2)を設定でき、これは隔フレームごとに使用されます。
IMX174_HARDWARE_WDR_SHUTTER_MODE = 'IMX174HardwareWDRShutterMode'
IMX174 の WDR シャッターモードを選択します。このモードでは、2 つ目のシャッター時間を自由に設定できるか、または設定された ExposureTime の倍数となる固定値とするかを決定します。
IMX174_WDR_SHUTTER2 = 'IMX174WDRShutter2'
IMX174 WDR モードが有効な場合、隔フレームごとに使用される露光時間。
IMX_LOW_LATENCY_TRIGGER_MODE = 'IMXLowLatencyTriggerMode'
IMX グローバルシャッターセンサ向けの低レイテンシトリガーモードを有効にします。このモードでは、トリガ入力から露光開始までのジッタが減少しますが、トリガのオーバーラップは使用できません。
INPUT_BITS = 'InputBits'
HDMI ソースで検出されたビット深度(bits per pixel)。
INPUT_FP1KS = 'InputFp1ks'
HDMI ソースで検出されたフレームレート。
INPUT_HEIGHT = 'InputHeight'
HDMI 入力画像で検出された高さ。
INPUT_WIDTH = 'InputWidth'
HDMI 入力画像で検出された幅。
IR_CUT_FILTER_ENABLE = 'IRCutFilterEnable'
センサ前面の IR カットフィルタを有効にします。
IRIS = 'Iris'
レンズのアイリス(絞り)設定を変更します。
IRIS_AUTO = 'IrisAuto'
自動アイリス制御を有効にします。
LUT_ENABLE = 'LUTEnable'
LUT(ルックアップテーブル)を有効化します。
LUT_INDEX = 'LUTIndex'
LUT 内でアクセスする係数のインデックス(オフセット)を制御します。
LUT_SELECTOR = 'LUTSelector'
制御する LUT を選択します。
LUT_VALUE = 'LUTValue'
LUT の指定された LUTIndex エントリの値を取得または設定します。
LUT_VALUE_ALL = 'LUTValueAll'
個別の LUTIndex を使用せずに、すべての LUT 係数へ一括アクセスします。
MULTI_FRAME_SET_OUTPUT_MODE_CUSTOM_GAIN = 'MultiFrameSetOutputModeCustomGain'
フレームセット内の各フレームに対して、カスタムゲイン値を使用できるようにします。
MULTI_FRAME_SET_OUTPUT_MODE_ENABLE = 'MultiFrameSetOutputModeEnable'
設定可能な露光時間とゲイン値を持つ 2 または 4 フレームのシーケンスをセンサが出力できるようにします。
MULTI_FRAME_SET_OUTPUT_MODE_EXPOSURE_TIME0 = 'MultiFrameSetOutputModeExposureTime0'
フレームセット内のフレーム 0 の露光時間を設定します。
MULTI_FRAME_SET_OUTPUT_MODE_EXPOSURE_TIME1 = 'MultiFrameSetOutputModeExposureTime1'
フレームセット内のフレーム 1 の露光時間を設定します。
MULTI_FRAME_SET_OUTPUT_MODE_EXPOSURE_TIME2 = 'MultiFrameSetOutputModeExposureTime2'
フレームセット内のフレーム 2 の露光時間を設定します。
MULTI_FRAME_SET_OUTPUT_MODE_EXPOSURE_TIME3 = 'MultiFrameSetOutputModeExposureTime3'
フレームセット内のフレーム 3 の露光時間を設定します。
MULTI_FRAME_SET_OUTPUT_MODE_FRAME_COUNT = 'MultiFrameSetOutputModeFrameCount'
マルチフレームセット出力モードにおけるフレーム数を選択します。
MULTI_FRAME_SET_OUTPUT_MODE_GAIN0 = 'MultiFrameSetOutputModeGain0'
フレームセット内のフレーム 0 のゲインを設定します。
MULTI_FRAME_SET_OUTPUT_MODE_GAIN1 = 'MultiFrameSetOutputModeGain1'
フレームセット内のフレーム 1 のゲインを設定します。
MULTI_FRAME_SET_OUTPUT_MODE_GAIN2 = 'MultiFrameSetOutputModeGain2'
フレームセット内のフレーム 2 のゲインを設定します。
MULTI_FRAME_SET_OUTPUT_MODE_GAIN3 = 'MultiFrameSetOutputModeGain3'
フレームセット内のフレーム 3 のゲインを設定します。
OFFSET_AUTO_CENTER = 'OffsetAutoCenter'
センサーの中心領域を選択するため、OffsetX と OffsetY の値を自動調整します。
OFFSET_X = 'OffsetX'
原点から関心領域(ROI)までの水平オフセット(ピクセル単位)。
OFFSET_Y = 'OffsetY'
原点から関心領域(ROI)までの垂直オフセット(ピクセル単位)。
PAYLOAD_SIZE = 'PayloadSize'
ストリームチャンネル上で各画像またはチャンクに対して転送されるバイト数を提供します。これには行末・フレーム末統計情報やその他のスタンプデータも含まれます。これはデータブロックのペイロード全体のサイズです。
PIXEL_FORMAT = 'PixelFormat'
デバイスが出力するピクセル形式。
PTP_CLOCK_ACCURACY = 'PtpClockAccuracy'
PTPクロックがグランドマスターとして動作する際、またはグランドマスターになる可能性がある場合に、その精度を示します。
PTP_ENABLE = 'PtpEnable'
Precision Time Protocol(PTP)を有効化します。
PTP_STATUS = 'PtpStatus'
PTPクロックの現在の状態を返します。
REVERSE_X = 'ReverseX'
画像を水平方向に反転します。
REVERSE_Y = 'ReverseY'
画像を垂直方向に反転します。
SATURATION = 'Saturation'
色の彩度。
SENSOR_HEIGHT = 'SensorHeight'
センサーの有効高さ(ピクセル単位)。
SENSOR_PIXEL_HEIGHT = 'SensorPixelHeight'
受光素子ピクセルの物理的な高さ(ピッチ)。
SENSOR_PIXEL_WIDTH = 'SensorPixelWidth'
受光素子ピクセルの物理的な幅(ピッチ)。
SENSOR_WIDTH = 'SensorWidth'
センサーの有効幅(ピクセル単位)。
SHARPNESS = 'Sharpness'
シャープネス処理の強さを制御します。
SIDEBAND_USE = 'SidebandUse'
USB-C サイドバンドピンによるトリガー/ストロボ制御を有効にします。
SIGNAL_DETECTED = 'SignalDetected'
HDMIソースからの信号が検出されているかを示します。
SOFTWARE_TRANSFORM_ENABLE = 'SoftwareTransformEnable'
ソフトウェア変換プロパティを有効にします。有効時は Sharpness や Tone Mapping などが使用でき、ドライバ内でソフトウェア変換が行われます。
SOURCE_CONNECTED = 'SourceConnected'
HDMIソースが接続されているかを示します。
STROBE_DELAY = 'StrobeDelay'
露光開始からストロボパルスが発生するまでの遅延を設定します。
STROBE_DURATION = 'StrobeDuration'
StrobeOperation が FixedDuration の場合、パルスの長さを指定します。
STROBE_ENABLE = 'StrobeEnable'
露光と同期した出力パルスの生成を有効にします。
STROBE_OPERATION = 'StrobeOperation'
露光同期出力パルスの長さを指定するモードを設定します。
STROBE_POLARITY = 'StrobePolarity'
露光同期出力パルスのレベル極性を選択します。
TEST_EVENT_GENERATE = 'TestEventGenerate'
イベント通知のテストに使用できるテストイベントを生成します。
TEST_PENDING_ACK = 'TestPendingAck'
デバイスの Pending Acknowledge(保留中の応答)機能をテストします。
TIMESTAMP_LATCH = 'TimestampLatch'
現在のタイムスタンプカウンタを TimestampLatchValue にラッチします。
TIMESTAMP_LATCH_STRING = 'TimestampLatchString'
ラッチされたタイムスタンプの人間が読みやすい形式の値。
TIMESTAMP_LATCH_VALUE = 'TimestampLatchValue'
ラッチされたタイムスタンプカウンタの値を返します。タイムスタンプは事前に Timestamp Control Latch コマンドによってラッチされている必要があります。
TIMESTAMP_RESET = 'TimestampReset'
デバイスのタイムスタンプカウンタの現在値をリセットします。実行後、タイムスタンプカウンタは自動的に再スタートします。
TL_PARAMS_LOCKED = 'TLParamsLocked'
取得中に、重要な機能が変更されないよう Transport Layer によって使用されます。
TONE_MAPPING_ENABLE = 'ToneMappingEnable'
トーンマッピングを有効にします。
TONE_MAPPING_GLOBAL_BRIGHTNESS = 'ToneMappingGlobalBrightness'
ローカルとグローバルの間で補間される、各ピクセルが使用する明るさ基準を変更します。
TONE_MAPPING_INTENSITY = 'ToneMappingIntensity'
トーンマッピングアルゴリズムの強度を調整します。
TRIGGER_ACTIVATION = 'TriggerActivation'
トリガーのアクティベーション方式を指定します。
TRIGGER_DEBOUNCER = 'TriggerDebouncer'
次のトリガー信号を受け付けるために、トリガー入力が低レベルで維持される必要がある時間を指定します。
TRIGGER_DELAY = 'TriggerDelay'
トリガーを受信してからアクティブ化されるまでの遅延時間を指定します。
TRIGGER_DENOISE = 'TriggerDenoise'
トリガー信号として認識されるために、トリガー入力が高レベルで維持される必要がある時間を指定します。
TRIGGER_MASK = 'TriggerMask'
トリガー信号を受け付けた後、無視されるトリガーパルスの時間を指定します。
TRIGGER_MODE = 'TriggerMode'
選択されたトリガーが有効かどうかを制御します。
TRIGGER_OPERATION = 'TriggerOperation'
トリガーモードにおけるセンサーの動作モードを制御します。
TRIGGER_OVERLAP = 'TriggerOverlap'
前のフレームとの間で許可されるトリガーオーバーラップの種類を指定します。これにより、新しいフレームに対して有効なトリガーが受け付けられるタイミングが定義されます。
TRIGGER_SELECTOR = 'TriggerSelector'
設定するトリガーの種類を選択します。
TRIGGER_SOFTWARE = 'TriggerSoftware'
内部ソフトウェアトリガーを生成します。TriggerSource が Software または Any に設定されている必要があります。
TRIGGER_SOURCE = 'TriggerSource'
トリガーの入力元として使用する内部信号または物理入力ラインを指定します。
USER_SET_DEFAULT = 'UserSetDefault'
デバイスリセット時にデフォルトで読み込まれアクティブとなるユーザーセットを選択します。
USER_SET_LOAD = 'UserSetLoad'
UserSetSelector で指定されたユーザーセットをデバイスに読み込み、アクティブにします。
USER_SET_SAVE = 'UserSetSave'
UserSetSelector で指定されたユーザーセットをデバイスの不揮発性メモリに保存します。
USER_SET_SELECTOR = 'UserSetSelector'
読み込み・保存・設定を行うユーザーセットを選択します。
WIDTH = 'Width'
デバイスが取得する画像の幅(ピクセル数)。
WIDTH_MAX = 'WidthMax'
画像の最大幅(ピクセル数)。この値は、水平方向のビニング、デシメーション、その他の水平サイズに影響する処理が適用された後の寸法に基づき算出されます。
ZOOM = 'Zoom'
レンズのズーム設定を変更します。

PropertyTypeクラス(value)

Bases: IntEnum

利用可能なプロパティタイプを表す列挙型です。

INVALID = 0
無効なプロパティタイプ。エラーを示します。
INTEGER = 1
整数型プロパティ。
FLOAT = 2
浮動小数点型プロパティ。
ENUMERATION = 3
列挙型プロパティ。
BOOLEAN = 4
真偽値プロパティ。
STRING = 5
文字列プロパティ。
COMMAND = 6
コマンドプロパティ。
CATEGORY = 7
カテゴリプロパティ。
REGISTER = 8
レジスタプロパティ。
PORT = 9
ポートプロパティ。
ENUMENTRY = 10
列挙値エントリプロパティ。

PropertyVisibilityクラス (value)

Bases: IntEnum

利用可能なプロパティの可視性を表す列挙型です。

BEGINNER = 0
初級者向けの可視性。
EXPERT = 1
上級者向けの可視性。
GURU = 2
専門家向けの可視性。
INVISIBLE = 3
デフォルトでは表示しないべきプロパティ。

PropertyIncrementModeクラス (value)

Bases: IntEnum

列挙型です。

INCREMENT = 0
このプロパティは、有効な値同士の間隔が固定ステップです。
PropInteger.increment または PropFloat.increment を使用して、ステップ幅を取得できます。
VALUE_SET = 1
このプロパティは、有効値の集合を持ちます。
PropInteger.valid_value_set または PropFloat.valid_value_set を使用して、有効値のセットを取得できます。
NONE = 2
このプロパティは、最小値から最大値までのすべての値を設定できます。
このモードは float プロパティにのみ有効です。
Integerプロパティでは、最小値から最大値までのすべての値を設定できる場合、インクリメントは 1 と報告されます。

Propertyクラス(h:c_void_p)

Bases: object

IC4 プロパティの基底クラスです。

すべてのプロパティに共通する基本的な機能を実装します。

type プロパティ : PropertyType

プロパティの種類を取得します。

戻り値 プロパティが何を表すかを示す列挙体の項目。
戻り値の型 PropertyType
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

visibility プロパティ: PropertyVisibility

プロパティの推奨表示レベルを取得します。

戻り値 PropertyVisibility

name プロパティ: str

プロパティ名を取得します。

戻り値 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

description プロパティ: str

プロパティの説明文を取得します。

戻り値 プロパティの説明文字列。
戻り値の型 str
例外 IC4Exception – エラーが発生しました。 詳細は IC4Exception.code および IC4Exception.message を確認してください。

tooltip プロパティ: str

プロパティのツールチップを取得します。

戻り値 プロパティのツールチップ文字列。
戻り値の型 str
例外 IC4Exception – エラーが発生しました。 詳細は IC4Exception.code および IC4Exception.message を確認してください。

display_name プロパティ: str

人が読める形式の表示名を取得します。

戻り値 str
例外 IC4Exception – エラーが発生しました。 詳細は IC4Exception.code および IC4Exception.message を確認してください。

is_locked プロパティ: bool

プロパティが現在ロックされているかどうかを確認します。
ロックされたプロパティは読み取りは可能ですが、値の書き込みは失敗します。プロパティのロック状態は、他のプロパティを書き換えることで変化する場合があります。 一般的な例として、ExposureAuto や GainAuto が有効な場合、ExposureTime や Gain がロックされます。

戻り値 ロックされていれば True
戻り値の型 bool

is_likely_locked_by_stream プロパティ: bool

データストリームがアクティブなためにプロパティがロックされているかどうかを推測します。
技術的な理由により、この関数は常に正確に将来を予測できるわけではありません。

戻り値 現在プロパティがロックされており、データストリームを停止するとロック解除される可能性が高い場合は true。 現在ロックされていない場合、またはデータストリームを停止してもロック解除されないと思われる場合は false
戻り値の型 bool

is_readonly プロパティ: bool

プロパティが読み取り専用かどうかを確認します。
読み取り専用プロパティは書き込みができず、その状態は変わりません。一般的な例として、DeviceTemperature などがあります。

戻り値 読み取り専用であれば True
戻り値の型 bool

is_available プロパティ: bool

プロパティが現在有効(利用可能)であるかどうかを確認します。
プロパティが利用できない場合、その値の読み取りまたは書き込みは失敗します。現在のデバイス状態において値に意味がない場合、プロパティが利用不可になることがあります。また、他のプロパティを書き換えることで利用可能状態が変化する場合があります。

戻り値 利用可能であれば True
戻り値の型 bool

is_selector プロパティ: bool

このプロパティの値が、他のプロパティの意味や値を変更するかどうかを確認します。
このプロパティによって影響を受けるプロパティを取得するには、selected_properties を使用します。

戻り値 他のプロパティの値が変更される場合は True。
戻り値の型 bool

selected_properties プロパティ: Sequence[Property]

このプロパティの影響を受けるプロパティを取得します。

戻り値 このプロパティがセレクターでない場合、シーケンスは空になります。
戻り値の型 Sequence[“Property”]
例外 IC4Exception – エラーが発生しました。詳細については IC4Exception.codeIC4Exception.message を確認してください。

class NotificationToken(func: Callable[[c_void_p, c_void_p], None], deleter: Callable[[c_void_p], None])

Bases: object
登録された通知コールバックを表すクラスです。
event_add_notification() を使ってプロパティ通知関数を登録すると、トークンが返されます。
このトークンは、後で event_remove_notification() を使用してコールバックを解除する際に利用します。

event_add_notification(notification: Callable[[Property], None]) NotificationToken

「プロパティ変更」コールバックを登録します。
プロパティのいずれかの要素が変更された際に、指定された関数が呼び出されます。

パラメータ notification (Callable[[Property], None]) – 呼び出される関数。
戻り値 event_remove_notification() を使ってコールバックを解除するためのトークン。
戻り値の型 NotificationToken
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.code および IC4Exception.message を確認してください。

event_remove_notification(token: NotificationToken)

event_add_notification() で登録されたプロパティ変更ハンドラを解除します。

パラメータ token (NotificationToken) – コールバックを識別するトークン。
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropCommandクラス(h:c_void_p)

Bases: Property

Commandプロパティは、デバイスが実行できるアクションを表します。

execute()

このプロパティ(コマンド)を実行します。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

is_done プロパティ: bool

コマンドの実行が完了しているかどうかを確認します。
コマンドがこれまで一度も実行されていない場合、この値は True になります。

戻り値 コマンドが完了していれば True、まだ実行中であれば False を返します。
戻り値の型 bool
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropBooleanクラス(h:c_void_p)

Bases: Property

Boolean型プロパティは、値が単純なオン/オフのスイッチとなる機能を表します。

value プロパティ: bool

現在のプロパティ値です。

戻り値 bool
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropIntRepresentationクラス(value)

Bases: IntEnum

Integerプロパティがどのように表現されるかを示す列挙型です。

LINEAR = 0
値を編集するためにスライダーの使用を提案します(線形)。
LOGARITHMIC = 1
対数スケールのスライダー使用を提案します。
BOOLEAN = 2
チェックボックスとして扱うことを提案します。
PURENUMBER = 3
通常の十進数として表示することを提案します。
HEXNUMBER = 4
16進数として表示することを提案します。
IPV4ADDRESS = 5
整数値を IPv4 アドレスとして扱うことを提案します。
MACADDRESS = 6
整数値を MAC アドレスとして扱うことを提案します。

PropIntegerクラス(h:c_void_p)

Bases: Property

Integerプロパティは、値が整数で表される機能を示します。

代表的なIntegerプロパティには WidthHeight があります。

Integerプロパティは有効値の範囲を制限できます。利用可能な値の範囲は minimummaximum を読むことで取得できます。

利用可能な値は、インクリメント値や特定の値セットによってさらに制限される場合があります。詳細は increment_modeincrementvalid_value_set を参照してください。

Integerプロパティは、ユーザーインターフェース作成時に有用なヒントも提供します:

property value: int

現在のプロパティ値を取得します。

戻り値 int
例外 IC4Exception – エラーが発生しました。 詳細は IC4Exception.code および IC4Exception.message を確認してください。

property minimum: int

プロパティの最小値を取得します。

戻り値 int
例外 IC4Exception – エラーが発生しました。 詳細は IC4Exception.code および IC4Exception.message を確認してください。

property maximum: int

プロパティの最大値を取得します。

戻り値 int
例外 IC4Exception – エラーが発生しました。 詳細は IC4Exception.code および IC4Exception.message を確認してください。

property increment_mode: PropertyIncrementMode

プロパティのインクリメントモードを返します。
Integerプロパティには、次のいずれか 1 つのインクリメントモードがあります:

インクリメントモード 動作
PropertyIncrementMode.INCREMENT increment の倍数のみ設定できます。
PropertyIncrementMode.VALUE_SET value_value_set に含まれる値のみ設定できます。

戻り値の型 PropertyIncrementMode
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property increment: int

増分ステップを取得します。
increment_mode が INCREMENT の場合にのみ有効です。

戻り値 int
例外 IC4Exception – エラーが発生しました。詳しくは IC4Exception.code および IC4Exception.message を確認してください。

property unit: str

このIntegerプロパティの単位です。

戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳しくは IC4Exception.code および IC4Exception.message を確認してください。

property representation: PropIntRepresentation

このIntegerプロパティに対して推奨される表示形式です。

戻り値の型 PropIntRepresentation

property valid_value_set: Sequence[int]

このプロパティで使用可能な値のセットを返します。
increment_modeVALUE_SET の場合にのみ有効です。

戻り値 このプロパティで有効な値のセット
戻り値の型 Sequence[int]
例外 IC4Exception – エラーが発生しました。詳しくは IC4Exception.code および IC4Exception.message を確認してください。

PropFloatRepresentationクラス(value)

Bases: IntEnum

Floatプロパティの表現方法を定義します。

各Floatプロパティには、より使いやすいユーザーインターフェースを作成するための表現ヒントが含まれています。

LINEAR = 0
値を編集するために、線形マッピングのスライダーを使用することを推奨します。
LOGARITHMIC = 1
値を編集するために、対数マッピングのスライダーを使用することを推奨します。
PURENUMBER = 2
数値を直接表示して編集する方法を推奨します。

PropDisplayNotationクラス(value)

Bases: IntEnum

Floatプロパティの表示形式として使用できる方式を定義します。

AUTOMATIC = 0
最適な表示形式を自動的に判定する仕組みを使用します。
FIXED = 1
固定小数点表示を推奨します。
SCIENTIFIC = 2
科学表記法(指数表記)を推奨します。

PropFloatクラス(h:c_void_p)

Bases: Property

Floatプロパティは、値が浮動小数で表される機能を示します。
代表的な例として、AcquisitionFrameRateExposureTimeGain などがあります。
Floatプロパティは、有効な値の範囲を制限できます。可能な値の範囲は、minimummaximum を読み取ることで取得できます。

可能な値は、インクリメント値または指定された値のセットによってさらに制限される場合があります。詳細は increment_modeincrementvalid_value_set を参照してください。

Floatプロパティは、ユーザーインターフェース作成時に役立つヒントを提供します:

property representation: PropFloatRepresentation

この float プロパティの推奨される表示形式

戻り値の型 PropFloatRepresentation

property unit: str

この float プロパティの単位

戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property display_notation: PropDisplayNotation

floatプロパティの値を表示する際に推奨される表示形式

戻り値の型 PropDisplayNotation

property display_precision: int

floatプロパティの値を表示する際に使用する推奨の有効数字の桁数

戻り値の型 int

property value: float

このプロパティの現在の値
値は、プロパティの書き込み制限がない場合のみ書き込み可能です。詳細は is_lockedis_readonlyis_available を参照してください。

戻り値の型 float
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property minimum: float

このプロパティが受け入れる最小値です。

戻り値の型 float
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property maximum: float

このプロパティが受け入れる最大値です。

戻り値の型 float
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property increment_mode: PropertyIncrementMode

このfloatプロパティが、最小値と最大値の間で有効な値をどのように制限するかを示します。
floatプロパティには3種類の増分モードがあります:

増分モード 動作
PropertyIncrementMode.NONE 制限はなく、minimummaximum の間のすべての値が設定可能です。
PropertyIncrementMode.INCREMENT increment の倍数のみ設定可能です。
PropertyIncrementMode.VALUE_SET value_set に含まれる値のみ設定可能です。

戻り値の型 PropertyIncrementMode

property increment: float

このfloatプロパティで有効な値のステップサイズです。
incrementはfloatプロパティの有効な値の集合を制限します。例えば、プロパティの最小値が0、最大値が10、incrementが0.5の場合、0.25は有効な値ではありません。
increment_modePropertyIncrementMode.INCREMENT でない場合、このプロパティにアクセスすると例外が発生します。

戻り値の型 float
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property valid_value_set: Sequence[int]

このプロパティで有効な値の集合を返します。
increment_modePropertyIncrementMode.VALUE_SET の場合にのみ有効です。

戻り値 このプロパティで有効な値の集合
戻り値の型 Sequence[float]
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropEnumEntryクラス(h:c_void_p)

Bases: Property

PropEnumeration のエントリを表します。

列挙エントリは Property から派生しています。そのため、名前、表示名、ツールチップ、表示・アクセスフラグなど、ほとんどのプロパティの特性を持っています。
これらの共通属性に加えて、定数値を持っており、value を使用して取得できます。

property value: int

列挙エントリの値

戻り値の型 int
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropEnumerationクラス(h:c_void_p)

Bases: Property

Enumerationプロパティは、値が名前付きエントリのリストから選択される機能を表します。

Enumerationプロパティの一般的な例として、PixelFormatTriggerModeExposureAuto があります。Enumerationプロパティの値は、列挙エントリの名前または値のいずれでも取得・設定できます。 列挙エントリは PropEnumEntry オブジェクトで表されます。

property entries: Sequence[PropEnumEntry]

すべての列挙エントリを取得します。

戻り値 _description_
戻り値の型 Sequence[PropEnumEntry]
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

find_entry(name_or_value: str | int) PropEnumEntry

名前または値でエントリを検索します。
指定した名前または値が存在しない場合、IC4Exception が発生します。

戻り値 列挙エントリを表すインスタンス
戻り値の型 PropEnumEntry
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property selected_entry: PropEnumEntry

現在アクティブな列挙エントリを取得します。

戻り値 現在選択されている列挙エントリ
戻り値の型 PropEnumEntry
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property value: str

現在アクティブな列挙エントリの名前を取得します。

戻り値 現在選択されている列挙エントリの名前
戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property int_value: int

現在アクティブな列挙エントリの整数値を取得します。

戻り値 現在選択されている列挙エントリの整数値
戻り値の型 int
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropStringクラス(h:c_void_p)

Bases: Property

Stringプロパティは、値がテキストである機能を表します。
テキストの最大長は max_length で示されます。

property value: str

現在の値を取得します。

戻り値 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property max_length: int

このプロパティに格納可能な文字列の最大長

戻り値の型 int
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropRegisterクラス(h:c_void_p)

Bases: Property

Registerプロパティは、生のバイト列で表される値を持つプロパティです。

property size: int

Registerプロパティのサイズを取得します。
Registerプロパティのサイズは必ずしも固定ではなく、他のプロパティの値によって変化することがあります。

property value: bytearray

レジスタの現在値を取得します。

値は、プロパティの書き込み可能性が制限されていない場合のみ書き込み可能です。詳細は is_lockedis_readonlyis_available を参照してください。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropCategoryクラス(h:c_void_p)

Bases: Property

カテゴリプロパティは、プロパティマップ内のすべてのプロパティ間にツリー構造を定義します。

ツリーのルートは常に名前が Root のカテゴリプロパティです。

カテゴリからリンクされているプロパティを確認するには、features を使用します。

カテゴリは他のカテゴリを再帰的に含むことができます。非常に単純なカテゴリツリーの例は以下の通りです:


  • Root (category)
    • AcquisitionControl (category)
      • AcquisitionStart (command)
      • AcquisitionStop (command)
      • AcquisitionFrameRate (float)
    • ImageFormatControl (category)
      • Width (integer)
      • Height (integer)

property features: Sequence[Property]

カテゴリが保持しているプロパティを取得します。

戻り値 カテゴリが含むプロパティのコレクション
戻り値の型 Sequence[Property]
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

PropertyMapクラス(h:c_void_p)

Bases: object

コンポーネント(通常はビデオキャプチャデバイス)のプロパティインターフェースを表します。
プロパティマップは、既知のプロパティへの高速アクセスを提供するとともに、カテゴリツリーを通じてすべての機能を列挙するための関数を提供します。
既知の名前と型を持つプロパティにアクセスするためのオーバーロード関数が多数用意されています:

名前は既知だが型が不明なプロパティを検索する場合は、型指定なし関数 find() を使用します。

既知のプロパティの値は、set_value() を呼び出すことで直接設定可能です。この関数は intfloatboolstr の引数を受け取り、操作対象のプロパティの型に合わせて値を設定します。

さらに、既知のプロパティの値は以下の関数を呼び出すことで直接取得可能です:

プロパティマップのカテゴリツリー内のすべてのプロパティをフラットなリストとして取得するには all() を使用します。
プロパティマップ内のすべてのプロパティの現在値は、serialize() を使用してファイルやメモリバッファに保存できます。 後で設定を復元するには deserialize() を呼び出します。プロパティ値は、serialize_to_file() または deserialize_from_file() を使用して、ファイルから直接読み書きすることも可能です。

チャンクデータを含むイメージバッファを connect_chunkdata() を使用してプロパティマップに接続することができます。これにより、プロパティマップはチャンクプロパティ読み取り操作のデータソースとしてイメージバッファを使用できます。

PropertyMap インスタンスは、それぞれのコンポーネントによって生成されます。例えば Grabber.device_property_map()VideoWriter.property_map() を呼び出すことで取得されます。

execute_command(command_name: str) None

既知の名前を持つコマンドを実行します。

パラメータ command_name (str) – このプロパティマップ内のCommandプロパティの名前
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

try_set_value(property_name: str, value: int | float | bool | str) bool

既知の名前を持つプロパティの値を、指定された値に設定しようとします。

set_value() と異なり、プロパティが存在しない場合や設定できない場合でも例外は発生しません。ただし、value 引数の型が予期しない場合は TypeError が発生します。

パラメータ
  • property_name (str) – このプロパティマップ内のプロパティ名
  • value (Union[int, float, bool, str]) – 設定する新しい値
例外 TypeErrorvalueintfloatboolstr のいずれでもない場合に発生します。
戻り値 値の設定に成功した場合は True、設定できなかった場合は False を返します。
戻り値の型 bool
注意

この関数の動作は、プロパティの型と渡された value 引数の型に依存します:

  1. 引数の型が int の場合:
    • Integerプロパティにはそのまま設定されます。
    • Floatプロパティにはそのまま設定されます。
    • Booleanプロパティには、値が 1 または 0 の場合、それぞれ True または False に変換して設定されます。それ以外の値はエラーになります。
    • Enumerationプロパティの場合、プロパティが PixelFormat の場合のみ設定されます。
    • Commandプロパティの場合、値が 1 のときコマンドが実行されます。
    • その他のプロパティ型ではエラーとなります。
  2. 引数の型が float の場合:
    • Integerプロパティには四捨五入して設定されます。
    • Floatプロパティにはそのまま設定されます。
    • その他のプロパティ型ではエラーとなります。
  3. 引数の型が bool の場合:
    • Booleanプロパティにはそのまま設定されます。
    • Enumerationプロパティの場合、利用可能であれば True または False を表すエントリが選択されます。
    • Commandプロパティの場合、値が True のときコマンドが実行されます。
    • その他のプロパティ型ではエラーとなります。
  4. 引数の型が str の場合:
    • Integerプロパティには文字列を解析して整数値を設定します。
    • Floatプロパティには文字列を解析して浮動小数点値を設定します。
    • Booleanプロパティには、文字列が True または False を一意に表す場合に設定されます。
    • Enumerationプロパティには、名前が一致するエントリが選択されます。
    • Stringプロパティにはそのまま設定されます。
    • Commandプロパティには、値が “1”“True”、または “execute” の場合にコマンドが実行されます。
    • その他のプロパティ型ではエラーとなります。

set_value(property_name: str, value: int | float | bool | str) None

既知の名前を持つプロパティの値を、指定された値に設定します。

パラメータ
  • property_name (str) – このプロパティマップ内のプロパティ名
  • value (Union[int, float, bool, str]) – 設定する新しい値
例外
注意

この関数の動作は、プロパティの型および渡された value 引数の型に依存します:

  1. 引数の型が int の場合:
    • Integer型プロパティの場合、渡された値をそのまま設定します。
    • Float型プロパティの場合、渡された値をそのまま設定します。
    • Boolean型プロパティの場合、値が 1 または 0 の場合は、それぞれ True または False に設定されます。それ以外の値はエラーになります。
    • Enumeration型プロパティの場合、プロパティが PixelFormat の場合のみ値が設定されます。
    • Commandプロパティの場合、渡された値が 1 の場合にコマンドが実行されます。
    • その他のプロパティ型の場合、呼び出しはエラーになります。
  2. 引数の型が float の場合:
    • Integer型プロパティの場合、渡された値は最も近い整数に丸められます。
    • Float型プロパティの場合、渡された値をそのまま設定します。
    • その他のプロパティ型の場合、呼び出しはエラーになります。
  3. 引数の型が bool の場合:
    • Boolean型プロパティの場合、渡された値をそのまま設定します。
    • Enumeration型プロパティの場合、値が True または False を表すことが明確なエントリがあれば、それを選択します。
    • Commandプロパティの場合、渡された値が True の場合にコマンドが実行されます。
    • その他のプロパティ型の場合、呼び出しはエラーになります。
  4. 引数の型が str の場合:
    • Integer型プロパティの場合、文字列を解析して整数値を設定します。
    • Float型プロパティの場合、文字列を解析して浮動小数点値を設定します。
    • Boolean型プロパティの場合、文字列が True または False を明確に示す場合に値を設定します。
    • Enumeration型プロパティの場合、名前が値に一致するエントリを選択します。
    • String型プロパティの場合、渡された値をそのまま設定します。
    • Commandプロパティの場合、渡された値が “1”“True”、または “execute” の場合にコマンドを実行します。
    • その他のプロパティ型の場合、呼び出しはエラーになります。
備考

プログラムの動作に必須でないプロパティを設定する場合、プロパティエラー時に例外を発生させないように、try_set_value() を使用してください。

get_value_int(property_name: str) int

既知の名前のプロパティの値を int として取得します。

パラメータ property_name (str) – このプロパティマップ内のプロパティ名
戻り値 成功した場合、プロパティの値が返されます。
戻り値の型 int
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

この関数の動作はプロパティの型に依存します:

  • Integer型プロパティの場合、値がそのまま返されます。
  • Boolean型プロパティの場合、返される値は 1 または 0 です。
  • その他のプロパティ型の場合、呼び出しはエラーになります。

get_value_float(property_name: str) float

既知の名前のプロパティの値を float として取得します。

パラメータ property_name (str) – このプロパティマップ内のプロパティ名
戻り値 成功した場合、プロパティの値が返されます。
戻り値の型 float
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

この関数の動作はプロパティの型に依存します:

  • Integer型プロパティの場合、値は float に変換されます。
  • Float型プロパティの場合、値はそのまま返されます。
  • その他のプロパティ型の場合、呼び出しはエラーになります。

get_value_bool(property_name: str) bool

既知の名前のプロパティの値を bool として取得します。

パラメータ property_name (str) – このプロパティマップ内のプロパティ名
戻り値 成功した場合、プロパティの値が返されます。
戻り値の型 bool
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

この関数の動作はプロパティの型に依存します:

  • Boolean型プロパティの場合、値はそのまま返されます。
  • Enumeration型プロパティの場合、現在選択されているエントリの名前が明確に True または False を表す場合に、その値が返されます。
  • その他のプロパティ型の場合、呼び出しはエラーになります。

get_value_str(property_name: str) str

既知の名前のプロパティの値を str として取得します。

パラメータ property_name (str) – このプロパティマップ内のプロパティ名
戻り値 成功した場合、プロパティの値を文字列として返します。
戻り値の型 str
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

この関数の動作はプロパティの型に依存します:

  • Integer型プロパティの場合、値は文字列に変換されます。
  • Float型プロパティの場合、値は文字列に変換されます。
  • Boolean型プロパティの場合、値は True または False の文字列として返されます。
  • Enumeration型プロパティの場合、現在選択されているエントリの名前が返されます。
  • String型プロパティの場合、値はそのまま返されます。
  • その他のプロパティ型の場合、呼び出しはエラーになります。

find(prop_name: str) Property

指定した名前のプロパティをプロパティマップ内から検索します。

パラメータ prop_name (str) – 検索するプロパティの名前
戻り値 指定されたプロパティオブジェクト
戻り値の型 Property
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

find_integer(integer_name: str) PropInteger

指定した名前のInteger型プロパティをプロパティマップ内から検索します。

パラメータ integer_name (str) – 検索するInteger型プロパティの名前
戻り値 指定されたInteger型プロパティオブジェクト
戻り値の型 PropInteger
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

find_float(float_name: str) PropFloat

プロパティマップ内から指定された名前の float プロパティを検索します。

パラメータ float_name (str) – 検索対象の float プロパティ名
戻り値 指定された名前に対応する float プロパティオブジェクト
戻り値の型 PropFloat
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.code および IC4Exception.message を確認してください。

find_command(command_name: str) PropCommand

プロパティマップ内から指定された名前のCommandプロパティを検索します。

パラメータ command_name (str) – 検索対象のCommandプロパティ名
戻り値 指定された名前に対応するCommandプロパティオブジェクト
戻り値の型 PropCommand
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.code および IC4Exception.message を確認してください。

find_boolean(boolean_name: str) PropBoolean

プロパティマップ内で指定された名前のブール値プロパティを検索します。

パラメータ boolean_name (str) – 検索対象のブール値プロパティ名
戻り値 指定されたブール値プロパティオブジェクト
戻り値の型 PropBoolean
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を参照してください。

find_enumeration(enumeration_name: str) PropEnumeration

プロパティマップ内で指定された名前の列挙型プロパティを検索します。

パラメータ enumeration_name (str) – 検索対象の列挙型プロパティ名
戻り値 指定された列挙型プロパティオブジェクト
戻り値の型 PropEnumeration
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を参照してください。

find_string(string_name: str) PropString

指定された名前のString型プロパティをプロパティマップ内から検索します。

パラメータ string_name (str) – 検索対象のStringプロパティ名
戻り値 指定されたStringプロパティオブジェクト
戻り値の型 PropString
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を参照してください。

find_register(register_name: str) PropRegister

指定された名前のRegisterプロパティをプロパティマップ内から検索します。

パラメータ register_name (str) – 検索対象のRegisterプロパティ名
戻り値 指定されたRegisterプロパティオブジェクト
戻り値の型 PropRegister
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を参照してください。

find_category(category_name: str) PropCategory

指定された名前のカテゴリプロパティをプロパティマップ内から検索します。

パラメータ category_name (str) – 検索対象のカテゴリプロパティ名
戻り値 指定されたカテゴリプロパティオブジェクト
戻り値の型 PropCategory
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を参照してください。

all プロパティ: Sequence[Property]

すべてのプロパティを取得します。

PropCategory 型のプロパティは含まれません。

戻り値 全プロパティのコレクション
戻り値の型 Sequence[Property]
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

root_category プロパティ: PropCategory

ルート(Root)カテゴリを取得します。

戻り値 このプロパティマップのルートカテゴリ(Root
戻り値の型 PropCategory
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

serialize() bytearray

このプロパティマップ内のプロパティ状態をメモリバッファに保存します。

戻り値 シリアライズされたプロパティ値を含む bytearray
戻り値の型 bytearray
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

後でプロパティ値を復元する場合は、deserialize() を使用してください。

deserialize(arr: bytearray) None

serialize() によって以前に保存されたデータを含むメモリバッファから、プロパティマップのプロパティ状態を復元します。

パラメータ arr (bytearray) – シリアライズされたプロパティデータを含む bytearray
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

serialize_to_file(path: Path | str) None

プロパティを JSON ファイルに書き込みます。

パラメータ path (Path | str) – 書き込むファイルのパス
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

deserialize_from_file(path: Path | str) None

JSON ファイルからプロパティを読み込みます。

パラメータ path (Path | str) – 読み込むファイルのパス
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

connect_chunkdata(image_buffer: ImageBuffer |None) None

渡された ImageBuffer 内のチャンクデータを、プロパティマップのチャンクプロパティのバックエンドとして使用可能にします。

パラメータ image_buffer (Optional[ImageBuffer]) – チャンクデータを含むイメージバッファ。以前に接続したバッファを切断する場合は None を指定します。
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

プロパティマップは渡されたイメージバッファへの参照を保持し、そのライフタイムを延長して自動再利用を防ぎます。新しいイメージバッファを接続するか、image_buffer 引数に None を指定すると、参照は解放されます。

イメージバッファ

BufferPoolクラス(cache_buffers_max: int = 1, cache_bytes_max: int = 0)

Bases: object

バッファプールは、プログラムで使用する追加のバッファを割り当てるための仕組みです。
ほとんどのプログラムは、シンクタイプのいずれかが提供するバッファのみを使用します。しかし、画像処理の出力先などとして追加バッファが必要な場合もあります。
追加バッファを作成するには、まずバッファプールを作成します。その後、BufferPool.get_buffer() を使用して、指定した画像タイプの新しいバッファを要求します。
画像バッファが不要になった場合は、ImageBuffer.release() を呼び出すか、スコープ外に出すことでバッファがバッファプールに返却されます。

バッファプールにはキャッシュ動作の設定が可能です。デフォルトでは、バッファプールは1つの画像バッファをキャッシュし、次回同じ条件の画像バッファが要求されたときに再利用します。

バッファプールによって作成された画像バッファオブジェクトは、バッファプール自体が破棄された後も有効です。

パラメータ
  • cache_buffers_max (int) – バッファプールのキャッシュに保持するフレームの最大数
  • cache_bytes_max (int) – バッファプールキャッシュの最大サイズ(バイト単位)。0を指定するとサイズ制限なし
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

get_buffer(image_type: ImageType, alignment: int = 0, pitch: int = 0, buffer_size: int = 0) ImageBuffer

バッファプールからバッファを取得します。
バッファは新規に割り当てられるか、バッファプールのキャッシュから取得されます。

パラメータ
  • image_type (ImageType) – 取得するバッファの画像タイプ。
  • alignment (int, オプション) – バッファのメモリアドレスのアライメントを指定します。0を指定するとバッファプールが自動的に選択します。アライメントは2の累乗である必要があります。デフォルトは0です。
  • pitch (int, オプション) – バッファ割り当て時のピッチ(1行分のメモリ幅)を指定します。0を指定するとバッファプールが自動的に選択します。必要なメモリより小さい値を設定するとエラーになります。デフォルトは0です。
  • buffer_size (int, オプション) – バッファサイズの自動計算を上書きします。0を指定するとバッファプールが自動的に必要なサイズを計算します。必要なメモリより小さいサイズを設定するとエラーになります。デフォルトは0です。
戻り値 作成された新しい画像バッファ
戻り値の型 ImageBuffer
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

ImageBufferクラス(h:c_void_p)

Bases: object

プログラムからアクセス可能な画像バッファを表すクラスです。
画像バッファは、シンク(SnapSink または QueueSink)によって作成されるか、BufferPool から取得されます。
ImageBuffer へのすべての参照が削除されるか、release() が呼び出されると、画像バッファは元のソースに返され、再利用される可能性があります。

release() None

このオブジェクトが表す画像バッファを、再利用のために元のソースに返します。
この関数は、SnapSink.snap_sequence() から返された画像バッファのリストを扱う際に便利です。リスト全体が破棄される前に、特定の画像バッファを再キューに戻すことができます。

MetaDataクラス(device_frame_number: int, device_timestamp_ns: int)

Bases: object

関連する ImageBuffer のメタ情報を保持するクラスです。

ImageBuffer のフレームメタデータを取得するには、ImageBuffer.meta_data() プロパティを使用します。

device_frame_number: int

デバイスフレーム番号

戻り値 ビデオキャプチャデバイスによって画像に割り当てられたフレーム番号。
戻り値の型 int
注意

この値の挙動(開始値やオーバーフローの有無など)はデバイス固有です。

device_timestamp_ns: int

デバイスタイムスタンプ

戻り値 ビデオキャプチャデバイスによって画像に割り当てられたタイムスタンプ。
戻り値の型 int
注意

この値の挙動(リセットの有無、開始値、実際の分解能など)はデバイス固有です。

meta_data プロパティ: MetaData

このイメージバッファに関連付けられた MetaData オブジェクトを取得します。

戻り値 このバッファのメタデータ
戻り値の型 MetaData
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

pointer プロパティ: c_void_p

このイメージバッファのデータへのポインタを返します。
返されたポインタが指すメモリは、イメージバッファオブジェクトが存在する間有効です。

戻り値 イメージデータへのポインタ
戻り値の型 ctypes.c_void_p
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

buffer_size プロパティ: int

イメージバッファのサイズを取得します。

戻り値 バイト単位でのイメージバッファのサイズ
戻り値の型 int
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

pitch プロパティ: int

イメージバッファのピッチ(1行分のメモリ幅)を取得します。
ピッチは、連続する2行の開始メモリ位置間の距離です。

戻り値 バイト単位でのイメージバッファのピッチ
戻り値の型 int
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

image_type プロパティ: ImageType

イメージバッファの画像タイプを取得します。

戻り値 このバッファ内の画像のピクセル形式と寸法を示します。
戻り値の型 ImageType
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

copy_from(source: ImageBuffer, skip_image: bool = False, skip_chunkdata: bool = False) None

あるイメージバッファの内容を別のイメージバッファにコピーします。

Parameter
  • source (ImageBuffer) – コピー元のバッファ
  • skip_image (bool, optional) – True に設定すると、画像以外の部分のみをコピーします。デフォルトは False です。
  • skip_chunkdata (bool, optional) – True に設定すると、チャンクデータはコピーされません。デフォルトは False です。
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
備考

sourceself の画像のピクセル形式が異なる場合、画像は変換されます。例えば、source のピクセル形式が PixelFormat.BayerRG8self のピクセル形式が PixelFormat.BGR8 の場合、デモザイク処理によってカラー画像が作成されます。

skip_image が True の場合、画像データはコピーされません。この場合、メタデータとチャンクデータのみがコピーされ、プログラム側で画像コピー処理を行うことができます。

skip_chunkdata が True の場合、source 内のチャンクデータはコピーされません。チャンクデータが大きく、不要な場合に有用です。

注意

sourceself の幅または高さが等しくない場合、関数は失敗し、エラー値は ErrorCode.ConversionNotSupported に設定されます。

要求された変換に対応するアルゴリズムがない場合、関数は失敗し、エラー値は ErrorCode.ConversionNotSupported に設定されます。

self が書き込み不可 (is_writable) の場合、関数は失敗し、エラー値は ErrorCode.InvalidOperation に設定されます。

is_writable プロパティ: bool

このイメージバッファオブジェクトが安全に書き込み可能かどうかを確認します。
場合によっては、イメージバッファオブジェクトがアプリケーションとライブラリ間で共有されることがあります。例えば、イメージバッファがディスプレイやビデオライターと共有される場合です。
共有されているバッファは安全に書き込みできません。共有バッファに書き込むと予期しない動作が発生する可能性があります。例えば、並行して行われている処理の結果に修正が部分的に反映されることがあります。
イメージバッファを Display.display_buffer()VideoWriter.add_frame() のような関数に渡すと、バッファが共有状態になることがあります。

戻り値 ライブラリの他の部分と共有されていない場合は True、安全に書き込み可能です。それ以外の場合は False です。
戻り値の型 bool

numpy_wrap() ndarray[Any, dtype[Any]]

このイメージバッファの内容を使って NumPy 配列を作成します。
NumPy 配列は、イメージバッファへの参照が存在する間のみアクセス可能です。イメージバッファへの最後の参照がなくなった後に NumPy 配列にアクセスすると、予期しない動作が発生する可能性があります。
NDArray の要素型および形状は、イメージバッファのピクセルフォーマットによって決まります。

ピクセルフォーマット 要素型 形状
Mono8, BayerBG8, BayerRG8, BayerGR8 c_ubyte (Height, Width, 1)
Mono16, BayerBG16, BayerRG16, BayerGR16 c_ushort (Height, Width, 1)
BGR8 c_ubyte (Height, Width, 3)
BGRa8 c_ubyte (Height, Width, 4)
BGRa16 c_ushort (Height, Width, 4)

戻り値 このイメージバッファの内容を使用した NumPy 配列
戻り値の型 NDArray[Any]
例外 RuntimeError – このイメージバッファのピクセルフォーマットはサポートされていません。

numpy_copy() ndarray[Any, dtype[Any]]

このイメージバッファの内容をコピーした NumPy 配列を作成します。

戻り値 このイメージバッファの内容を含む新しい NumPy 配列
戻り値の型 NDArray[Any]
例外 RuntimeError – このイメージバッファのピクセルフォーマットはサポートされていません。

class PngCompressionLevel(value)

Bases: IntEnum
ImageBuffer.save_as_png() に渡す PNG 圧縮レベルを定義します。
圧縮レベルを高くするとファイルサイズは小さくなりますが、圧縮に時間がかかる場合があります。

AUTO = 0
圧縮レベルを自動選択
LOW = 1
低圧縮
MEDIUM = 2
中圧縮
HIGH = 3
高圧縮
HIGHEST = 4
最高圧縮

save_as_bmp(path: Path | str, store_bayer_raw_data_as_monochrome: bool = False) None

ImageBuffer の内容を BMP ファイルとして保存します。
イメージバッファのピクセルフォーマットに応じて、保存前に変換が行われます。

  • モノクロピクセルフォーマットは Mono8 に変換され、8ビットモノクロ BMP ファイルとして保存されます
  • Bayer、RGB、YUV ピクセルフォーマットは BGR8 に変換され、24ビットカラービットマップとして保存されます
パラメータ
  • path (Path|str) – 保存するファイル名。ディレクトリは事前に存在している必要があります。
  • store_bayer_raw_data_as_monochrome (bool) – 任意。バイヤーフォーマットのピクセルデータをモノクロとして解釈し、RAW データをモノクロ画像として保存するかどうか。既定値: False
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

save_as_jpeg(path: Path | str, quality_pct: int = 75) None

ImageBuffer の内容を JPEG ファイルとして保存します。
イメージバッファのピクセルフォーマットに応じて、保存前に変換が行われます。

  • モノクロピクセルフォーマットは Mono8 に変換され、モノクロ JPEG ファイルとして保存されます
  • Bayer、RGB、YUV ピクセルフォーマットは BGR8 に変換され、カラージェイペグファイルとして保存されます
パラメータ
  • path (Path|str) – 保存するファイル名。ディレクトリは事前に存在している必要があります。
  • quality_pct (int) – 任意。JPEG 画像の品質(%)を指定します。既定値: 75
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

save_as_png(path: Path | str, store_bayer_raw_data_as_monochrome: bool = False, compression_level: PngCompressionLevel = PngCompressionLevel.AUTO) None

ImageBuffer の内容を PNG ファイルとして保存します。
イメージバッファのピクセルフォーマットに応じて、保存前に変換が行われます。

  • 8ビット以上のモノクロピクセルフォーマットは Mono16 に変換され、16ビット/チャンネルのモノクロ PNG として保存されます
  • Mono8 イメージバッファは 8ビット/チャンネルのモノクロ PNG として保存されます
  • 8ビット以上のバイヤーフォーマットは BGRa16 に変換され、16ビット/チャンネルの4チャンネル PNG として保存されます
  • 16ビット RGB ピクセルフォーマットは 16ビット/チャンネルの4チャンネル PNG として保存されます
  • 8ビットの Bayer、RGB、YUV ピクセルフォーマットは BGR8 に変換され、8ビット/チャンネルの3チャンネル PNG として保存されます
パラメータ
  • path (Path|str) – 保存するファイル名。ディレクトリは事前に存在している必要があります。
  • store_bayer_raw_data_as_monochrome (bool) – 任意。バイヤーフォーマットのピクセルデータをモノクロとして解釈し、RAW データをモノクロ画像として保存するかどうか。既定値: False
  • compression_level (PngCompressionLevel) – 任意。PNG 圧縮レベルを指定します。既定値: AUTO
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

save_as_tiff(path: Path | str, store_bayer_raw_data_as_monochrome: bool = False) None

ImageBuffer の内容を TIFF ファイルとして保存します。
イメージバッファのピクセルフォーマットに応じて、保存前に変換が行われます。

  • 8ビット以上のモノクロピクセルフォーマットは Mono16 に変換され、16ビット/チャンネルのモノクロ TIFF として保存されます
  • Mono8 イメージバッファは 8ビット/チャンネルのモノクロ TIFF として保存されます
  • 8ビット以上のバイヤーフォーマットは BGRa16 に変換され、16ビット/チャンネルの4チャンネル TIFF として保存されます
  • 16ビット RGB ピクセルフォーマットは 16ビット/チャンネルの4チャンネル TIFF として保存されます
  • 8ビットの Bayer、RGB、YUV ピクセルフォーマットは BGR8 に変換され、8ビット/チャンネルの3チャンネル TIFF として保存されます
パラメータ
  • path (Path|str) – 保存するファイル名。ディレクトリは事前に存在している必要があります。
  • store_bayer_raw_data_as_monochrome (bool) – 任意。バイヤーフォーマットのピクセルデータをモノクロとして解釈し、RAW データをモノクロ画像として保存するかどうか。既定値: False
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

PixelFormatクラス(value)

Bases: IntEnum

画像のピクセルの表現方法を定義します。

ピクセルフォーマットは ImageType の一部です。

Unspecified = 0
未指定のピクセルフォーマット。画像タイプを部分的に定義する際に使用されます。
Mono8 = 17301505
Monochrome 8-bit
Mono10p = 17432646
Monochrome 10-bit packed
Mono12p = 17563719
Monochrome 12-bit packed
Mono16 = 17825799
Monochrome 16-bit
BayerBG8 = 17301515
Bayer Blue-Green 8-bit
BayerBG10p = 17432658
Bayer Blue-Green 10-bit packed
BayerBG12p = 17563731
Bayer Blue-Green 12-bit packed
BayerBG16 = 17825841
Bayer Blue-Green 16-bit
BayerGB8 = 17301514
Bayer Green-Blue 8-bit
BayerGB10p = 17432660
Bayer Green-Blue 10-bit packed
BayerGB12p = 17563733
Bayer Green-Blue 12-bit packed
BayerGB16 = 17825840
Bayer Green-Blue 16-bit
BayerGR8 = 17301512
Bayer Green-Red 8-bit
BayerGR10p = 17432662
Bayer Green-Red 10-bit packed
BayerGR12p = 17563735
Bayer Green-Red 12-bit packed
BayerGR16 = 17825838
Bayer Green-Red 16-bit
BayerRG8 = 17301513
Bayer Red-Green 8-bit
BayerRG10p = 17432664
Bayer Red-Green 10-bit packed
BayerRG12p = 17563737
Bayer Red-Green 12-bit packed
BayerRG16 = 17825839
Bayer Red-Green 16-bit
BGRa8 = 35651607
Blue-Green-Red-alpha 8-bit
BGRa16 = 37748817
Blue-Green-Red-alpha 16-bit
BGR8 = 35127317
Blue-Green-Red 8-bit
Mono12Packed = 17563654
GigE Vision 専用フォーマット、Monochrome 12-bit packed
BayerBG12Packed = 17563693
GigE Vision 専用フォーマット、Bayer Blue-Green 12-bit packed
BayerGB12Packed = 17563692
GigE Vision 専用フォーマット、Bayer Green-Blue 12-bit packed
BayerGR12Packed = 17563690
GigE Vision 専用フォーマット、Bayer Green-Red 12-bit packed
BayerRG12Packed = 17563691
GigE Vision 専用フォーマット、Bayer Red-Green 12-bit packed
YUV422_8 = 34603058

2 8-bit

Type YUV 4
Type 2
YCbCr422_8 = 34603067

2 8-bit

Type YCbCr 4
Type 2
YCbCr411_8 = 34340954

1 8-bit (CbYYCrYY)

Type YCbCr 4
Type 1
YCbCr411_8_CbYYCrYY = 34340924

1 8-bit (YYCbYYCr)

Type YCbCr 4
Type 1
Invalid = -1

無効なピクセルフォーマット

ImageTypeクラスpixel_format: PixelFormat | int = PixelFormat.Unspecified, width: int = 0, height: int = 0

Bases: object
ピクセルフォーマットや画像の寸法を含む画像タイプを表します。

property pixel_format: PixelFormat | int

画像のピクセルフォーマット

戻り値 画像のピクセルフォーマット。実際のピクセルフォーマットが PixelFormat 列挙型に含まれない場合は int 型となることがあります。
戻り値の型 Union[PixelFormat, int]

property width: int

画像の幅

戻り値 画像の幅
戻り値の型 int

property height: int

画像の高さ

戻り値 画像の高さ
戻り値の型 int

Sinks

QueueSinkListenerクラス

Bases: ABC

QueueSink リスナー用の抽象基底クラスです。

abstract sink_connected(sink: QueueSink, image_type: ImageType, min_buffers_required: int) bool

シンクへのデータストリームが作成された際に呼び出されます。

引数
  • sink (QueueSink) – 接続されるシンク
  • image_type (ImageType) – シンクが受信する画像の種類
  • min_buffers_required (int) – データストリームの動作に必要な最小バッファ数。イベントハンドラーがバッファを割り当てない場合、シンクは自動的に必要な最小バッファ数を割り当てます。
戻り値 処理を進める場合は True、データストリーム作成を中止する場合は False を返します。
注意

この関数は Grabber.stream_setup() を呼び出すスレッド上で実行されます。

sink_disconnected(sink: QueueSink)

シンクへのデータストリームが停止された際に呼び出されます。

引数 sink (QueueSink) – 切断されるシンク
注意

この関数は Grabber.stream_stop() を呼び出すスレッド上で実行されます。

abstract frames_queued(sink: QueueSink)

シンクの充填済みバッファのキューに新しい画像が追加されたときに呼び出されます。

イベントハンドラーは通常、充填済み画像バッファにアクセスするために QueueSink.pop_output_buffer() を呼び出します。

コールバック関数で長時間の処理を行う場合、データストリームが停止されているかを確認するために、定期的に QueueSink.is_cancel_requested をチェックすることが推奨されます。

引数 sink (QueueSink) – フレームを受信したシンク
注意

この関数はシンクによって管理される専用スレッド上で実行されます。

シンクへのデータストリームが停止されると、Grabber.stream_stop() の呼び出しは、このイベントハンドラーが終了するまで待機します。イベントハンドラー内のコードが、Grabber.stream_stop() を呼び出したスレッド上での動作を無条件に必要とする操作を行う場合、デッドロックが発生しやすくなります。

QueueSinkクラスlistener: QueueSinkListener, accepted_pixel_formats: List[] = [], max_output_buffers: int = 0

Bases: Sink

プログラムがビデオキャプチャデバイスから受信したすべての画像を処理できるシンクの実装です。

キューシンクは、次の2つのキューで構成された複数のバッファを管理します:

  • フリーキュー:デバイスからのデータで埋めるためにバッファを取り出すキュー
  • 出力キュー:プログラムが取り出す準備ができた充填済みバッファを含むキュー

シンクに画像を供給するには、Grabber.stream_setup() にシンクを渡します。

シンクとのやり取りは、作成時にキューシンクに渡される QueueSinkListener の抽象メソッドを実装することで行います。これらのメソッドは、キューシンクのライフタイムの異なる重要なポイントで呼び出されます:

  • QueueSinkListener.sink_connected() は、デバイスからシンクへのデータストリームが設定されるときに呼び出されます。イベントハンドラーは、ストリーミングを開始するために十分なバッファがキューにあることを確認する責任があります。
  • QueueSinkListener.frames_queued() は、出力キューに画像があるたびに呼び出されます。
  • QueueSinkListener.sink_disconnected() は、以前に作成されたデータストリームが停止されたときに呼び出されます。

出力キューから最も古い画像を取得するには、QueueSink.pop_output_buffer() を呼び出します。返される画像バッファはプログラムが所有します。プログラムが画像バッファをもう使用しない場合は、画像バッファオブジェクトを削除するか、ImageBuffer.release() を呼び出して、画像バッファをシンクのフリーキューに返す必要があります。

プログラムは必ずしもすべての画像バッファをすぐに再キューする必要はなく、いくつかのバッファの参照を自分のデータ構造内に保持することができます。ただし、デバイスがフレームを送信しようとしたときにフリーキューにバッファがない場合、フレームは破棄されます。バッファアンダーランが発生したかどうかを確認するには、Grabber.stream_statistics を使用してください。

引数
  • listener (QueueSinkListener) – シンクの動作を制御する QueueSinkListener 抽象基底クラスを実装したオブジェクト。
  • accepted_pixel_formats (List[PixelFormat]) – このシンクへの入力を制限する任意のピクセルフォーマットのリスト。デバイスのピクセルフォーマットからシンクで使用可能なフォーマットへの自動変換を強制するために使用できます。
  • max_output_buffers (int) – シンクの出力キューに保存されるバッファの最大数を定義します。0 に設定するとバッファ数は無制限です。新しいフレームがシンクに到着し、出力キューのサイズがこの数を超える場合、最も古い画像は破棄され、そのバッファはフリーキューに追加されます。
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property type: SinkType

シンクの種類を表します。

キューシンクの場合は SinkType.QUEUESINK を返します。

property output_image_type: ImageType

シンクが受信するように設定されている画像の種類

戻り値の型 ImageType
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

alloc_and_queue_buffers(count: int) None

シンクの画像タイプに対応するバッファを指定数割り当て、フリーキューに追加します。

引数 count (int) – 割り当てるバッファの数
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

property is_cancel_requested: bool

このシンクが接続されているデータストリームが停止処理中かどうかを示します。

戻り値の型 bool
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

pop_output_buffer() ImageBuffer

シンクの出力キューから、画像データで埋められたバッファを取得します。

この操作は、シンクがデータストリーム内でデバイスに接続されている場合のみ有効です。

バッファはビデオキャプチャデバイスから受信した順に取得され、最も古い画像が最初に返されます。

呼び出しが成功した後、プログラムは ImageBuffer 参照を通じて画像バッファを所有します。画像バッファオブジェクトは削除するか、ImageBuffer.release() を呼び出して、後で再利用できるようにシンクのフリーキューに返す必要があります。

戻り値 画像データが入ったバッファ
戻り値の型 ImageBuffer
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

try_pop_output_buffer() ImageBuffer | None

シンクの出力キューから、画像データで埋められたバッファを取得しようとします。

pop_output_buffer() と異なり、この関数はエラーが発生しても例外を発生させません。

この操作は、シンクがデータストリーム内でデバイスに接続されている場合のみ有効です。

バッファはビデオキャプチャデバイスから受信した順に取得され、最も古い画像が最初に返されます。

呼び出しが成功した後、プログラムは ImageBuffer 参照を通じて画像バッファを所有します。画像バッファオブジェクトは削除するか、ImageBuffer.release() を呼び出して、後で再利用できるようにシンクのフリーキューに返す必要があります。

戻り値 画像データが入ったバッファ、もしくは画像が利用できない場合は None
戻り値の型 Optional[ImageBuffer]

class QueueSizes(free_queue_length: int, output_queue_length: int)

基底クラス: object

キューシンク内の現在のキュー長に関する情報を保持します。

free_queue_length: int

フリーキューにある画像バッファの数

output_queue_length: int

出力キューにある、画像データで埋められたバッファの数

queue_sizes() QueueSizes

シンク内の各キューの長さを取得します。

戻り値の型 QueueSizes

SinkTypeクラス(value)

Bases: IntEnum

シンクの種類を定義します。

シンクオブジェクトの種類を確認するには、Sink.type を使用してください。

SNAPSINK= 5

このシンクは SnapSink です。

QUEUESINK= 4

このシンクは QueueSink です。

Sinkクラス(h:c_void_p)

Bases: ABC

シンクの抽象基底クラスです。

シンクオブジェクトは、ビデオキャプチャデバイスから取得した画像データにプログラムからアクセスするための機能を提供します。

利用可能なシンクの種類は複数あります:

  • QueueSink は、プログラムがデバイスから受信したすべてまたはほとんどの画像を処理する必要がある場合に推奨されます。
  • SnapSink は、必要に応じて単一画像または短い画像シーケンスを取得する場合に使用できます。

シンクは、Grabber.stream_setup() を使用してビデオキャプチャデバイスに接続されます。

is_attached プロパティ:bool

シンクが現在、データストリームの一部として Grabber に接続されているかどうかを示します。

戻り値の型 bool

Mode クラス(value)

Bases: IntEnum

シンクの可能な動作モードを定義します。

RUN= 0
通常動作
PAUSE= 1
一時停止動作。シンクはすべての受信フレームを無視します。

property mode Mode

現在のシンクのモード。

シンクのモードは、一時的にシンクの動作を停止するために使用できます。

シンクはデフォルトで Mode.RUN に設定されています。

戻り値の型 Mode

abstractproperty type: SinkType

シンクの種類を示します。

戻り値の型 SinkType

SnapSinkクラス(strategy: AllocationStrategy | None = None, accepted_pixel_formats: List[PixelFormat] = [])

Bases: Sink

スナップシンクは、プログラムが必要に応じて単一の画像や画像の連続を取得できるシンクの実装です。同時に、すべての画像を表示するディスプレイも利用可能です。

このシンクを Grabber.stream_setup() に渡すことで、画像をシンクに取り込むことができます。

ストリームから単一の画像を取得するには snap_single() を呼び出します。画像の連続を取得するには snap_sequence() を呼び出します。

スナップシンクは、バックグラウンドでの画像取得や取得した画像に使用されるバッファを管理します。ストリーム設定時には、設定された割り当て戦略に応じて複数のバッファが割り当てられます。割り当て戦略が許可する場合、必要に応じて追加のバッファが自動的に作成されます。同様に、未使用の画像バッファが余っている場合、未使用のバッファは自動的に回収され解放されます。

スナップ関数によって返された画像バッファは、それぞれの呼び出し元が ImageBuffer への参照を通じて所有します。画像バッファを再利用のためにシンクに返すには、変数をスコープ外に出すか、画像バッファで ImageBuffer.release() を呼び出します。

デバイスがフレームを送信しようとしたときにシンクに使用可能なバッファがない場合、フレームは破棄されます。バッファアンダーランが発生したかどうかは Grabber.StreamStatistics で確認してください。

パラメータ
  • strategy (Optional[AllocationStrategy]) – シンクのバッファ割り当て戦略をオプションで指定します。None の場合、デフォルトの割り当て戦略が使用されます。
  • accepted_pixel_formats (List[PixelFormat]) – このシンクへの入力を制限するピクセルフォーマットのオプションリストです。デバイスのピクセルフォーマットからシンクで使用可能なピクセルフォーマットへの自動変換を強制する場合に使用できます。

AllocationStrategyクラス(num_buffers_alloc_on_connect: int = 0, num_buffers_allocation_threshold: int = 0, num_buffers_free_threshold: int = 0, num_buffers_max: int = 0)

Bases: object

SnapSink のバッファ割り当て戦略は、事前に割り当てるバッファ数、追加バッファを作成するタイミング、余剰バッファを回収するタイミングを定義します。

パラメータ
  • num_buffers_alloc_on_connect (int) – ストリーム設定時に自動割り当てされるバッファの数を定義します。
  • num_buffers_allocation_threshold (int) – 必要最小の空きバッファ数を定義します。空きバッファ数がこの値を下回った場合、新しいバッファが割り当てられます。
  • num_buffers_free_threshold (int) – 空きバッファの最大数を定義します。空きバッファ数がこの値を超える場合、バッファが解放されます。0 に設定されている場合、自動的にバッファは解放されません。
  • num_buffers_max (int) – このシンクが割り当てるバッファの総最大数を定義します。シンクが管理する空きバッファと、プログラムが所有する使用済みバッファの両方を含みます。0 に設定されている場合、総バッファ数に制限はありません。
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
注意

NumBuffersFreeThreshold0 でない場合、NumBuffersAllocationThreshold + 2 より大きく設定する必要があります。

num_buffers_alloc_on_connect: int
num_buffers_allocation_threshold: int
num_buffers_free_threshold: int
num_buffers_max: int

typeプロパティ: SinkType

シンクの種類です。
SnapSink の場合、SinkType.SNAPSINK が返されます。

output_image_typeプロパティ: ImageType

シンクが受信するよう設定されている画像の種類です。

戻り値の型 ImageType
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

snap_single(timeout_ms: int) ImageBuffer

ビデオキャプチャデバイスから受信したストリームから単一の画像を取得します。
この操作は、シンクがデータストリーム内のデバイスに接続されている場合のみ有効です。
呼び出しが成功すると、プログラムはImageBufferの参照を通じて画像バッファを所有します。画像バッファオブジェクトは、シンクのフリーキューに戻して再利用できるように解放する必要があります。

パラメータ timeout_ms (int) – 新しい画像が到着するまでの待機時間(ミリ秒単位)
戻り値 取得された画像バッファ
戻り値の型 ImageBuffer
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。

snap_sequence(count: int, timeout_ms: int) Sequence[ImageBuffer]

ビデオキャプチャデバイスから受信したストリームから複数の画像を連続して取得します。
この操作は、シンクがデータストリーム内のデバイスに接続されている場合のみ有効です。
呼び出しが成功すると、プログラムはImageBufferの参照を通じて画像バッファを所有します。画像バッファオブジェクトは、シンクのフリーキューに戻して再利用できるように解放する必要があります。

パラメータ
  • count (int) – 取得する画像の枚数
  • timeout_ms (int) – 指定枚数の画像が到着するまでの待機時間(ミリ秒単位)
戻り値 取得した画像のリスト。タイムアウトになった場合は、タイムアウトまでに取得できた画像が返されます。
戻り値の型 Tuple[ImageBuffer]

Video Writer

VideoWriterTypeクラス(value)

Bases: IntEnum

使用可能なビデオライターの種類を定義します。

MP4_H264 = 0
H.264エンコーディングでMP4ファイルを作成します。
MP4_H265 = 1
H.265/HEVCエンコーディングでMP4ファイルを作成します。

VideoWriterクラス(type: VideoWriterType)

Bases: object

ビデオライターを表します

パラメータ type (VideoWriterType) – 作成するビデオファイルの種類
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

begin_file(path: Path | str, image_type: ImageType, frame_rate: float)

新しいビデオファイルを開き、画像を書き込める状態にします。

パラメータ
  • path (Path|str) – ビデオを保存するファイルパス
  • image_type (ImageType) – 受信するフレームの種類の説明
  • frame_rate (float) – 再生時のフレームレート、通常は使用している AcquisitionFrameRate と同じ値
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

finish_file()

ビデオファイルの書き込みを終了します。

例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

add_frame(buffer:ImageBuffer)

現在開いているビデオファイルに画像を追加します。

パラメータ buffer (ImageBuffer) – ファイルに追加する画像
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。
備考

画像バッファの画像タイプは、ファイル作成時に begin_file() に渡した image_type パラメータと一致する必要があります。
ビデオライターは画像バッファへの参照を保持する場合があります。この場合、バッファの解放や再利用が遅れる可能性があります。バッファは共有状態となり、安全に書き込み可能ではなくなります(詳細は ImageBuffer.is_writable を参照)。常にビデオライターが画像データをコピーして処理する場合は、add_frame_copy() を使用してください。

add_frame_copy(buffer:ImageBuffer)

現在開いているビデオファイルに画像を追加します。追加時に画像データをコピーします。

パラメータ buffer (ImageBuffer) – ファイルに追加する画像
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。
備考

画像バッファの画像タイプは、ファイル作成時に begin_file() に渡した image_type パラメータと一致する必要があります。
画像バッファの内容はコピーされるため、参照カウントは増加せず、最終参照が解放されれば即座に再利用できます。コピー処理が不要な場合は、add_frame() を使用してください。

property_mapプロパティ: PropertyMap

ビデオライターのプロパティマップを返します。
この関数から返されるプロパティマップを使うことで、コーデックのオプションを設定できます。

戻り値 ビデオライターを制御するためのプロパティマップ
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.code および IC4Exception.message を確認してください。

Display

DisplayTypeクラス(value)

Bases: IntEnum

使用可能なディスプレイタイプを列挙したものです。

DEFAULT = 0
現在のプラットフォームでのデフォルトディスプレイを使用
WIN32_OPENGL = 1
Windowsプラットフォーム向けに最適化されたOpenGLディスプレイ
LINUX_GSTREAMER = 2
Linuxプラットフォーム向けのシンプルなGStreamerベースのディスプレイ

DisplayRenderPositionクラス(value)

Bases: IntEnum

表示コンテンツの配置モードを列挙したものです。

TOPLEFT = 0
ビデオは拡大縮小されず、ウィンドウの左上に表示されます。
CENTER = 1
ビデオは拡大縮小されず、ウィンドウ内で中央に表示されます。
STRETCH_TOPLEFT = 2
ビデオはウィンドウサイズに合わせて最大化され、左上に表示されます。
STRETCH_CENTER = 3
ビデオはウィンドウサイズに合わせて最大化され、中央に表示されます。
CUSTOM = 4
カスタム矩形を指定します。

Displayクラス(h:c_void_p)

Bases: object

すべてのディスプレイの基底クラスです。

ディスプレイは、ビデオキャプチャデバイスから取得した画像を表示するために使用できます。

カメラのライブストリームを表示するには、Grabber.stream_setup を使用してストリームをディスプレイに設定します。

単一の画像を表示するには、Display.display_buffer メソッドを使用します。

class WindowClosedNotificationToken(func: Callable[[c_void_p, c_void_p], None], deleter: Callable[[c_void_p], None])

Bases: object

登録済みコールバックを表します。
event_add_window_closed() を使用してコールバック関数を登録すると、トークンが返されます。
このトークンは、後で event_remove_window_closed() を使用してコールバックを削除する際に使用できます。

set_render_position(pos: DisplayRenderPosition, left: int = 0, top: int = 0, right: int = 0, bottom: int = 0)

ディスプレイ内のビデオ画像の位置を設定します。

パラメータ
  • mode (DisplayRenderPosition) – 事前定義された配置モード
  • left (int, optional) – ディスプレイウィンドウ内の画像左端の x 座標。デフォルトは 0。負の値も指定可能で、画像の一部だけ表示可能。 posDisplayRenderPosition.CUSTOM に設定されていない場合、この値は無視されます。
  • top (int, optional) – ディスプレイウィンドウ内の画像上端の y 座標。デフォルトは 0。負の値も指定可能で、画像の一部だけ表示可能。 posDisplayRenderPosition.CUSTOM に設定されていない場合、この値は無視されます。
  • right (int, optional) – ディスプレイウィンドウ内の画像右端の x 座標。デフォルトは 0。ディスプレイサイズより大きくして画像の一部だけ表示可能。 posDisplayRenderPosition.CUSTOM に設定されていない場合、この値は無視されます。
  • bottom (int, optional) – ディスプレイウィンドウ内の画像下端の y 座標。デフォルトは 0。ディスプレイサイズより大きくして画像の一部だけ表示可能。 posDisplayRenderPosition.CUSTOM に設定されていない場合、この値は無視されます。
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

display_buffer(buffer: ImageBuffer | None)

ディスプレイに画像を表示します。

もし Grabber のストリームの送信先としてこのディスプレイが Grabber.stream_setup() で選択されている場合、表示中の画像は新しい画像によって即座に置き換えられることがあります。

パラメータ buffer (ImageBuffer) – 表示する画像
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。
注意

buffer が None の場合、ディスプレイはクリアされ、以前の画像は表示されなくなります。

class Statistics(num_displayed: int, num_dropped: int)

Bases: object

ディスプレイに関する統計情報を保持します。

num_displayed: int
ディスプレイに表示されたフレーム数
num_dropped: int
ディスプレイに届けられたが表示されなかったフレーム数
フレームのドロップは通常、画面のリフレッシュレートよりも短い間隔でフレームが到着した場合に発生します。

property statistics: Statistics

このディスプレイの統計情報を取得します。

戻り値 ディスプレイの統計情報を保持するオブジェクト
戻り値の型 Statistics
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

event_add_window_closed(handler: Callable[[Display], None]) WindowClosedNotificationToken

表示ウィンドウが閉じられた場合に呼び出されるコールバック関数を登録します。

パラメータ handler (Callable[[Display], None]) – 表示ウィンドウが閉じられた場合に呼び出されるコールバック関数
戻り値 event_remove_window_closed() を使ってコールバックを解除するために使用できるトークン
戻り値の型 WindowClosedNotificationToken
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

event_remove_window_closed(token: WindowClosedNotificationToken)

以前 event_add_window_closed() で登録したウィンドウ閉鎖ハンドラーを解除します。

パラメータ token (WindowClosedNotificationToken) – 登録時に返されたトークン
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.codeIC4Exception.message を確認してください。

FloatingDisplayクラス

Bases: Display

フローティングのトップレベルウィンドウを持つ表示です。

EmbeddedDisplayクラス(parent: int)

Bases: Display

既存のウィンドウ内に埋め込まれた表示領域です。
この表示タイプは、Windowsプラットフォームでのみ利用可能です。

ExternalOpenGLDisplayクラス

Bases: Display

外部で作成されたOpenGLウィンドウに描画可能な、特殊なタイプの表示領域です。

initialize()

外部OpenGL表示領域を初期化します。

注意

この関数は、実行中のスレッドでOpenGLコンテキストがアクティブな状態(例:makeCurrent)で呼び出す必要があります。

render(w: int, h: int)

最新の画像で外部OpenGL表示領域を更新します。

パラメータ
  • w (int) – 表示ウィンドウの物理ピクセル幅
  • h (int) – 表示ウィンドウの物理ピクセル高さ
注意

この関数は、実行中のスレッドでOpenGLコンテキストがアクティブな状態(例:makeCurrent)で呼び出す必要があります。

notify_window_closed()

ウィンドウが閉じられたことを表示コンポーネントに通知します。

GUI

PropertyDialogFlagsクラス(value)

Bases: IntFlag

プロパティマップを表示するダイアログの動作をカスタマイズするオプションを定義します。

DEFAULT = 0
デフォルトの動作
ALLOW_STREAM_RESTART = 1
ユーザーがストリームの再起動を必要とするデバイスプロパティの値を変更できるようにします。
これらのプロパティが変更された場合、ダイアログは自動的にストリームを再起動します。
RESTORE_STATE_ON_CANCEL = 2
ダイアログが開かれた時点で全プロパティの状態を保存し、キャンセルボタンで閉じられた場合は元の値に復元するよう指示します。
SHOW_TOP_CATEGORY = 4
設定すると、プロパティダイアログのプロパティツリーで最上位カテゴリーが表示されます。
HIDE_FILTER = 8
設定すると、ダイアログに表示/非表示のドロップダウンやフィルタ入力欄が表示されません。

Dialogsクラス

Bases: object

各種組み込みダイアログを表示するための関数群を提供します。

classmethod grabber_select_device(grabber: Grabber, parent: int) bool

ユーザーが開くビデオキャプチャデバイスを選択できるダイアログを表示します。

パラメータ
  • grabber (Grabber) – Grabberオブジェクト
  • parent (int) – ダイアログの親ウィンドウのハンドル
戻り値 ユーザーがデバイスを選択した場合はTrue、キャンセルやダイアログの閉じ操作があった場合はFalseを返します。
戻り値の型 bool
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.codeIC4Exception.message を確認してください。

classmethod grabber_device_properties(grabber: Grabber, parent: int, flags: PropertyDialogFlags = PropertyDialogFlags.DEFAULT, category: str | None = 'Root', title: str | None = None, initial_visibility: PropertyVisibility = PropertyVisibility.BEGINNER, initial_filter: str | None = None) bool

ユーザーがGrabberオブジェクトで開かれたビデオキャプチャデバイスのプロパティマップを表示・編集できるダイアログを表示します。

パラメータ
  • grabber (Grabber) – デバイスを開いているGrabberオブジェクト
  • parent (int) – ダイアログの親ウィンドウのハンドル
  • flags (PropertyDialogFlags, optional) – ダイアログの動作を設定します。デフォルトは PropertyDialogFlags.DEFAULT です。
  • category (str, optional) – 表示するプロパティマップのカテゴリ。デフォルトは “Root” です。
  • title (str, optional) – ダイアログのタイトル。None の場合はデフォルトタイトルが設定されます。デフォルトは None です。
  • initial_visibility (PropertyVisibility, optional) – ダイアログ表示時にプロパティの可視性を事前選択します。デフォルトは PropertyVisibility.BEGINNER です。
  • initial_filter (str, optional) – プロパティダイアログのフィルタテキストボックスに事前入力する文字列。デフォルトは None です。
戻り値 ユーザーが OK ボタンでダイアログを閉じた場合は True、キャンセルや閉じ操作があった場合は False を返します。
戻り値の型 bool
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.codeIC4Exception.message を確認してください。

classmethod show_property_map(map: PropertyMap, parent: int, flags: PropertyDialogFlags = PropertyDialogFlags.DEFAULT, category: str | None = 'Root', title: str | None = None, initial_visibility: PropertyVisibility = PropertyVisibility.BEGINNER, initial_filter: str | None = None) bool

ユーザーがプロパティマップの機能を表示・編集できるダイアログを表示します。
表示対象は、プロパティマップ内の特定カテゴリを指定することで制限可能です。

パラメータ
  • map (PropertyMap) – 表示・編集対象となるプロパティマップ
  • parent (int) – ダイアログの親ウィンドウハンドル
  • flags (PropertyDialogFlags) – ダイアログの動作設定。デフォルトは PropertyDialogFlags.DEFAULT です。
  • category (str, optional) – 表示するプロパティマップのカテゴリ。デフォルトは “Root” です。
  • title (str, optional) – ダイアログタイトル。None の場合はデフォルトタイトルが設定されます。デフォルトは None です。
  • initial_visibility (PropertyVisibility, optional) – ダイアログ表示時にプロパティの可視性を事前選択。デフォルトは PropertyVisibility.BEGINNER です。
  • initial_filter (str, optional) – ダイアログのフィルタテキストボックスに事前入力する文字列。デフォルトは None です。
戻り値 ユーザーが OK ボタンでダイアログを閉じた場合は True、キャンセルや閉じ操作があった場合は False を返します。
戻り値の型 bool
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.codeIC4Exception.message を確認してください。

classmethod select_device(parent: int) DeviceInfo | None

ユーザーがビデオキャプチャデバイスを選択できるダイアログを表示します。

パラメータ parent (int) – ダイアログの親ウィンドウハンドル
戻り値 選択されたビデオキャプチャデバイス。デバイスが選択されないままダイアログが閉じられた場合は None を返します。
戻り値の型 Optional[DeviceInfo]
例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.code および IC4Exception.message を参照してください。

PySide6 Integration

PySide6 のディスプレイクラスはモジュール imagingcontrol4.pyside6 内で定義されており、アクティブな環境に PySide6 ライブラリがインストールされている場合にのみ利用できます。