トップページに戻る

データ変換プログラム (filter) (plug-in ver)

公開対象: 全ユーザ


必要ファイル: tklib


参考プログラム

参考プログラムが XRD\filter, PES\filter などに入っています: filter-plugin - D2MatE


プログラム仕様

修正


全体方針


単独動作させるため、また、動作テストのためのコード

 __name__ == "__main__" で判定することにより、単独起動時にはmain()関数を呼び出すようにします。
標準的な main() 関数を示します。
このプログラムでは、データファイルのフォーマットチェックをしたのちにデータを読み込み、データの表示、グラフの描画を行い、usageを表示して終了します。

def main():
#==================================================================
# Initialize parameters
#==================================================================
    app = tkApplication(usage_str = usage_str, globals = globals(), locals = locals())
    cparams = app.get_params()

    initialize(app, cparams)
    update_vars(app, cparams)

    print("")
    print( "==========================================================================")
    print(" Convert CIF file to powder XRD pattern")
    print( "==========================================================================")
    print(f"Input file: {cparams.infile}")

    logfile = app.replace_path(cparams.infile, template = ["{dirname}", "{filebody}-out.txt"])
    print(f"Open logfile [{logfile}]")
    app.redirect(targets = ["stdout", logfile], mode = 'w')

    cparams.outfile = get_output_path(cparams.infile)

    print("Output file:")
    print(f" xlsx file: {cparams.outfile}")

    file_type = check_file_type(cparams.infile)
    if file_type is None:
        app.terminate(f"Error: [{cparams.infile}] invalid file type", usage = usage)
    if 'Error' in file_type:
        app.terminate(file_type, usage = usage)

    inf = read_data(cparams.infile, cparams = cparams)
    print_data(inf)
    inf = convert(inf, cparams = cparams)
    save_data([cparams.outfile], inf, cparams = cparams)
    plot_data(inf, cparams = cparams)

    app.terminate(usage = usage)


if __name__ == "__main__":
    main() 


plug-in global 変数

必須

オプショナル


plug-in 標準関数 (API)

各関数に渡すパラメータは、cparamsオブジェクト, あるいは リスト args, 辞書 kwargs で渡します。
他のプログラムとの互換性のため、cparamsオブジェクトの仕様を推奨します。