APIリファレンス
Core Library関数
-
LogLevelクラス(value)
Bases:
IntEnum利用可能なライブラリのログレベルを定義します。
- OFF = 0
- ログを無効化する
- ERROR = 1
- エラーのみをログ出力する
- WARNING = 2
- 警告レベル以上をログ出力する
- INFO = 3
- 情報レベル以上をログ出力する
- DEBUG = 4
- デバッグレベル以上をログ出力する
- TRACE = 5
- トレースレベル以上をログ出力する
-
LogTargetクラス(value)
Bases:
IntFlag利用可能なログ出力先(ログターゲット)を定義します。
- FILE = 4
Library.init()の log_fileパラメータで指定されたファイルにログを出力する
-
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_targets に LogTarget.FILE が含まれる場合、使用するログファイルを指定します。デフォルトは None。
例外 - RuntimeError – ライブラリの初期化に失敗した場合。
- FileNotFoundError – 内部エラー。
-
デバイスエニュメレーション
-
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.code と IC4Exception.message を参照してください。
-
-
Interfaceクラス(h:c_void_p)
Bases:
objectUSB コントローラやネットワークインターフェースコントローラなど、デバイスインターフェースを表します。
インターフェースに接続されているデバイスの一覧を取得できます。
インターフェース固有の設定オプションは、インターフェースのプロパティマップで利用できます。
-
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.code と IC4Exception.message を確認してください。
-
transport_layer_name プロパティ :str
-
このインターフェースオブジェクトを提供するトランスポートレイヤーの名称。
この文字列は、インターフェース上のデバイスへのアクセスを提供するドライバー名として解釈できます。戻り値 このインターフェースオブジェクトを提供するトランスポートレイヤー名。 戻り値の型 str 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。
-
transport_layer_type プロパティ :TransportLayerType
-
このインターフェースが使用するトランスポートレイヤーの種類。
戻り値 このインターフェースが使用するトランスポートレイヤーの種類。 戻り値の型 TransportLayerType
-
transport_layer_version プロパティ :str
-
このインターフェースオブジェクトを提供するトランスポートレイヤーのバージョン。
この文字列は、インターフェース上のデバイスへのアクセスを提供するドライバーのバージョンとして解釈できます。戻り値 このインターフェースオブジェクトを提供するトランスポートレイヤーのバージョン。 戻り値の型 str 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
-
-
DeviceEnumクラス
Bases:
objectDevice 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:
IntEnumGrabber.stream_setup() の動作をカスタマイズするためのオプションを定義した列挙体です。
- 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 コマンドを実行することと同等です。
-
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
データストリームに関する統計情報を保持します。
-
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_STOP = 'AcquisitionStop'
- 現在のフレーム終了時にデバイスの画像取得を停止します。 主に AcquisitionMode が Continuous の場合に使用されますが、他のモードでも使用できます。
- ACTION_DEVICE_KEY = 'ActionDeviceKey'
- アクションコマンドの有効性をデバイスが確認するためのデバイスキーを提供します。 ActionDeviceKey とプロトコルメッセージ内のキー値が一致する場合のみ、デバイスはアクションシグナルを内部で承認します。
- ACTION_QUEUE_SIZE = 'ActionQueueSize'
- スケジュールされたアクションコマンドキューのサイズを示します。 この数値は、任意の時点で保留可能なアクションコマンドの最大数を表します。
- ACTION_SCHEDULER_COMMIT = 'ActionSchedulerCommit'
- ActionSchedulerTime で指定された時間にアクションを実行するようスケジュールします。必要に応じて ActionSchedulerInterval の間隔で繰り返し実行されます。
- BINNING_HORIZONTAL = 'BinningHorizontal'
- 水平方向の受光素子をまとめて読み出す数を設定します。これにより画素の強度(またはS/N比)が向上しますが、画像の水平方向(幅)の解像度は低下します。
値が 1 の場合、カメラは水平ビニングを行いません。
- BINNING_VERTICAL = 'BinningVertical'
- 垂直方向の受光素子をまとめて読み出す数を設定します。これにより画素の強度(またはS/N比)が向上しますが、画像の垂直方向(高さ)の解像度は低下します。
値が 1 の場合、カメラは垂直ビニングを行いません。
- CHUNK_MULTI_FRAME_SET_FRAME_ID = 'ChunkMultiFrameSetFrameId'
- マルチフレームセット出力モードにおけるフレームセット内のフレーム ID を返します。
- COLOR_TRANSFORMATION_VALUE_SELECTOR = 'ColorTransformationValueSelector'
- 選択されたカラー変換モジュール内でアクセスするゲイン係数またはオフセットを選択します。
- DECIMATION_HORIZONTAL = 'DecimationHorizontal'
- 画像の水平方向サブサンプリング。指定された水平デシメーション係数により、画像の横方向解像度(幅)を下げます。
- DEVICE_FACTORY_RESET = 'DeviceFactoryReset'
- ユーザーが設定可能な不揮発性メモリをすべて初期状態にリセットします。リセット後は、デバイスを再検出する必要があります。
- 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_ENDIANNESS = 'DeviceStreamChannelEndianness'
- このストリームのマルチバイト画素データのエンディアン形式を示します。
- DEVICE_STREAM_CHANNEL_PACKET_SIZE = 'DeviceStreamChannelPacketSize'
- 選択したチャネルで送信するストリームパケットのサイズ(バイト単位)を指定します。
- DEVICE_TEMPERATURE = 'DeviceTemperature'
- デバイス温度(摂氏 °C)。測定は DeviceTemperatureSelector で選択された位置で行われます。
- EVENT_FOCUS_MOVE_COMPLETED = 'EventFocusMoveCompleted'
- フォーカス移動完了イベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
- EVENT_FRAME_TRIGGER_MISSED = 'EventFrameTriggerMissed'
- フレームトリガー未検出(ミス)イベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
- EVENT_LINE1_FALLING_EDGE = 'EventLine1FallingEdge'
- Line1 の立下りエッジイベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
- EVENT_LINE1_RISING_EDGE = 'EventLine1RisingEdge'
- Line1 の立上りエッジイベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
- EVENT_ZOOM_MOVE_COMPLETED = 'EventZoomMoveCompleted'
- ズーム移動完了イベントの一意識別子。このパラメータを使用して、イベント発生時の通知を受け取ります。
- EXPOSURE_AUTO_HIGHLIGH_REDUCTION = 'ExposureAutoHighlighReduction'
- ExposureAuto/GainAuto アルゴリズムに、白飛び(過露光)を避けるよう指示します。
- EXPOSURE_AUTO_HIGHLIGHT_REDUCTION = 'ExposureAutoHighlightReduction'
- ExposureAuto/GainAuto アルゴリズムに、白飛び(過露光)を避けるよう指示します。
- EXPOSURE_TIME = 'ExposureTime'
- ExposureMode が Timed かつ ExposureAuto が Off のとき、露光時間を設定します。撮像素子が光にさらされる時間を制御します。
- FILE_OPERATION_RESULT = 'FileOperationResult'
- ファイル操作の結果を示します。Read または Write 操作の場合、正常に読み書きされたバイト数が返されます。
- FILE_OPERATION_SELECTOR = 'FileOperationSelector'
- デバイス内の選択されたファイルに対して実行する操作を選択します。選択した操作は FileOperationExecute 呼び出し時に実行されます。
- GEV_SCPS_DO_NOT_FRAGMENT = 'GevSCPSDoNotFragment'
- この機能の状態は、各ストリームパケットの IP ヘッダー内にある “do not fragment” ビットにコピーされます。アプリケーション側でストリームチャネルの IP パケット断片化を防止する用途に使用できます。
- GEV_SCPS_PACKET_SIZE = 'GevSCPSPacketSize'
- GigE Vision 固有の機能で、DeviceStreamChannelPacketSize に対応し、常に同期を取る必要があります。指定したチャンネルで GVSP 送信側が送信するストリームパケットサイズ(バイト単位)を設定するか、GVSP 受信側がサポートする最大パケットサイズを指定します。
- IMX174_HARDWARE_WDR_ENABLE = 'IMX174HardwareWDREnable'
- IMX174 の WDR モードを有効にします。このモードでは、2 つ目の長時間露光(IMX174 WDR Shutter 2)を設定でき、これは隔フレームごとに使用されます。
- IMX174_HARDWARE_WDR_SHUTTER_MODE = 'IMX174HardwareWDRShutterMode'
- IMX174 の WDR シャッターモードを選択します。このモードでは、2 つ目のシャッター時間を自由に設定できるか、または設定された ExposureTime の倍数となる固定値とするかを決定します。
- IMX_LOW_LATENCY_TRIGGER_MODE = 'IMXLowLatencyTriggerMode'
- IMX グローバルシャッターセンサ向けの低レイテンシトリガーモードを有効にします。このモードでは、トリガ入力から露光開始までのジッタが減少しますが、トリガのオーバーラップは使用できません。
- 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'
- マルチフレームセット出力モードにおけるフレーム数を選択します。
- PAYLOAD_SIZE = 'PayloadSize'
- ストリームチャンネル上で各画像またはチャンクに対して転送されるバイト数を提供します。これには行末・フレーム末統計情報やその他のスタンプデータも含まれます。これはデータブロックのペイロード全体のサイズです。
- SOFTWARE_TRANSFORM_ENABLE = 'SoftwareTransformEnable'
- ソフトウェア変換プロパティを有効にします。有効時は Sharpness や Tone Mapping などが使用でき、ドライバ内でソフトウェア変換が行われます。
- TIMESTAMP_LATCH_VALUE = 'TimestampLatchValue'
- ラッチされたタイムスタンプカウンタの値を返します。タイムスタンプは事前に Timestamp Control Latch コマンドによってラッチされている必要があります。
- TONE_MAPPING_GLOBAL_BRIGHTNESS = 'ToneMappingGlobalBrightness'
- ローカルとグローバルの間で補間される、各ピクセルが使用する明るさ基準を変更します。
- TRIGGER_OVERLAP = 'TriggerOverlap'
- 前のフレームとの間で許可されるトリガーオーバーラップの種類を指定します。これにより、新しいフレームに対して有効なトリガーが受け付けられるタイミングが定義されます。
-
PropertyIncrementModeクラス (value)
Bases:
IntEnum列挙型です。
- INCREMENT = 0
-
このプロパティは、有効な値同士の間隔が固定ステップです。
PropInteger.increment または PropFloat.increment を使用して、ステップ幅を取得できます。
- VALUE_SET = 1
-
このプロパティは、有効値の集合を持ちます。
PropInteger.valid_value_set または PropFloat.valid_value_set を使用して、有効値のセットを取得できます。
-
Propertyクラス(h:c_void_p)
Bases:
objectIC4 プロパティの基底クラスです。
すべてのプロパティに共通する基本的な機能を実装します。
-
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.code と IC4Exception.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:
PropertyCommandプロパティは、デバイスが実行できるアクションを表します。
-
execute()
このプロパティ(コマンド)を実行します。
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
-
is_done プロパティ: bool
コマンドの実行が完了しているかどうかを確認します。
コマンドがこれまで一度も実行されていない場合、この値は True になります。戻り値 コマンドが完了していれば True、まだ実行中であれば False を返します。 戻り値の型 bool 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
-
-
PropBooleanクラス(h:c_void_p)
Bases:
PropertyBoolean型プロパティは、値が単純なオン/オフのスイッチとなる機能を表します。
-
value プロパティ: bool
-
現在のプロパティ値です。
戻り値 bool 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
-
-
PropIntegerクラス(h:c_void_p)
Bases:
PropertyIntegerプロパティは、値が整数で表される機能を示します。
代表的なIntegerプロパティには Width や Height があります。
Integerプロパティは有効値の範囲を制限できます。利用可能な値の範囲は minimum と maximum を読むことで取得できます。
利用可能な値は、インクリメント値や特定の値セットによってさらに制限される場合があります。詳細は increment_mode、 increment、 valid_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_mode が VALUE_SET の場合にのみ有効です。戻り値 このプロパティで有効な値のセット 戻り値の型 Sequence[int] 例外 IC4Exception – エラーが発生しました。詳しくは IC4Exception.code および IC4Exception.message を確認してください。
-
-
PropFloatRepresentationクラス(value)
Bases:
IntEnumFloatプロパティの表現方法を定義します。
各Floatプロパティには、より使いやすいユーザーインターフェースを作成するための表現ヒントが含まれています。
-
PropFloatクラス(h:c_void_p)
Bases:
PropertyFloatプロパティは、値が浮動小数で表される機能を示します。
代表的な例として、AcquisitionFrameRate、ExposureTime、Gain などがあります。
Floatプロパティは、有効な値の範囲を制限できます。可能な値の範囲は、minimum と maximum を読み取ることで取得できます。可能な値は、インクリメント値または指定された値のセットによってさらに制限される場合があります。詳細は increment_mode、increment、valid_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 value: float
このプロパティの現在の値
値は、プロパティの書き込み制限がない場合のみ書き込み可能です。詳細は is_locked、is_readonly、is_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 制限はなく、minimum と maximum の間のすべての値が設定可能です。 PropertyIncrementMode.INCREMENT increment の倍数のみ設定可能です。 PropertyIncrementMode.VALUE_SET value_set に含まれる値のみ設定可能です。
戻り値の型 PropertyIncrementMode
-
property increment: float
このfloatプロパティで有効な値のステップサイズです。
incrementはfloatプロパティの有効な値の集合を制限します。例えば、プロパティの最小値が0、最大値が10、incrementが0.5の場合、0.25は有効な値ではありません。
increment_mode が PropertyIncrementMode.INCREMENT でない場合、このプロパティにアクセスすると例外が発生します。戻り値の型 float 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
-
property valid_value_set: Sequence[int]
このプロパティで有効な値の集合を返します。
increment_mode が PropertyIncrementMode.VALUE_SET の場合にのみ有効です。戻り値 このプロパティで有効な値の集合 戻り値の型 Sequence[float] 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
-
-
PropEnumEntryクラス(h:c_void_p)
Bases:
PropertyPropEnumerationのエントリを表します。列挙エントリは
Propertyから派生しています。そのため、名前、表示名、ツールチップ、表示・アクセスフラグなど、ほとんどのプロパティの特性を持っています。
これらの共通属性に加えて、定数値を持っており、value を使用して取得できます。-
property value: int
列挙エントリの値
戻り値の型 int 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
-
-
PropEnumerationクラス(h:c_void_p)
Bases:
PropertyEnumerationプロパティは、値が名前付きエントリのリストから選択される機能を表します。
Enumerationプロパティの一般的な例として、PixelFormat、TriggerMode、ExposureAuto があります。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:
PropertyStringプロパティは、値がテキストである機能を表します。
テキストの最大長は 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:
PropertyRegisterプロパティは、生のバイト列で表される値を持つプロパティです。
-
property value: bytearray
レジスタの現在値を取得します。
値は、プロパティの書き込み可能性が制限されていない場合のみ書き込み可能です。詳細は is_locked、is_readonly、is_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)
- AcquisitionControl (category)
-
property features: Sequence[Property]
カテゴリが保持しているプロパティを取得します。
戻り値 カテゴリが含むプロパティのコレクション 戻り値の型 Sequence[Property] 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を確認してください。
- Root (category)
-
PropertyMapクラス(h:c_void_p)
Bases:
objectコンポーネント(通常はビデオキャプチャデバイス)のプロパティインターフェースを表します。
プロパティマップは、既知のプロパティへの高速アクセスを提供するとともに、カテゴリツリーを通じてすべての機能を列挙するための関数を提供します。
既知の名前と型を持つプロパティにアクセスするためのオーバーロード関数が多数用意されています:名前は既知だが型が不明なプロパティを検索する場合は、型指定なし関数 find() を使用します。
既知のプロパティの値は、set_value() を呼び出すことで直接設定可能です。この関数は int、float、bool、str の引数を受け取り、操作対象のプロパティの型に合わせて値を設定します。
さらに、既知のプロパティの値は以下の関数を呼び出すことで直接取得可能です:
プロパティマップのカテゴリツリー内のすべてのプロパティをフラットなリストとして取得するには 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]) – 設定する新しい値
例外 TypeError – value が int、float、bool、str のいずれでもない場合に発生します。 戻り値 値の設定に成功した場合は True、設定できなかった場合は False を返します。 戻り値の型 bool 注意この関数の動作は、プロパティの型と渡された value 引数の型に依存します:
- 引数の型が int の場合:
- Integerプロパティにはそのまま設定されます。
- Floatプロパティにはそのまま設定されます。
- Booleanプロパティには、値が 1 または 0 の場合、それぞれ True または False に変換して設定されます。それ以外の値はエラーになります。
- Enumerationプロパティの場合、プロパティが PixelFormat の場合のみ設定されます。
- Commandプロパティの場合、値が 1 のときコマンドが実行されます。
- その他のプロパティ型ではエラーとなります。
- 引数の型が float の場合:
- Integerプロパティには四捨五入して設定されます。
- Floatプロパティにはそのまま設定されます。
- その他のプロパティ型ではエラーとなります。
- 引数の型が bool の場合:
- Booleanプロパティにはそのまま設定されます。
- Enumerationプロパティの場合、利用可能であれば True または False を表すエントリが選択されます。
- Commandプロパティの場合、値が True のときコマンドが実行されます。
- その他のプロパティ型ではエラーとなります。
- 引数の型が 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]) – 設定する新しい値
例外 - TypeError – value が int、float、bool、str のいずれでもない場合に発生します。
- IC4Exception – エラーが発生しました。詳細は IC4Exception.code および IC4Exception.message を参照してください。
注意この関数の動作は、プロパティの型および渡された value 引数の型に依存します:
- 引数の型が int の場合:
- Integer型プロパティの場合、渡された値をそのまま設定します。
- Float型プロパティの場合、渡された値をそのまま設定します。
- Boolean型プロパティの場合、値が 1 または 0 の場合は、それぞれ True または False に設定されます。それ以外の値はエラーになります。
- Enumeration型プロパティの場合、プロパティが PixelFormat の場合のみ値が設定されます。
- Commandプロパティの場合、渡された値が 1 の場合にコマンドが実行されます。
- その他のプロパティ型の場合、呼び出しはエラーになります。
- 引数の型が float の場合:
- Integer型プロパティの場合、渡された値は最も近い整数に丸められます。
- Float型プロパティの場合、渡された値をそのまま設定します。
- その他のプロパティ型の場合、呼び出しはエラーになります。
- 引数の型が bool の場合:
- Boolean型プロパティの場合、渡された値をそのまま設定します。
- Enumeration型プロパティの場合、値が True または False を表すことが明確なエントリがあれば、それを選択します。
- Commandプロパティの場合、渡された値が True の場合にコマンドが実行されます。
- その他のプロパティ型の場合、呼び出しはエラーになります。
- 引数の型が 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() プロパティを使用します。
-
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 を確認してください。 備考
source と self の画像のピクセル形式が異なる場合、画像は変換されます。例えば、source のピクセル形式が PixelFormat.BayerRG8 で self のピクセル形式が PixelFormat.BGR8 の場合、デモザイク処理によってカラー画像が作成されます。
skip_image が True の場合、画像データはコピーされません。この場合、メタデータとチャンクデータのみがコピーされ、プログラム側で画像コピー処理を行うことができます。
skip_chunkdata が True の場合、source 内のチャンクデータはコピーされません。チャンクデータが大きく、不要な場合に有用です。
注意source と self の幅または高さが等しくない場合、関数は失敗し、エラー値は 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 圧縮レベルを定義します。
圧縮レベルを高くするとファイルサイズは小さくなりますが、圧縮に時間がかかる場合があります。
-
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.code と IC4Exception.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.code と IC4Exception.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.code と IC4Exception.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.code と IC4Exception.message を確認してください。
-
-
PixelFormatクラス(value)
Bases:
IntEnum画像のピクセルの表現方法を定義します。
ピクセルフォーマットは ImageType の一部です。
-
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]
-
Sinks
-
QueueSinkListenerクラス
Bases:
ABCQueueSink リスナー用の抽象基底クラスです。
-
abstract sink_connected(sink: QueueSink, image_type: ImageType, min_buffers_required: int) bool
シンクへのデータストリームが作成された際に呼び出されます。
引数 戻り値 処理を進める場合は 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キューシンク内の現在のキュー長に関する情報を保持します。
-
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シンクの可能な動作モードを定義します。
-
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:
objectSnapSink のバッファ割り当て戦略は、事前に割り当てるバッファ数、追加バッファを作成するタイミング、余剰バッファを回収するタイミングを定義します。
パラメータ - 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 を確認してください。 注意NumBuffersFreeThreshold が 0 でない場合、NumBuffersAllocationThreshold + 2 より大きく設定する必要があります。
-
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
-
VideoWriterクラス(type: VideoWriterType)
Bases:
objectビデオライターを表します
パラメータ type (VideoWriterType) – 作成するビデオファイルの種類 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。 -
begin_file(path: Path | str, image_type: ImageType, frame_rate: float)
新しいビデオファイルを開き、画像を書き込める状態にします。
パラメータ - path (Path|str) – ビデオを保存するファイルパス
- image_type (ImageType) – 受信するフレームの種類の説明
- frame_rate (float) – 再生時のフレームレート、通常は使用している AcquisitionFrameRate と同じ値
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。
-
finish_file()
ビデオファイルの書き込みを終了します。
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。
-
add_frame(buffer:ImageBuffer)
現在開いているビデオファイルに画像を追加します。
パラメータ buffer (ImageBuffer) – ファイルに追加する画像 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。 備考
画像バッファの画像タイプは、ファイル作成時に
begin_file()に渡した image_type パラメータと一致する必要があります。
ビデオライターは画像バッファへの参照を保持する場合があります。この場合、バッファの解放や再利用が遅れる可能性があります。バッファは共有状態となり、安全に書き込み可能ではなくなります(詳細は ImageBuffer.is_writable を参照)。常にビデオライターが画像データをコピーして処理する場合は、add_frame_copy()を使用してください。
-
add_frame_copy(buffer:ImageBuffer)
現在開いているビデオファイルに画像を追加します。追加時に画像データをコピーします。
パラメータ buffer (ImageBuffer) – ファイルに追加する画像 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。 備考
画像バッファの画像タイプは、ファイル作成時に
begin_file()に渡した image_type パラメータと一致する必要があります。
画像バッファの内容はコピーされるため、参照カウントは増加せず、最終参照が解放されれば即座に再利用できます。コピー処理が不要な場合は、add_frame()を使用してください。
-
property_mapプロパティ: PropertyMap
-
ビデオライターのプロパティマップを返します。
この関数から返されるプロパティマップを使うことで、コーデックのオプションを設定できます。戻り値 ビデオライターを制御するためのプロパティマップ 例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.codeおよびIC4Exception.messageを確認してください。
-
Display
-
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。負の値も指定可能で、画像の一部だけ表示可能。 pos が DisplayRenderPosition.CUSTOM に設定されていない場合、この値は無視されます。
- top (int, optional) – ディスプレイウィンドウ内の画像上端の y 座標。デフォルトは 0。負の値も指定可能で、画像の一部だけ表示可能。 pos が DisplayRenderPosition.CUSTOM に設定されていない場合、この値は無視されます。
- right (int, optional) – ディスプレイウィンドウ内の画像右端の x 座標。デフォルトは 0。ディスプレイサイズより大きくして画像の一部だけ表示可能。 pos が DisplayRenderPosition.CUSTOM に設定されていない場合、この値は無視されます。
- bottom (int, optional) – ディスプレイウィンドウ内の画像下端の y 座標。デフォルトは 0。ディスプレイサイズより大きくして画像の一部だけ表示可能。 pos が DisplayRenderPosition.CUSTOM に設定されていない場合、この値は無視されます。
例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。
-
display_buffer(buffer: ImageBuffer | None)
-
ディスプレイに画像を表示します。
もし Grabber のストリームの送信先としてこのディスプレイが
Grabber.stream_setup()で選択されている場合、表示中の画像は新しい画像によって即座に置き換えられることがあります。パラメータ buffer (ImageBuffer) – 表示する画像 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。 注意buffer が None の場合、ディスプレイはクリアされ、以前の画像は表示されなくなります。
-
property statistics: Statistics
このディスプレイの統計情報を取得します。
戻り値 ディスプレイの統計情報を保持するオブジェクト 戻り値の型 Statistics 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。
-
event_add_window_closed(handler: Callable[[Display], None]) WindowClosedNotificationToken
表示ウィンドウが閉じられた場合に呼び出されるコールバック関数を登録します。
パラメータ handler (Callable[[Display], None]) – 表示ウィンドウが閉じられた場合に呼び出されるコールバック関数 戻り値 event_remove_window_closed() を使ってコールバックを解除するために使用できるトークン 戻り値の型 WindowClosedNotificationToken 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。
-
event_remove_window_closed(token: WindowClosedNotificationToken)
以前 event_add_window_closed() で登録したウィンドウ閉鎖ハンドラーを解除します。
パラメータ token (WindowClosedNotificationToken) – 登録時に返されたトークン 例外 IC4Exception – エラーが発生しました。詳細は IC4Exception.code と IC4Exception.message を確認してください。
-
-
FloatingDisplayクラス
Bases:
Displayフローティングのトップレベルウィンドウを持つ表示です。
-
EmbeddedDisplayクラス(parent: int)
Bases:
Display既存のウィンドウ内に埋め込まれた表示領域です。
この表示タイプは、Windowsプラットフォームでのみ利用可能です。
-
ExternalOpenGLDisplayクラス
Bases:
Display外部で作成されたOpenGLウィンドウに描画可能な、特殊なタイプの表示領域です。
-
initialize()
外部OpenGL表示領域を初期化します。
注意この関数は、実行中のスレッドでOpenGLコンテキストがアクティブな状態(例:makeCurrent)で呼び出す必要があります。
-
GUI
-
PropertyDialogFlagsクラス(value)
Bases:
IntFlagプロパティマップを表示するダイアログの動作をカスタマイズするオプションを定義します。
-
Dialogsクラス
Bases:
object各種組み込みダイアログを表示するための関数群を提供します。
-
classmethod grabber_select_device(grabber: Grabber, parent: int) bool
ユーザーが開くビデオキャプチャデバイスを選択できるダイアログを表示します。
パラメータ - grabber (Grabber) – Grabberオブジェクト
- parent (int) – ダイアログの親ウィンドウのハンドル
戻り値 ユーザーがデバイスを選択した場合はTrue、キャンセルやダイアログの閉じ操作があった場合はFalseを返します。 戻り値の型 bool 例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.code と IC4Exception.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.code と IC4Exception.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.code と IC4Exception.message を確認してください。
-
classmethod select_device(parent: int) DeviceInfo | None
-
ユーザーがビデオキャプチャデバイスを選択できるダイアログを表示します。
パラメータ parent (int) – ダイアログの親ウィンドウハンドル 戻り値 選択されたビデオキャプチャデバイス。デバイスが選択されないままダイアログが閉じられた場合は None を返します。 戻り値の型 Optional[DeviceInfo] 例外 IC4Exception – エラーが発生した場合。詳細は IC4Exception.code および IC4Exception.message を参照してください。
-
PySide6 Integration
PySide6 のディスプレイクラスはモジュール imagingcontrol4.pyside6 内で定義されており、アクティブな環境に PySide6 ライブラリがインストールされている場合にのみ利用できます。


