Top page
小物プログラム集
本Webでは、ライブラリ tklib を使い、Launcher.py
をGUIとしたプログラムを公開していますが、
これらは多くのライブラリを利用し、また、複雑になっています。
本ページでは、一般的なpythonライブラリで動く小さめのプログラムを公開しています。
実用的な汎用性はありませんが、プログラム作成の参考にしていただければと思います。
なお、一部 tklib
を使っているプログラムがありますが、その場合は必要ライブラリに
tklib と書いてあります。
関連URL
数値解析講義資料・ミニプログラム
結晶工学・量子力学関連ミニプログラム
統計力学(C)ミニプログラム
CGI
注: pythonではCGIによるwebアプリケーションは推奨されておらず、python
3.12までは標準ライブラリになっていた cgi
も3.13で削除されました。
本ページでは、以下の2つのプログラムを使ってpythonプログラムの表示や画像マニュアルの表示を行っています
- show_python.py (ソースコード)
機能: pythonプログラムを表示
必要ライブラリ: tklib, cgi, cgitb
使用方法: tklibのディレクトリを変数PYTHONPATHに設定し、cgiが実行可能なディレクトリにshow_python.pyをコピーし、実行可能属性を付けます。
HTML: <a href="/cgi-bin/show_python.py?path=D2MatE/programs_tiny/cgi/show_python.py">ソースコード</a>
のように、CGIの引数に
画像ファイルディレクトリのパスをweb_rootからの相対パスとして渡します
- show_pictures.py (ソースコード)
機能: ディレクトリ内の画像を表示
必要ライブラリ: tklib (cgi), PIL
使用方法: tklibのディレクトリを変数PYTHONPATHに設定し、cgiが実行可能なディレクトリにshow_pictures.pyをコピーし、実行可能属性を付けます。
HTML: <iframe name="main" src="/cgi-bin/show_pictures.py?path=D2MatE/docs/70-07-vasp-ALAMODE"
width="100%" height="100%"></iframe>
のように、CGIの引数に
画像ファイルディレクトリのパスをweb_rootからの相対パスとして渡します
Image processing
- image_contrast.py (ソースコード)
(サンプルSTEM画像ファイル)
機能: TEMなどの画像のコントラストをブロック規格化し、画像全体にわたって均一なコントラスト分布に修正する
必要ライブラリ: numpy, scipy, cv2, matplotlib
使用方法: python image_contrast.py infile block_w block_h copy_w
copy_h smooth_mode smooth_w smooth_h smooth_order view_w
例:
python image_contrast.py stem.png 20 10 3 3 poly 15 15 3
(i)
15x15ピクセル内で3次多項式適合平滑化。
(ii)
20x10ピクセル毎にコントラストを正規化し、3x3ピクセルを残して画像を構成する
- image_classify.py (ソースコード)
(サンプルファイル
ブロック正規化後のSTEM画像)
機能: TEMなどの画像を正方形ブロックに分割し、実像
(target=real), FFT像 (fft)、実像の自己相関関数 (acf)
によってクラスタリングし、元画像にクラスタリング結果を重ねて描画する
必要ライブラリ: numpy, scipy, cv2, matplotlib
使用方法: python image_classify.py infile block_size num_clusters
target
例: python image_classify.py normalized_image.png 50 5 fft
(i) 50x50ピクセルブロックごとにFFTを行い、ブロックごとに一次元化したベクトルを記述子とし、k-means法で5クラスターにクラスタリング
- ocr.py (ソースコード)
機能: 画像ファイルから文字認識を行い、結果をコンソールに表示
必要ライブラリ: PIL, pyocr, tesseract-ocr
tesseract-ocrのインストール方法はプログラムのヘッダーを参照
使用方法: python ocr.py
画像ファイルは、プログラム中の変数 infile を変更
Structure database
- get_cif.py (ソースコード)
機能: Materials Projectから検索し、CIFファイルを保存
必要ライブラリ: pymatgen
使用方法: python get_cif.py formula output_format prec
例: python get_cif.py BaTiO3
- get_band_dos.py (ソースコード)
機能: Materials Projectから検索し、電子バンド構造、状態密度を保存
必要ライブラリ: pandas, matplotlib, pymatgen
使用方法: python get_band_dos.py formula k_path
k_path: Hinuma | Latimer-Munro | uniform |
Setyawan-Curtarolo
例: python get_band_dos.py BaTiO3
- get_phonon.py (ソースコード)
機能: Materials Projectから検索し、フォノンバンド構造、状態密度を保存
必要ライブラリ: pandas, matplotlib, monty, pymatgen
使用方法: python get_band_dos.py formula
例: python get_phonon.py MgO
- get_phase_diagram.py (ソースコード)
機能: Materials Projectから検索し、状態図を保存
必要ライブラリ: pandas, matplotlib, pymatgen
使用方法: python get_phase_diagram_dos.py chemsys
例: python get_phase_diagram.py Li-Fe-O
Converter
- pdf2img.py (ソースコード)
機能: PDFファイルを画像ファイルにして保存
必要ライブラリ: PyMuPDF
使用方法: python pdf2img.py infile out_dir image_format
以下のプログラムはCOMを使うので、Windowsのみで動きます
- docx2img.py (ソースコード)
機能: MS-Word .docxファイルを画像ファイルにして保存
必要ライブラリ: comtypes, PyMuPDF
使用方法: docx2img.py 中の INFILE, PDF_FILE, OUT_DIR
を修正して
python docx2img.py
- xlsx2img.py (ソースコード)
機能: MS-Excel .xslxファイルを画像ファイルにして保存
必要ライブラリ: comtypes, PyMuPDF
使用方法: python xlsx2img.py infile out_dir image_format
- pptx2img.py (ソースコード)
機能: MS-Powerpoint .pptxファイルを画像ファイルにして保存
必要ライブラリ: comtypes, PIL, jaconv
使用方法: python pptx2img.py infile out_dir image_format
Viewer
- image_view.py (ソースコード)
機能: 画像Viewer
必要ライブラリ: tkinter, PIL, cv2, matplotlib
使用方法: python image_view.py infile width height
- XMLView.py (ソースコード)
機能: XML Viewer
必要ライブラリ: toml, xml, tkinter
使用方法: python XMLView.py infile geometry
- JSONView.py (ソースコード)
機能: JSON Viewer
必要ライブラリ: toml, tkinter, json
使用方法: python JSONView.py infile geomery
Program coding
Tips