tkProgについて

tkProgの特徴

D2MatE pythonページ (より進んだ話題)

  • GUIだけでなくCLIプログラムにも GUIインターフェースを作り、簡単に使える ようになっています (Launcher.py の機能 : プログラマブルラウンチャ)

  • matplotlibを利用したグラフ描画では、 マウスクリックイベントに対応 しているプログラムがあります。

    • Early Stop: 回帰、最適化計算など、長時間の繰り返し計算をする場合、グラフウインドウの "stop"ボタンで、繰り返し計算を中断できるものがあります (tkFit, tkFit_m の機能)

    • データ情報の表示: グラフを表示した場合、マウスの左ボタンクリックにより、最近接のデータの情報をコンソール画面に表示します (tkPlotEvent の機能)

  • データファイルのデフォルトは、Microsoft Excelの .xlsx ファイルです。 CSVファイルも読み込めると思いますが、ファイル選択ダイアログで *.csv を指定する必要があります。 原則、 共通ファイル・単位など の単位を使います。

  • 機械学習関係だけでなく、日常的に使う解析プログラム (Arrhenius plot、最小二乗フィッティング、平滑化、微分、デコンボリューションなど) も搭載しています。

  • 半導体解析、計算科学支援など専門性の高いプログラムは一般公開していません。 左のメニューに掲載されている中で、使用したいプログラムがありましたら、ご相談ください。

  • その他のプログラムの追加も容易です。ライセンスの問題がないプログラムで追加希望があれば、ご提案ください。

tkProgパッケージ種類 一覧・入手先

D2MatE pythonページ (より進んだ話題)


パッケージ一覧

公開対象

パッケージ名 [tkprog_XX]

入手先

備考

一般

tkprog_base

神谷・片瀬研究室

tkprog_COE

NAS share/apps/tkProg

FastCopy や xcopy を使った増分コピー(incremental copy)による更新を推奨。

tkprog_Linux

計算サーバ share/tkProg

計算サーバにインストール済み。

D2MatE拠点

tkprog_MDX

D2MatE メンバー限定ページ

tkprog_Linux

D2MatE メンバー限定ページ

その他 共同研究

チュートリアル最終版

tkprog

20230322Tutorial.zip

一般パッケージの内容を全て含む更新版。参考: チュートリアルコース2022


tkProgディレクトリ構成

全ての tkProg パッケージは、公開対象別の tkprog_XX ディレクトリ以外は共通のツリー構造になっています。 ルートディレクトリを [tkProg] と表記しますが、このディレクトリ名は空白・全角文字を含まない、短く単純なパス(例: d:\tkProg, /home/user/tkProg)にすることを推奨します。

太字 は全パッケージ共通の項目です。

[tkProg]

# tkProgルート+ [tkprog_XX]

# 公開対象別ディレクトリ(tkprog_tutorial, tkprog_COE, tkprog_MDXなど)。

+ bin

# ユーティリティ・管理プログラム。

  • tkdb

    # データベース(対象により無い場合があります)。

+ tklib

# ライブラリ。 + + python

# pythonライブラリルート。環境変数 PYTHONPATH に設定します。 + + + tklib

# pythonライブラリ本体。

    • perl

    # perlライブラリルート(対象パッケージのみ)。

+ user

# ユーザ設定ディレクトリ。設定ファイルはアカウント名別にここに保存されます。

  • tkapp_open

    # 配布可能なWindowsプログラム。

  • tkprog

    # 神谷作成の他言語プログラム(C++, Fortran, perlなど)。

  • tkapp

    # 神谷作成のC++/Fortranプログラム(非公開対象)。


tkProgパッケージの共存・マージ

共存について

各パッケージの違いは [tkprog_XX] ディレクトリのみです。この末尾の文字列がグループ名となり、デフォルトで読み込むプログラムリストが切り替わります。 そのため、異なる公開対象のパッケージを併用する場合、複数の [tkprog_XX] ディレクトリが共存しても問題ありません。

[tkprog_XX]/Launcher/Launcher.py から起動することで、それぞれのパッケージに対応したプログラムが呼び出されます。 ※ tklib は共通となるため、後方互換性が失われた場合は個別にルートを分ける必要があります。

マージの手順

以下の手順でパッケージをマージできます。

  1. マージ先のパッケージ(通常は古い方)をインストール。

  2. マージする新しいパッケージを展開。

  3. マージするパッケージの [tkprog_XX] 以外の ディレクトリをマージ先へ上書き。

  4. マージするパッケージの [tkprog_XX] 内の ファイルを、マージ先の [tkprog_XX] 内 へ上書き。

tkProg CLIプログラム

本ページでは、tkProgパッケージに含まれているプログラムのうち、コマンドラインツール(CLI)としても簡単に使えるものを収録しています。 (多くのプログラムは、Launcherにも搭載されています)


AI関連共通ライブラリ・ファイル

AI関係プログラム等(GPT5対応)

翻訳プログラム等(GPT5対応)


Documentファイル関係


動画・音声ファイル関連プログラム

文字起こしプログラムについて

以下のプログラムでは、OpenAI Whisperを使って文字起こしをしています。 文字起こししたデータには多くの誤字・誤変換が含まれるので、correct_transcript.py を使って修正します (Google API Keyが必要です)。

注釈

Localで音声ファイルの文字起こしを行う場合、Local版Whisperをインストールする必要があります。

主なプログラム一覧

  • get_gpu_inf.py: WindowsでGPU情報を表示。

  • media_inf.py: 動画・音声ファイルの情報を表示。

  • whisper_split.py: Local版Whisperで指定秒数重ねて分割・高速文字起こし。

  • transcribe_whisper.py: API版Whisperで話者推定・要約作成。

  • correct_transcript.py: Geminiを使い文字起こしテキストを修正。


画像処理 (Image Processing)

  • image_contrast.py: 画像全体のコントラスト分布を均一化。

  • image_classify.py: FFT記述子とk-means法による画像ブロックのクラスタリング。


結晶関係・材料データベース

Materials Project 連携

  • get_cif.py: CIFファイルを保存。

  • get_band_dos.py: 電子バンド構造、状態密度を保存。

  • get_phonon.py: フォノンバンド構造、状態密度を保存。

結晶解析ライブラリ

  • tkcrystalbase.py: 結晶構造・ベクトル解析基本ライブラリ。

  • crystal_draw_cell.py: 単位格子・逆格子描画。

  • crystal_MP_Ewald.py: Madelung potential (Ewald法)。


Viewer

  • image_view.py: 画像Viewer (tkinter, PIL, cv2)。

  • XMLView.py: XML階層構造Viewer。

  • JSONView.py: JSON階層構造Viewer。

Perlおよびモジュールのインストール方法
  • Perl 5をお使いください。

  • ActiveState Perl、Strawberry Perl、または本家Perlなどが利用可能です。


Perlモジュールのインストール

注釈

神谷・片瀬研究室およびD2MatE拠点では、あらかじめモジュールをインストール済みのPerlアーカイブを用意しています。

以下のコマンドで必要なモジュールをインストールします。

# cpan install Jcode File::Copy::Recursive Math::Matrix Math::MatrixReal Math::Vector::Real

その他

# cpan install CGI::Carp MIME::Lite Digest::SHA1 HTTP::Cookies

Perl/Tk

# cpan install tk

アーカイブからのインストール(Linux等)

CPANから直接インストールできない場合、特にLinux環境では以下の手順でアーカイブからインストールしてください。

  1. Tk-804.036.tar.gz を入手します。

  2. アーカイブを展開します。

    % tar xvfz Tk-804.036.tar.gz
    
  3. ディレクトリへ移動します。

    % cd Tk-804.036
    
  4. ビルドとインストールを実行します。

    % perl Makefile.PL
    % make
    # make install