ユーザーガイド
ユーザー
ガイド
管理ツールの使い方
プログラミング技術情報

関数の説明

ステーションが呼び出す Python のクラス内の関数
__init__( self, sys, opt, log )
sys
Python プログラムが呼び出すプラットフォーム側の関数が含まれるクラス
opt
Python プログラムに対するオプション設定(プログラム変数)の値を含むクラス
log
Python プログラムがログを出力するためのロガークラス

コンストラクタ。

sense( self )

センス処理を要求する。管理ツールで、「プラットフォームがセンス関数を呼び出す」チェックボックスがオンの場合、設定された「呼び出し周期」の時間毎に、周期的にこの関数が呼ばれる。チェックボックスがオフの場合はこの関数は呼ばれず、Python プログラムは、コンストラクタにてスレッドを起動するなどして、内部的、自己的にセンス処理を実行し、センスするデータに変更があった場合は set_value() 関数を呼び出してプラットフォームに通知する。

control( self, data )
data
通知されたデータ

制御値を通知する。利用者端末に表示された利用ページ上の操作・制御用の表示部品によって入力されたデータを Python プログラムに通知する。受け取ったデータを最新値とする場合は、関数内で set_value( ) 関数を実行する必要がある。

new_video_frame( self, video_frame, time_sec )
video_frame
画像データを格納した ndarray 型のオブジェクト
time_sec
キャプチャー開始からの経過時間(小数部を含む秒数)

ビデオ解析用の画像データの通知。管理ツールで、「カメラのパラメータを利用する」チェックボックスをオフにした場合に呼ばれる。ビデオ解析を行う IOC は、この関数の中で解析処理を行い、その結果を set_value( ) ないしは set_video_frame( ) 関数を実行することでプラットフォームに通知する。

new_video_frame( self, video_frame, time_sec, camera_param )
video_frame
画像データを格納した ndarray 型のオブジェクト
time_sec
キャプチャー開始からの経過時間(小数部を含む秒数)
camera_param
カメラのパラメータを格納した辞書

ビデオ解析用の画像データの通知。管理ツールで、「カメラのパラメータを利用する」チェックボックスをオンにした場合に呼ばれ、引数 camera_param にフレーム毎のホワイトバランス、ゲイン、露出、フォーカス、ブライトネス、パン、チルト、ロールの情報が提供される。

new_audio_frame( self, audio_frame, time_sec )
audio_frame
音声波形データを格納した bytes 型のオブジェクト
time_sec
キャプチャー開始からの経過時間(小数部を含む秒数)

音声解析用の音声データの通知。音声解析を行う IOC は、この関数の中で解析処理を行い、その結果を set_value( ) ないしは set_audio_frame( ) 関数を実行することでプラットフォームに通知する。

terminate( self )

アプリの終了を通知する。Python プログラムはこの関数内で IOC の終了処理をしなければならない。終了処理を正しく行わないと、次回アプリを開始する際に、リソースの取得に失敗するなどのエラーが発生することになる。

__del__( self )

デストラクタ。

Python プログラムが呼び出すプラットフォーム上の関数

以下の関数は、コンストラクタの引数としてプラットフォームから Python プログラムに渡される sys クラスのメソッドとして定義される。

sys.set_value( data, level='normal' )
data
最新値のデータ
level
メッセージのレベルオプション。
high, normal, low のいずれかで、省略時は normal とみなす。

プラットフォームに対して、最新の値を通知する。引数 data には、オブジェクトを渡すものとし、デフォルト設定のままのの HMI を使ってデータを表示する場合は、オブジェクト内に 'value' というキー名を設け、現在値を格納する。以下は IOC のカテゴリーごとの data の例。

カテゴリー data の例
オン・オフ { 'value' : True }
1つの数値 { 'value' : 12.3 }
2つの数値 { 'value' : [ 26.8, 40.3 ] }
3つの数値 { 'value' : [ 10.0, 34.5, 75.0 ] }
テキスト { 'value' : 'Hello World!' }

レベルオプションによって、最新値の配信制限に対する制御(「アプリの動作制限」を参照)および最新値をデータベースに保存するかどうかの通知を行います。例えば温度を取得するアプリにおいて、1分毎に最新のセンサー値で画面更新をするものの、小数点以下の温度差についてはデータベース保存する必要が無いなど、この関数呼び出しの都度レベルを調整することで、データベースのサイズを小さく保つことが出来ます。

レベル データベースへの保存
high 保存される
normal 保存される
low 保存されない
sys.get_last_value( )

プラットフォームに対して、構成要素が最後に set_value() した値を照会する。この関数は、アプリを終了し再度開始した直後でも有効で、この場合、アプリ終了前に set_value() された最後の値を返す。一度も set_value() が行われていない場合は、None を返す。

sys.set_video_frame( video_frame, time_sec, level='normal' )
video_frame
画像データを格納した ndarray 型のオブジェクト
time_sec
キャプチャー開始からの経過時間(小数部を含む秒数)
level
メッセージのレベルオプション。
high, normal, low のいずれかで、省略時は normal とみなす。

プラットフォームに対して、ビデオ解析処理後の画像を通知する。この関数は new_video_frame( ) 関数内でのみ実行可能で、time_sec には、new_video_frame( ) 関数で受け取った値をそのまま与える。

sys.snapshot_frame( target )
target
スナップショットを保存する対象を指定する。
'source' : 解析前の画像のスナップショットを保存する。
'analysis' : 解析後の画像のスナップショットを保存する。

プラットフォームに対して、画像をスナップショットとして保存するように通知する。

sys.set_audio_frame( audio_frame, time_sec )
audio_frame
音声波形データを格納した ndarray 型のオブジェクト
time_sec
キャプチャー開始からの経過時間(小数部を含む秒数)

プラットフォームに対して、音声解析処理後の音声を通知する。この関数は new_audio_frame( ) 関数内でのみ実行可能で、time_sec には、new_audio_frame( ) 関数で受け取った値をそのまま与える。

sys.start_record_source( )

プラットフォームに対して、解析前のメディアストリームの保存を開始するように通知する。

sys.stop_record_source( )

プラットフォームに対して、解析前のメディアストリームの保存を終了するように通知する。

sys.start_record_analysis( )

プラットフォームに対して、解析後のメディアストリームの保存を開始するように通知する。

sys.stop_record_analysis( )

プラットフォームに対して、解析後のメディアストリームの保存を終了するように通知する。

sys.kill_self( )

プラットフォームに対して、IOC の停止を要求する。

sys.print( *arguments )
*arguments
テキスト出力するものの変数

管理ツールのコンソール表示部にテキスト出力する。

Python プログラムが呼び出すプラットフォーム上のユーティリティー関数

以下の関数は、コンストラクタの引数としてプラットフォームから Python プログラムに渡される sys クラスのメソッドとして定義される。

sys.speak_on_station( text, lang )
text
音声出力するテキスト
lang
言語の指定( 'ja' 'en-us' など)

ステーション上でテキスト音声を出力する。

sys.speak_in_browser( text, lang )
text
音声出力するテキスト
lang
言語の指定( 'ja' 'en-us' など)

ブラウザ上でテキスト音声を出力する。

sys.sound_on_station( file_name )
file_name
再生するファイルの名前。IOC それぞれのプログラムフォルダを検索し、ファイルが存在しない場合は、システムの音声ファイルフォルダを検索する。

ステーション上で音声ファイルを再生する。

sys.sound_in_browser( file_name )
file_name
再生するファイルの名前。IOC それぞれのプログラムフォルダを検索し、ファイルが存在しない場合は、システムの音声ファイルフォルダを検索する。

ブラウザ上で音声ファイルを再生する。

ステーションが呼び出す Python のクラス内のイベント関数
share_changed( self, var_name, data )
var_name
共有変数の名前
data
その値

共有変数が更新されたことを通知する。

setting_changed( self, var_name, data )
var_name
変数の名前
data
その値

ビデオ解析の IOC において、位置情報設定オプションが変更されたことを通知する。

ui_event( self, type, data )
var_name
"click"、"rightclick"、"doubleclick"、"buttondown"、"move"、"buttonup" のいずれか。なお、"move"は、"buttondown"と"buttonup"の期間中だけ発生する。
data
その値

ビデオ解析の IOC において、UI イベントを通知する。