その他


関数やデータ型のドキュメント文字列および文字列表現

PyFIE 構造体/共用体のドキュメント文字列(属性 __doc__)は、 その構造体/共用体の定義を提供します。 さらにインスタンスの文字列表現(__repr__())は、 各メンバの値を表現します。

また、 PyFIE 関数のドキュメント文字列(属性 __doc__) は、 関数プロトタイプと関数の要約、引数仕様、および戻り値仕様を提供します。

これらは対話的な環境でのイントロスペクションや補完機能等で役に立ちます。 下記にインタラクティブシェルでの使用例を示します。

Python
>>> # 構造体 PNT_T のドキュメント文字列.
>>> print(pyfie.PNT_T.__doc__)

PNT_T :
    INT x
    INT y

>>> # 構造体 PNT_T インスタンスの文字列表現.
>>> pnt = pyfie.PNT_T(1, 2)
>>> print(pnt)
PNT_T :
    INT x = 1
    INT y = 2

>>> # 関数 fnFIE_img_get_dens() のドキュメント文字列.
>>> print(pyfie.fnFIE_img_get_dens.__doc__)
INT FVALGAPI fnFIE_img_get_dens( FHANDLE himg, INT ch, INT x, INT y, DOUBLE* dens );
指定座標の濃度値取得

Params:
- [in] himg     濃度を取得する画像( type: bin, uc8, s16, us16, i32, ui32, double, float )
- [in] ch       対象チャネル
- [in] x        対象画素のX座標
- [in] y        対象画素のY座標
- [out] dens    濃度値

Returns:
- F_ERR_NONE             正常終了
- F_ERR_INVALID_IMAGE     himg に指定された画像が不正
- F_ERR_INVALID_PARAM    パラメータエラー
- F_ERR_NO_LICENCE       ライセンスエラー、または未初期化エラー


データ型操作

pyfie.sizeof(obj)

PyFIE データ型のデータサイズを取得します。

パラメータ obj には PyFIE データ型インスタンスまたはクラスを指定してください。 その型が内部で保持するデータのメモリサイズをバイト単位で返します。

この関数は C 言語における sizeof 演算子に相当します。

パラメータ:

obj -- PyFIE データ型のインスタンスまたはクラスを指定します

戻り値:

データのメモリサイズをバイト単位で返します



モジュール制御


pyfie.init(lib_bin_path=None, auto_setup=True)

PyFIE モジュールの初期化をおこないます。

自動初期化を有効に設定している場合、この関数を実行する必要はありません。 詳しくは 設定ファイルとライブラリ定義ファイル を参照してください。

パラメータ lib_bin_path には バインディング対象となる FIE ライブラリバイナリファイルへのパスを指定します。 パスの指定は文字列、 または文字列を要素とするリスト(バイナリが複数である場合)で行って下さい。 パラメータ lib_bin_path に None を指定した場合、 設定ファイル におけるパス設定に従います。

パラメータ auto_setup に True を指定した場合、 初期化完了後 fnFIE_setup() による FIE ライブラリの初期化処理が行われます。

この関数は PyFIE モジュールのトップレベル関数です。

パラメータ:
  • lib_bin_path -- FIE ライブラリバイナリのパス

  • auto_setup -- FIE ライブラリの初期化実行の有無

戻り値:

None を返します


pyfie.add_library(lib_bin_path, lib_decl_file)

PyFIE モジュールに任意の C 言語ライブラリへのバインディングを追加します。

パラメータ lib_bin_path には バインディング対象となる C 言語ライブラリバイナリファイルへのパスを指定します。 パスの指定は文字列で行って下さい。

パラメータ lib_decl_file には バインディング対象となる C 言語ライブラリの ライブラリ定義ファイル (ライブラリの関数や型の情報等が記された JSON 形式のファイル)へのパスを指定します。

パラメータ:
  • lib_bin_path -- C 言語ライブラリバイナリのパス

  • lib_decl_file -- ライブラリ定義ファイル

戻り値:

None を返します

注釈

本関数を Python 3.8 以上かつ Windows 環境にて使用する場合、 それより前のバージョンの Python よりも DLL 依存関係の解決方法がよりセキュアとなります。 状況によっては os.add_dll_directory() 関数により明示的に DLL ファイルを含む ディレクトリを指定する必要があります。


pyfie.ctrl.enable_f_err_return(enable=True)

エラーコード(INT 型)を返す PyFIE 関数の戻り値の型を pyfie.f_err 型に切り替えます。

本関数の設定対象となるのは 戻り値の型が INT であり、 かつ仕様上その戻り値がエラーコードとなっている FIE(C 言語) 関数に対応した PyFIE 関数となります。

パラメータ enable に True を指定した場合、 これらの PyFIE 関数は戻り値として pyfie.f_err 型の PyFIE 定数インスタンスを返すようになります。

パラメータ enable に False を指定した場合、 これらの PyFIE 関数は戻り値として pyfie.INT 型のインスタンスを返すようになります。

パラメータ:

enable -- 機能の有効(True)無効(False)指定

注釈

PyFIE の初期状態では 本関数の機能は有効(つまり pyfie.f_err 型を返す)となっています。

pyfie.ctrl.is_f_err_return_enabled()

エラーコード(INT 型)を返す PyFIE 関数の戻り値の型を pyfie.f_err 型に切り替えているかどうかを取得します。

戻り値:

エラーコードを pyfie.f_err 型に切り替えている場合は True 、そうでない場合は False 。


pyfie.ctrl.enable_f_err_exception(enable=False)

PyFIE 関数が返すエラーコードに応じて例外を発生させる機能の 切り替えを行います。

本関数の設定対象となるのは 戻り値の型が INT であり、 かつ仕様上その戻り値がエラーコードとなっている FIE(C 言語) 関数に対応した PyFIE 関数となります。

パラメータ enable に True を指定した場合、 これらの PyFIE 関数が戻り値として正常終了(F_ERR_NONE)以外を返す時、 自動的に例外(RuntimeError)を発生させるようになります。

パラメータ enable に False を指定した場合、 このような例外の発生を行いません。

パラメータ:

enable -- 機能の有効(True)無効(False)指定

注釈

PyFIE の初期状態では 本関数の機能は無効(つまり例外の発生を行わない)となっています。

pyfie.ctrl.is_f_err_exception_enabled()

PyFIE 関数が返すエラーコードに応じて例外を発生させる機能が有効であるかどうかを取得します。

戻り値:

例外を発生させる機能が有効である場合は True 、そうでない場合は False 。


pyfie.ctrl.set_ipython_max_display_image_size(size)

IPython で PyFIE の画像オブジェクトを表示する際の、表示可能な最大の画像幅または画像高さを設定します。

画像幅または画像高さがパラメータ size で設定した値より大きい場合、 IPython.display.display() 関数を使用した際に画像を表示しません。

本機能は巨大な画像を表示する際の意図しない応答遅延を回避する目的で提供されます。

パラメータ:

size -- IPython で表示可能な最大の画像幅または画像高さ

注釈

Matplotlib によるプロット機能 は本関数の設定の影響を受けません。

PyFIE の初期状態では 本関数の設定値は 8192 となっています。

pyfie.ctrl.get_ipython_max_display_image_size()

IPython で PyFIE の画像オブジェクトを表示する際の、表示可能な最大の画像幅または画像高さを取得します。

戻り値:

IPython で PyFIE の画像オブジェクトを表示する際の、表示可能な最大の画像幅または画像高さ。