add_docstring.py は、PythonソースファイルにSphinx形式のDocstringを自動的に追加するためのツールです。このプログラムは、大規模言語モデル(LLM)の能力を活用し、指定されたPythonコードの内容に基づいて適切なDocstringを生成します。生成されたDocstringは、元のコードに組み込まれて新しいファイルとして出力されます。このツールの主な機能は以下の通りです。
_docstring.py を付加した名前で出力されます。このプログラムは、手作業でのDocstring記述の手間を大幅に削減し、Pythonプロジェクトのドキュメント作成プロセスを効率化することで、コードの可読性とメンテナンス性を向上させることを目的としています。
add_notes_pptx_com.py は、PowerPointプレゼンテーションファイル(.pptx)の各スライドに、指定されたテキストファイルから読み込んだノート(発表者ノート)を自動的に挿入するPythonスクリプトです。WindowsのCOM(Component Object Model)オートメーション機能を利用してPowerPointアプリケーションを直接操作します。このプログラムの主な機能は以下の通りです。
win32com.client ライブラリを通じてPowerPointアプリケーションを起動し、指定されたプレゼンテーションファイルを開きます。このプログラムは、大量のスライドにわたる発表者ノートを手動で追加する手間を省き、プレゼンテーションの準備プロセスを効率化することを目的としています。
add_notes_pptx_lib.py は、指定されたPowerPointプレゼンテーションファイル(.pptx)内の各スライドに、そのスライドに記述されたスピーカーノート(発表者ノート)の内容を字幕として追加することを目的としています。主な機能:
解決する課題:
発表者がプレゼンテーション中にスピーカーノートを画面に表示しない場合でも、視聴者がノートの内容を視覚的に参照できるようにすることで、情報共有を促進します。また、アクセシビリティの向上(例:聴覚障がいのある視聴者への情報提供)にも寄与します。
add_notes_pptx.py は、Microsoft PowerPoint(.pptx)ファイルを操作するためのPythonスクリプトです。主な目的は、PowerPointスライドのノート情報を活用して、プレゼンテーションの表示内容を強化または自動化することです。本プログラムは以下の2つの主要な機能モードを提供します。
add モード:replace モード:{{key}} 形式のプレースホルダーを、事前に定義された値で置換します。key=value 形式のファイルから読み込まれます。{{supertitle}} という特別なキーの値として利用され、ファイル側の指定よりも優先されます。本プログラムは、PowerPointのノート機能をより柔軟に活用したいユーザーや、定型的なプレゼンテーションのテキスト更新作業を自動化したいユーザーの課題を解決します。
add_notes_voice_pptx.py は、PowerPoint (PPTX) ファイルのノート内容を音声ファイルに変換し、その音声ファイルを元のPPTXファイルに自動再生リンクとして埋め込むことを目的としています。特に、Windows環境のPowerPointと連携し、プレゼンテーションのナレーション作成プロセスを自動化します。主な機能:
narration_txt) から、スライド番号に対応するナレーションテキストを抽出します。pyttsx3、VOICEVOX、AquesTalkPlayer、OpenAI)を用いて音声ファイル(WAVまたはMP3)に変換します。解決する課題:
PowerPointプレゼンテーションに手動でナレーションを追加する作業は時間と手間がかかります。このプログラムは、テキストベースのノートから自動で音声を生成し、プレゼンテーションに統合することで、このプロセスを大幅に効率化し、一貫性のある音声付きプレゼンテーションの作成を支援します。
ai_ocr2md.py は、指定された画像ファイルまたはクリップボード上の画像からテキストを抽出し、その内容をMarkdown形式に整形して出力するAI OCRツールです。ユーザーは、使用するAI API(Geminiがデフォルト)やモデル、プロンプトの内容を細かく設定できます。主な機能は以下の通りです。
.png, .jpg など) を指定するか、Windowsのクリップボードから直接画像を読み込むことができます。ai_ocr2md.ini ファイルを通じて、OCR処理に渡すプロンプトを自由に設定できます。これにより、出力されるMarkdownの形式や詳細度を制御可能です。.md) として保存されます。このプログラムは、紙のドキュメント、スクリーンショット、手書きメモなどの画像データから、編集可能な構造化されたテキストを効率的に生成する課題を解決します。
convert_ocr.py は、画像、PDF、およびOffice文書からテキストを抽出し、Markdown (.md) 形式で出力することに特化したコマンドラインツールです。このプログラムは、OCR (光学文字認識) エンジンとして Tesseract-OCR または Generative AI (Google Geminiなど) を利用できます。主な機能は以下の通りです。
このツールは、様々な形式のドキュメントから情報を抽出し、編集や再利用が容易なMarkdown形式で集約する作業を効率化するために設計されています。
debug_sphinx_build.py は、Sphinxドキュメントビルド時に発生するPythonモジュールのimportエラーを診断するためのユーティリティスクリプトです。このプログラムの主な目的と機能、および解決する課題は以下の通りです。Sphinxプロジェクトにおいて、特にautodoc機能を使用する際に、依存するPythonモジュールが環境に存在しないことによるimportエラーが発生することがあります。このスクリプトは、Sphinxビルドプロセスの一部であるモジュールのロードとimport処理をシミュレートし、エラー箇所を特定する手助けをします。
conf.py の優先的なロード: Sphinxのメイン設定ファイルである./source/conf.pyを最初にロードし、その内容を解析します。autodoc_mock_imports の適用: conf.py内で定義されているautodoc_mock_importsリストを読み取り、指定されたモジュール名をPythonのsys.modulesにダミーモジュールとして登録します。これにより、実際にインストールされていないモジュールがimportされてもエラーにならないようにします。sourceディレクトリとそのサブディレクトリ内にあるすべての.pyファイルを再帰的に検索し、動的にimportを試みます。conf.py自身は個別に処理するため再帰探索からは除外されます。また、ファイル名が _数字列 で終わるファイル(例: sample_1.py、test_2024.pyなど)は、通常テストファイルなどでありSphinxの対象外となることが多いためスキップします。--keep-goingオプションが指定された場合は、エラーを記録しながらすべての対象ファイルを最後まで処理し、最後にエラーのサマリーを表示します。--mockオプションを使用して、conf.pyがロードされる前に、任意のモジュールを手動でダミーモジュールとして登録できます。sys.path の調整: --add-cwd や --add-source オプションにより、カレントディレクトリやSphinxのソースディレクトリをsys.pathに追加し、importパスを調整できます。Sphinxドキュメントのビルドが、システムにインストールされていないライブラリのimportエラーで失敗する場合、原因となっているファイルを特定するのが困難な場合があります。このスクリプトは、Sphinxが内部的に行うimport処理を再現することで、どのファイルがどの依存関係で問題を抱えているかを明確にし、開発者がデバッグしやすくします。特に、大規模なプロジェクトで多数のPythonモジュールがある場合に、効率的にimportエラー箇所を特定するのに役立ちます。
explain_program5.py は、指定されたプログラムコードを解析し、AI(OpenAIまたはGoogle Gemini)を利用してその技術ドキュメントをMarkdown形式で自動生成するツールです。プログラマーが手動でドキュメントを作成する手間を大幅に削減し、効率的なドキュメント生成を可能にします。このプログラムの主な機能は以下の通りです。
*.py)を使用して複数のプログラムファイルを一括で処理できます。本プログラムは、特に大規模なプロジェクトにおいて、多数のスクリプトやモジュールのドキュメントを迅速かつ一貫性のある形式で作成する際に役立ちます。
get_from_ai.py は、INI形式の設定ファイルからプロンプトを読み込み、指定されたAIサービス(Google Gemini または OpenAI)に対してリクエストを送信し、その応答をファイルに保存するPythonスクリプトです。主な機能:
key=value 形式に加えて、プロンプトのような複数行テキストを「3重引用符」で囲んで定義できます。また、ファイルが key= を含まない複数行テキストで始まる場合、それを自動的に PROMPT キーの値として認識します。gemini, openai, openai5)とモデルを使用し、AIにプロンプトを送信します。APIキーは環境変数から取得します。解決する課題:
AIサービスとの対話において、プロンプトをコード内にハードコードするのではなく、設定ファイルとして外部化することで、プロンプトの管理と再利用を容易にします。また、AIからの応答を自動的にファイルに保存することで、その後の処理や記録を簡素化します。
get_gpu_inf.py は、システムにNVIDIA製GPUが搭載されており、Pythonの深層学習ライブラリであるPyTorchがCUDAを通じてそのGPUを認識・利用できるかを確認するためのスクリプトです。主な機能は以下の通りです。
このプログラムは、特に深層学習環境のセットアップ時に、PyTorchがGPUを正しく認識しているかを確認する目的で使用されます。
get_paper_inf5.py は、学術論文のPDFファイルからメタデータ(著者名、論文タイトル、ジャーナル名、発行年、DOIなど)を抽出し、その情報をExcelファイルに集約することを目的としたPythonプログラムです。抽出されたメタデータに基づいて、PDFファイルを命名規則に従ってリネームする機能も提供します。主な機能は以下の通りです。
summary.xlsx など) に追記します。各行は1つの論文に対応し、カラムには各種メタデータが含まれます。filename_rename)に基づいて、元のPDFファイルをリネームまたはコピーします。元のファイルの削除オプションも提供されます。guess_speaker.py は、OpenAI の GPT モデルと Function Calling 機能を利用して、文字起こしされた会話テキストを整形し、話者を推測するPythonプログラムです。主に以下の機能を提供します。[話者名]: 発言テキスト という形式でファイルに保存します。このプログラムは、特に半導体・材料科学分野の講義録など、専門的な内容を含む音声認識結果の品質向上と可読性向上を目的としています。
images2md_tags.py は、指定された画像ファイルからサムネイル画像を生成し、それらを埋め込んだMarkdown形式のテキストを標準出力に生成するPythonスクリプトです。このプログラムは、大量の画像をMarkdownドキュメント(例えば、ブログ記事や技術ドキュメント、画像ギャラリーなど)に整理して埋め込むプロセスを自動化することを目的としています。主な機能は以下の通りです。
これにより、手動でサムネイルを作成し、個々の画像のMarkdownリンクを記述する手間を省き、効率的なドキュメント作成を支援します。
list_models.py は、LiteLLM ライブラリを利用して、OpenAI および Google AI (Gemini) の大規模言語モデル (LLM) に対する操作を支援する Python スクリプトです。このプログラムは主に以下の二つの機能を提供します。このプログラムは、APIキーの設定ファイル (ai.env など) または環境変数から API キーを読み込み、それを使用して各プロバイダーのサービスにアクセスします。
make_sphinx_files.py は、指定されたPythonスクリプトを対象として、Sphinx形式の技術ドキュメント(主にMarkdownとreStructuredTextファイル)の自動生成と更新を支援するツールです。このプログラムは、以下の主要な機能を自動化することで、Pythonプロジェクトのドキュメント作成プロセスを効率化します。add_docstring.py を利用し、指定されたPythonスクリプトに関数やクラスのDocstringを自動的に追加または更新します。explain_program5.py を利用し、プログラムの目的、使用方法(usage)、コード品質評価などのMarkdown形式のドキュメントを生成します。__init__.py や、各種 .rst ファイル(APIリファレンス、ダウンロードリンク、モジュールインデックスなど)を自動的に作成します。--help 出力や、同一ディレクトリ内の関連する画像ファイル、データファイルを自動的に収集し、実行例 (_examples.md) を作成します。このプログラムは、特に大規模なプロジェクトや、頻繁に更新されるコードベースにおいて、ドキュメントの鮮度と整合性を保つための課題を解決します。
make_textbook5.py は、AI(OpenAIのGPTシリーズまたはGoogleのGeminiシリーズ)を利用して、講義の文字起こしテキストとMarkdown形式のスライドから、教育用の教科書Markdownと、より洗練されたスライド用Markdownを自動生成するPythonスクリプトです。このプログラムは、AIプロンプトエンジニアリングを駆使し、ユーザーが指定する出力言語、専門分野、役割に基づいて最適なコンテンツを生成します。主な機能:
.txt) およびオプションとして既存の講義スライドMarkdownファイル (.md) を読み込みます。.log) として保存されます。解決する課題:
講義内容から教科書や洗練されたスライドを手動で作成する労力を大幅に削減し、教育コンテンツ制作の効率化と品質向上に貢献します。
md2html.py は、LaTeX形式の数式を含むMarkdownファイルを、MathJaxとインラインCSSが埋め込まれたスタンドアロンのHTMLファイルに変換するPythonスクリプトです。このプログラムの主な目的は、技術文書や研究ノートなど、数式を多用するMarkdownコンテンツをウェブブラウザで簡単に閲覧できる形式にすることです。主な機能は以下の通りです。
Python-Markdown ライブラリを使用してMarkdownコンテンツをHTMLに変換します。pymdownx.arithmatex 拡張機能を利用することで、Markdown内のLaTeX数式(インライン $...$ およびブロック $$...$$)を適切に抽出し、MathJaxが処理できるようにHTML内に埋め込みます。--css-file オプションで独自のCSSファイルを指定してデフォルトスタイルを上書きできます。--no-css オプションを使用すると、CSSを一切埋め込まない設定も可能です。<title> タグの内容は、MarkdownファイルのYAMLメタデータ(title: キー)または最初のH1見出しから自動的に取得されます。これらがない場合は、入力ファイル名が使用されます。このプログラムは、数式を含む技術文書を共有・公開する際に、読者が特別な環境設定なしで内容を閲覧できるHTMLを生成することで、手間を省くことを目指しています。
OCR_image.py は、Pythonの pytesseract ライブラリを利用して、指定された画像ファイルから光学文字認識(OCR)を実行し、抽出されたテキストを標準出力に表示するプログラムです。このプログラムの主な機能は以下の通りです。
jpn)や英語(eng)など、複数の言語を指定して文字認識を行うことができます。複数の言語を同時に指定することも可能です。このプログラムは、紙媒体のドキュメントをスキャンした画像やスクリーンショットなどから、手軽にテキスト情報をデジタルデータとして抽出したいという課題を解決します。
OCR_pdf.py は、PDFファイルから光学文字認識(OCR)を実行し、そのテキストコンテンツを抽出するPythonスクリプトです。このプログラムは、スキャンされたPDFやテキストを選択・コピーできない画像ベースのPDFから、検索可能なテキストを効率的に抽出することを目的としています。主な機能は以下の通りです。
このプログラムは、PDFからテキストデータを取得する必要があるが、既存のテキスト抽出ツールでは対応できない場合に有用です。
pptx2md_with_image.py は、PowerPointプレゼンテーションファイル(.pptx)またはPDFファイルを入力として受け取り、その内容を解析してAIモデルによる詳細な解説レポートを生成するPythonスクリプトです。主な機能:
pywin32 を使用してPowerPointアプリケーション経由でPDFに変換します。PyMuPDF を使用して、そのPDF(または直接入力されたPDF)の各ページをPNG画像に変換します。解決する課題:
このプログラムは、PowerPointスライドの内容を自動的にテキスト化し、特に数式や画像が豊富に含まれる技術的なプレゼンテーションに対して、AIが文脈を理解した上で詳細な解説レポートを生成する手間を大幅に削減します。これにより、ドキュメント作成や学習プロセスを効率化します。
---
speak.py は、複数のText-to-Speech(TTS)エンジンを統合し、テキストデータから音声を生成・再生、または音声ファイルとして出力するためのコマンドラインインターフェースツールです。主な目的は、スクリプトや対話形式のテキスト(例: YouTube動画の台本、物語の朗読)を、話者ごとに異なる声で効率的に読み上げることです。このプログラムは以下の機能を提供します。
pyttsx3(システム標準TTS)、VOICEVOX(HTTP API経由)、AquesTalkPlayer(外部プログラム)、OpenAI TTS API(クラウドサービス)のいずれかを選択して利用できます。: で区切られた「話者名: セリフ」形式のテキストを解析し、話者ごとに適切な音声を選択して読み上げます。独話形式のテキストもサポートしています。これにより、ユーザーは用途に応じて最適なTTSエンジンを選択し、キャラクターごとの声を簡単に割り当てて、柔軟な音声コンテンツを生成できます。
tktts_aquestalkplayer.py は、外部の音声合成ソフトウェアであるAquesTalkPlayerと連携し、指定されたテキストを音声ファイルとして出力するためのPythonライブラリです。主な機能:
解決する課題:
このライブラリは、PythonアプリケーションからAquesTalkPlayerの音声合成機能を容易に利用できるようにすることを目的としています。特に、複数話者の対話文をそれぞれの話者に割り当てられたボイスで音声化するプロセスを効率的に自動化し、音声合成処理をPythonプログラムに統合することを可能にします。
tktts_openai.py ライブラリは、OpenAIが提供するテキスト読み上げ(Text-to-Speech; TTS)APIをPythonプログラムから簡単に利用するためのインターフェースを提供します。主な目的は、テキストデータを自然な音声に変換し、ファイルとして保存することです。主な機能:
tktts_base モジュールと連携し、複数の話者が登場するダイアログ形式のテキストを解析し、話者ごとに異なる音声で合成する高度な処理をサポートします。openai)がインストールされているかを起動時に確認し、不足している場合はユーザーに通知して終了します。解決する課題:
tktts_pyttsx3.py は、Pythonの音声合成ライブラリ pyttsx3 を利用して、テキストを音声に変換・再生、または音声ファイルとして保存するための機能を提供するライブラリです。特に、複数の話者による対話形式のテキストを効率的に処理し、それぞれの話者に割り当てられた音声で出力する機能に重点を置いています。主な目的は以下の通りです。
pyttsx3 エンジンの初期化と制御を抽象化し、簡単にテキスト音声合成を利用できるようにする。tktts_base ライブラリと連携して高度なテキスト前処理をサポート。このライブラリは、複雑な音声合成設定を隠蔽し、開発者がテキストから音声への変換をより直感的かつ柔軟に行えるようにすることで、アプリケーション開発の効率化を支援します。
tktts.py は、複数のテキスト読み上げ (Text-to-Speech, TTS) エンジンを統合し、統一されたインターフェースで利用可能にするPythonライブラリです。ユーザーは、ファイルやクリップボードからのテキスト読み込み、話者ごとの音声の割り当て、生成された音声の結合、そして再生またはファイル保存を簡単に行うことができます。このライブラリの主な目的は以下の通りです。
pyttsx3、VoiceVox、AquesTalkPlayer、OpenAI (TTS-1) といった複数の異なるTTSエンジンを、共通のAPIを通じて利用できるようにします。これにより、ユーザーは特定のエンジンに依存することなく、ニーズに合わせて選択・切り替えが可能です。話者名,セリフ)を解析し、各話者に異なる音声を割り当てて、自然な対話形式の音声を生成する機能を提供します。pyttsx3 の場合)、一時ファイルディレクトリの指定など、きめ細やかな設定をサポートします。tktts.py は、例えば物語の朗読、プレゼンテーションのナレーション、対話シミュレーションなど、テキストを音声に変換して利用する幅広いユースケースで、開発の時間と労力を削減することを目指しています。
tktts_voicevox.py は、PythonアプリケーションからVOICEVOXエンジンを介してテキストを音声合成するためのライブラリです。VOICEVOX REST APIと連携し、テキストを音声ファイル(WAV形式)として出力する機能を提供します。主な目的と機能は以下の通りです。
/speakers, /audio_query, /synthesis) を利用して、テキスト音声合成を行います。requests)がインストールされているかを起動時にチェックし、不足している場合はユーザーにインストール方法を案内して終了します。本ライブラリは、VOICEVOXをバックエンドとするテキスト音声合成機能を、他のPythonプログラムに組み込むことを目的としています。
tktts_winrt.pyは、tkttsライブラリのバックエンドとして設計されたPythonモジュールです。特にWindows環境での音声合成に特化しており、Windows.Media.SpeechSynthesis機能をPythonのwinsdkパッケージを介して利用します。このライブラリの主な目的と機能は以下の通りです。
tkttsの他のバックエンド(例: tktts_pyttsx3.py)と同様に、ドロップイン形式で利用できるWinRT(Windows Runtime)ベースの音声合成機能を提供します。speak_rate)は、pyttsx3のようなWPM(Words Per Minute)形式(150WPMが1.0倍速に相当)と、WinRTの相対レート(1.0が通常速度)の両方に対応するよう変換されます。winsdkパッケージとWinRT APIを使用するため、本ライブラリはWindowsオペレーティングシステム上でのみ動作します。本ライブラリは、Windows環境で高品質なシステム組み込みの音声合成機能を手軽に利用し、テキストから音声ファイルを生成したり、即座に再生したりする課題を解決します。
transcribe_simple.py は、指定された音声ファイル(または複数の音声ファイル)を OpenAI Whisper モデルを使用して文字起こしするPythonプログラムです。主に以下の機能を提供します。*など)を使用することで、複数のファイルを一度に処理できます。このプログラムは、音声コンテンツをテキストデータとして利用したいユーザー(例: 会議の議事録作成、動画コンテンツの字幕作成、音声データのテキスト検索化)のために、簡潔なインターフェースで高品質な文字起こし機能を提供することを目的としています。
translate5_GUI.py は、翻訳ツール translate5_com.py の強力な機能を、より直感的に操作できるグラフィカルユーザーインターフェース(GUI)を通じて提供するPythonアプリケーションです。主に、コマンドラインインターフェースに不慣れなユーザーが、複雑な設定を視覚的に行い、翻訳プロセスを簡単に実行できるようにすることを目的としています。主な機能:
.docx, .pptx, .pdf, .html, .md, .txt など、多様な形式の翻訳対象ファイルをGUIから簡単に選択できます。translate_prompt) と再フォーマットプロンプト (reformat_prompt) をテキストエリアで直接編集し、カスタムの翻訳挙動を実現できます。translate5_GUI.ini ファイルに自動的に保存され、次回起動時に読み込まれるため、再設定の手間が省けます。このプログラムは、translate5_com.py が提供する柔軟な翻訳機能を、使いやすいインターフェースで利用したいユーザーにとって非常に有用です。
translate5.py は、多様なドキュメント形式(.docx, .pptx, .pdf, .html, .md, .txt)のテキストを、指定された翻訳API(OpenAI, Google/Gemini, DeepL)を使用して翻訳または修正するPythonスクリプトです。このプログラムは、特に構造化されたドキュメントからのテキスト抽出、翻訳、そして元の形式への再構築を効率的に行うことを目的としています。主な機能は以下の通りです。
translate5.ini ファイルまたはコマンドライン引数を通じて、翻訳やテキスト整形のためのプロンプトを詳細にカスタマイズできます。これにより、特定の要件に合わせた翻訳品質やスタイルを実現します。--use_md オプションを使用すると、入力ファイルを一度Markdown形式に変換してから翻訳を行い、汎用的なテキスト処理フローを実現します。PDF入力の場合は、変換後にさらに整形APIを適用することも可能です。本プログラムは、専門文書やプレゼンテーション資料の多言語化、または既存文書の校正・リライト作業を自動化し、作業の効率化と品質向上に貢献します。
bin2base64.py は、指定されたバイナリファイルをBase64形式にエンコードし、その結果を新しいファイルに保存するPythonスクリプトです。このプログラムの主な目的は、画像ファイル、音声ファイル、その他の任意のバイナリデータを、テキストとして安全に転送または保存できるようにすることです。これにより、バイナリデータをテキストベースのプロトコル(例: メール、HTTP POSTデータ、XML/JSON設定ファイル)で扱う際の互換性の問題が解決されます。主な機能は以下の通りです。
base64 モジュールを使用してBase64形式にエンコードします。.base64 拡張子を付加した新しいファイルに保存します。binparser.py は、Pythonで記述されたバイナリファイル解析ツールです。このプログラムの主な目的は、バイナリファイルから特定のデータ形式(数値や文字列)を読み取ったり、ファイル内で特定の値を持つデータを探し出すことです。主な機能は以下の通りです。
float32, float64)、符号なし整数(uint16, uint32, uint64)、符号付き整数(int16, int32, int64)、およびASCII文字列です。このプログラムは、バイナリファイルに含まれる未知のデータ構造を調査したり、特定の値がファイル内のどこに存在するかを効率的に特定したりする際に役立ちます。
compare_dir_files.py は、二つの指定されたディレクトリツリーを比較し、特定のファイルパターンに基づいて、一方のディレクトリにのみ存在するファイルを検出するPythonスクリプトです。このプログラムの主な目的は、異なる場所に存在するコードベースやファイル群の同期状態を確認し、差分を特定することにあります。主な機能は以下の通りです。
*.py のように、特定のファイル拡張子やパターンにマッチするファイルのみを比較対象とします。デフォルトはPythonファイル (*.py) です。exclude_patterns に基づき、特定のファイルやディレクトリを比較対象から除外します。これにより、バージョン管理システムが生成する一時ファイルや、特定のライブラリディレクトリなど、比較から除外したい要素を無視できます。このプログラムは、例えば、開発中のプロジェクトディレクトリと、Sphinxドキュメントのソースディレクトリ間で、Pythonファイルの追加や削除が正しく反映されているかを確認するようなシナリオで役立ちます。
convert2md.py は、指定されたドキュメントファイル(PDF, DOCX, PPTX)や画像ファイル(JPG)を解析し、その内容をMarkdown形式のテキストに変換するPythonプログラムです。主な機能は以下の通りです。
markitdown ライブラリを利用して、PDF、Word (DOCX)、PowerPoint (PPTX) ファイルからテキストコンテンツを抽出し、Markdownに変換します。gpt-4o-mini)を利用して画像の内容を分析し、その説明文をMarkdownとして生成します。この機能は、.env ファイルに OPENAI_API_KEY が設定されている場合に有効になります。.env ファイルから自動的に読み込まれます。.md 拡張子を持つファイルとして保存されます。このプログラムは、異なる形式のコンテンツを統一されたMarkdown形式に変換することで、コンテンツの再利用、編集、管理を効率化することを目的としています。特に、画像の内容をAIが自動で説明する機能は、アクセシビリティの向上やコンテンツ作成プロセスの自動化に貢献します。
convert.py は、様々なファイル形式を別の形式へ自動的に変換するための汎用ユーティリティです。このプログラムは、指定されたディレクトリツリー内、または単一のファイルを走査し、設定された変換ルールに基づいてファイルを処理します。主に、オフィスドキュメント(Word, Excel, PowerPoint)、Markdown、Jupyter Notebook、画像ファイルなどをPDF、Markdown、HTML、または画像コレクション(PNGなど)に変換する用途を想定しています。主な機能は以下の通りです。
このツールは、多数のファイルを一括して管理・変換する必要がある場合に特に役立ちます。
docx2img.py は、Microsoft Word (.docx) 文書を画像ファイル (.png) に変換するためのPythonスクリプトです。このプログラムは、Word文書を中間的にPDFファイルに変換し、その後、そのPDFファイルからページごとに画像を抽出することで、最終的な画像ファイルを生成します。主な機能:
解決する課題:
このスクリプトは、Microsoft Wordアプリケーションがインストールされていない環境でもWord文書の内容を閲覧可能な形式(画像)で提供したい場合に特に有用です。また、Word文書の内容をWebページに埋め込んだり、サムネイルやプレビュー画像として表示したりする際にも利用できます。
docx2md.py は、Microsoft Word (.docx) ファイルの内容を抽出し、Markdown形式に変換するためのPythonスクリプトです。このプログラムは、Wordドキュメントが持つ複雑な要素、特に数式、画像、および多様なテキスト書式をMarkdownの記法で再現することを目的としています。太字, *斜体*, ^上付き^, ~下付き~)に変換します。$formula$、ディスプレイ(ブロック)数式は $$\nformula\n$$ の形式で出力され、MathJaxやPandocなどのレンダリングツールで表示可能になります。)が挿入されます。#~####)による見出しに変換します。本プログラムは、Wordドキュメントから情報を抽出し、以下のような用途で再利用可能にするための課題を解決します。
docx2pdf.py は、Microsoft Word ドキュメントファイル(.docx)をPDFファイルに変換するためのPythonスクリプトです。このプログラムの主な目的は、ユーザーが手動でWordアプリケーションを開いて「名前を付けて保存」機能を使ってPDFに変換する手間を省き、コマンドラインから自動的に変換処理を実行できるようにすることです。これにより、バッチ処理や他の自動化スクリプトへの組み込みが容易になります。
md2pdf.py は、Markdown形式のテキストファイルを受け取り、それを整形されたPDFドキュメントに変換するためのPythonスクリプトです。このプログラムの主な目的は、Markdownで記述された技術ドキュメント、レポート、メモなどを、読みやすく印刷可能なPDF形式で出力することです。特に、日本語テキストの適切な表示に対応している点が特徴です。主な機能は以下の通りです。
markdown ライブラリを利用して、入力MarkdownファイルをHTMLに変換します。fpdf ライブラリを使用して、生成されたHTMLをPDFに描画します。このプログラムは、Markdownで記述された情報を手軽に共有可能なPDF形式に変換したいというニーズに応え、特に日本語環境での利用を考慮したソリューションを提供します。
pandoc.py は、Pandocツールをラップし、MarkdownファイルをMicrosoft Word文書(.docx)、PowerPointプレゼンテーション(.pptx)、またはHTMLファイル(.html)に変換するためのユーティリティです。Pandocの複雑なコマンドラインオプションを抽象化し、よりシンプルで使いやすいインターフェースを提供することを目的としています。主な機能:
pandoc_path、または tkProg_path に基づいてPandoc実行ファイルを自動的に探し出します。.docx, .pptx)を、カレントディレクトリまたはスクリプトの配置ディレクトリから自動的に探し出します。解決する課題:
pptx2md2.py は、PowerPointファイル (.pptx`) からテキスト、数式、および画像を抽出し、Markdown形式のドキュメントに変換するためのPythonスクリプトです。pptx2pdf.py は、Pythonで記述されたスクリプトであり、Microsoft PowerPointプレゼンテーションファイル(.pptx形式など)をPDFファイルに変換することを目的としています。本プログラムは、Windowsオペレーティングシステム上で、Microsoft PowerPointアプリケーションがインストールされている環境でのみ動作します。主な機能は以下の通りです。
.pdf に変更したファイル名でPDFを生成します。本プログラムは、PowerPointアプリケーションのCOM (Component Object Model) オートメーションインターフェースを利用することで、プログラム的にPowerPointのPDFエクスポート機能を利用するという課題を解決します。
programs2single_md.py は、指定されたディレクトリ以下のファイルを検索し、その内容を結合してMarkdown形式のファイルに効率的に出力するPythonスクリプトです。目的: 大規模なプロジェクトのソースコードや関連ドキュメントなど、複数のテキストファイルを一元的にまとめ、単一または分割されたMarkdownファイルとして出力することを目的としています。これは、AIモデルへの入力準備や、コードベース全体のスナップショット作成などに特に有用です。
主な機能:
*.py, *.js;*.txt)を指定し、合致するファイルのみを対象とします。複数のマスクはセミコロン ; で区切ります。###) として記述し、その直下にファイルの内容を特定の区切り (#=======) で囲んで出力します。--max_bytes)を超えた場合、自動的に新しい連番のMarkdownファイルを作成し、書き込みを継続します。解決する課題:
手動で多数のファイルの内容をコピー&ペーストしてまとめる手間を省き、自動的かつ体系的にファイルを統合します。特に、入力サイズに制限があるシステム(例: 大規模言語モデルのプロンプト)に複数のコードファイルを提供する必要がある場合に、このツールは作業を大幅に簡素化します。
read_BRUKER_raw.py は、BRUKER社製のX線回折装置などによって生成された測定データファイルを解析し、その内容を可視化するためのPythonプログラムです。主に以下の機能を提供します。.raw) と、それに付随する設定情報を含むテキストファイル (.txt) を読み込みます。.txt ファイルからは装置設定や測定条件などのテキスト情報を、.raw ファイルからは特定のオフセットに格納されている数値データ(開始角度、ステップ幅、データ点数など)や文字列(サンプル名、ゴニオメーター名など)を抽出し、コンソールに表示します。.raw ファイルと .txt ファイルから読み込まれたメタデータを比較し、対応する情報が存在する場合は並列して表示することで、データの一貫性や正しい読み込みを視覚的に確認できます。このプログラムは、BRUKERデータ形式の特定のオフセットに依存しており、測定データの迅速な検証やデバッグ、さらにはデータ解析の前処理として役立ちます。
renumber_slides.py は、指定されたテキストファイル内のスライド番号を自動的に連番に振り直すPythonスクリプトです。主にMarkdown形式のスライド資料を対象としており、# Slide N ... という形式で記述されたヘッダー行のスライド番号 N を $1, 2, 3, \ldots$ のように修正します。このプログラムは、スライドの追加や削除によって不整合になったスライド番号を簡単に修正することを目的としています。ファイルの内容を直接上書きするため、実行前に元のファイルのバックアップを取ることを推奨します。
replace.py は、指定されたテキストファイルの内容を、設定ファイルで定義された正規表現パターンに基づいて置換するプログラムです。主に、大量のテキストデータにおける表記ゆれや特定のフレーズの一括修正、あるいは書式変換などの用途に利用できます。主な機能:
chardet ライブラリを使用して、入力ファイルの文字コードを自動的に判定し、適切に読み込みます。INI 形式の設定ファイル (replace.ini など) から、正規表現パターンとその置換文字列のペアを読み込みます。re モジュールを利用し、大文字小文字を区別しない、複数行対応などのフラグを設定した正規表現置換を実行します。-converted を付加した名前で自動生成します。save_clipboard.py は、Windows環境のクリップボードに現在格納されている内容を自動的に検出し、ファイルとして保存することを目的としています。主要な機能は、クリップボードにテキストデータがあればそれをテキストファイル(.txt)として、なければ画像データ(DIB形式)があればそれを画像ファイル(.png)として保存することです。プログラムの主な機能は以下の通りです。
CF_UNICODETEXT) を優先し、次にDIB形式 (CF_DIB) の画像データを検出します。このプログラムは、特に技術ドキュメントを作成する際に、クリップボードのスクリーンショットやコードスニペットを素早くファイル化し、さらにドキュメントに組み込むための手間を削減するという課題を解決します。
SS_window.py は、実行中のコンピュータのウィンドウ一覧を表示し、ユーザーが選択した特定のウィンドウをアクティブにしてスクリーンショットを撮影するPythonスクリプトです。このプログラムはOSに依存するウィンドウ操作やスクリーンショット機能を、Windows、macOS、Linuxといった複数のプラットフォームに対応するように設計されています。主な機能は以下の通りです。
ss_{timestamp}.png) でPNG画像として保存します。このプログラムは、特定の作業ウィンドウを頻繁にキャプチャする必要があるユーザーや、クロスプラットフォームで動作するシンプルなスクリーンショットツールを求めるユーザーにとって有用です。
txt2pdf.py は、プレーンなテキストファイル(通常は .txt 拡張子を持つファイル)をPDF形式のドキュメントに変換するPythonスクリプトです。このプログラムの主な目的は、テキストファイルの内容を、レイアウトが整った形でPDFとして保存することであり、特に日本語を含むテキストの変換をサポートするように設計されています。主な機能は以下の通りです。
fpdf ライブラリを使用して、読み込んだテキストコンテンツを新しいPDFファイルとして出力します。このプログラムは、報告書やメモなどのテキストコンテンツを、印刷や共有に適したPDF形式に変換したいというニーズを解決します。
xlsx2img.py は、Microsoft Excel (XLSX/XLS) ファイルを画像ファイル(PNG、JPGなど)に変換するためのPythonスクリプトです。このプログラムは、Excelファイルを直接画像に変換するのではなく、中間形式としてPDFを利用する二段階のアプローチを採用しています。主な機能は以下の通りです。
このプログラムは、Excelの内容を視覚的に共有したい場合や、ドキュメントの特定の部分を画像として抽出したい場合に役立ちます。
注意点: 現状のコードでは、入力Excelファイルはプログラム内にハードコードされた test.xlsx がデフォルトとして使用され、コマンドライン引数で別の入力ファイルを指定しても、その引数は無視されます。出力ディレクトリと画像形式はコマンドライン引数で変更可能です。
xlsx2pdf.py は、Microsoft Excelファイル(.xlsx形式が一般的ですが、Excelがサポートする他の形式も含む)をPDF形式に変換するためのPythonスクリプトです。このプログラムの主な目的は、ExcelがインストールされているWindows環境において、ExcelファイルのPDF変換処理を自動化し、コマンドラインから簡単に実行できるようにすることです。このプログラムは、GUIベースのExcelアプリケーションを開いて手動で「名前を付けて保存」や「印刷」機能を使ってPDFに変換する手間を省き、スクリプトやバッチ処理の一部としてPDF変換を組み込みたい場合に有効です。特に、大量のExcelファイルを一括でPDF化する必要がある場合に、作業効率を大幅に向上させることができます。
analyze_symmetry_k.py` は、結晶構造の対称性を解析し、特に中心金属のd軌道と配位子の対称適応型線形結合 (SALC) のk点における互換性を評価するモジュールです。このプログラムは、ユーザーが指定した構造JSONファイルから情報を読み込み、点群の自動検出、SALCの計算、およびk点におけるSALCの振る舞いを解析します。
コードのdocstringにある関連リンク `:doc:analyze_symmetry_k_usage` はSphinx/reStructuredText固有の記法であり、MySTのMarkdownでは直接利用できないため、このドキュメントでは言及しません。
bz_draw.py` は、結晶学的パラメータに基づいて第一ブリルアンゾーン(逆空間)またはウィグナー・ザイツセル(実空間)を3Dで可視化するためのPythonスクリプトです。このスクリプトは以下の機能を提供します。
seekpath` ライブラリを利用した高対称点のパス表示。a, b, c` の動的な変更と再描画。cfg2cif.py は、CFGファイルをCIFファイルに変換するPythonスクリプトです。このスクリプトは、Open-CFG形式のファイルから結晶構造情報を読み込み、CIF (Crystallographic Information File) 形式に変換して出力します。格子ベクトルの読み込みや、原子サイトの座標処理(必要に応じて `[0,1)` 範囲への丸め込み、指定範囲外の除外)をサポートしています。
関連リンクについては、元のコードのdocstringに :doc: ロールで cfg2cif_usage が指定されていますが、このドキュメントセットには含まれていないため、参照先は解決されません。
cif_inf_pymatgen.py は、CIF(Crystallographic Information File)ファイルから結晶構造情報を読み込み、pymatgen` ライブラリを用いて解析し、その詳細を標準出力に表示するスクリプトです。本スクリプトは、指定されたCIFファイルから結晶構造データを読み込み、pymatgen ライブラリの機能を用いて、その構造に関する詳細な情報を解析し、標準出力に表示します。具体的には、空間群の情報、格子定数、対称操作、原子サイトの座標と組成などが含まれます。また、元の構造に加え、対称化された構造の解析結果も提示します。
tklib.tkApplication を使用して、標準出力に加え、ログファイルへの出力リダイレクトを設定します。pymatgen の Structure.from_file メソッドでCIFファイルを読み込み、Structure オブジェクトを作成します。Structure オブジェクトについて、print_inf 関数を呼び出して詳細情報を表示します。SpacegroupAnalyzer を用いて構造を対称化し、その対称化された Structure オブジェクトについても同様に print_inf 関数で詳細情報を表示します。関連リンク:
:doc:cif_inf_pymatgen_usage
cif_read.py は、CIF (Crystallographic Information File) 形式のファイルを読み込み、その結晶構造情報を解析し、標準出力に表示するためのスクリプトです。このスクリプトは、 tklib ライブラリの一部である tkCIF` クラスを利用してファイルのパースを行います。パース後、得られた結晶オブジェクトから単位胞情報、原子座標、密度などの主要なデータを計算し、出力します。スクリプトの元々のdocstringには `:doc:cif_read_usage``` と記載がありますが、これはSphinx reStructuredTextのドキュメント間リンクであり、このMyST Markdownドキュメントではリンクとして機能しません。
主な機能:
解決する課題:
このプログラムは、大量のCIFファイルから有効で信頼性の高い結晶構造データを選別し、データの品質を保証するための前処理ステップを提供します。例えば、広範なデータベースからダウンロードした結晶構造データの中から、物理的に妥当なものだけをフィルタリングする際に特に有効です。
convert_cell.py は、Pythonの pymatgen ライブラリを使用して、結晶構造記述ファイル(CIF形式)で定義された単位胞を別の格子設定に変換するためのプログラムです。このプログラムは、部分占有率を持つ原子サイトも適切に処理し、変換前後で物理的な密度が維持されていることを検証します。主な機能は以下の通りです。
pymatgen.symmetry.analyzer.SpacegroupAnalyzer を用いて、元の構造の空間群、R-格子の設定(六方晶または菱面体晶)、および中心化の種類(例: P, A, B, C, I, F)を自動的に検出します。prim: 空間群解析に基づいてプリミティブセル(原始単位胞)に変換します。rhomb: R-格子の六方晶(hexagonal)設定の慣用セルを、菱面体晶(rhombohedral)プリミティブセルに変換します。hex: R-格子の菱面体晶設定のプリミティブセルを、六方晶の慣用セルに変換します。orth: 体心(I)、面心(F)、底心(A, B, C)などの中心化された格子を、対応するプリミティブセルに変換します。MATRIX: ユーザーが任意の3x3または3x4の変換行列と並進ベクトルを指定して変換します。行列の各要素には、1/3 や sqrt(2)/2 のような算術式を使用できます。eps (デフォルト 1e-4) の範囲内で一致することを確認します。これにより、変換が物理的に妥当であるかを検証します。一致しない場合は警告メッセージを出力します。このプログラムは、結晶構造シミュレーションや解析において、特定の格子設定への変換が必要な場面、あるいは異なる格子設定の構造データを比較する際に役立ちます。
matplotlib の3Dプロット機能を使用して両方の単位格子と原子配置を視覚的に表示します。コマンドライン引数で結晶の種類、変換モード、原子の描画サイズを調整できます。crystal_distance.py` は、結晶中の原子間距離を計算し、表示するためのPythonスクリプトです。与えられた格子定数と原子サイト情報に基づき、結晶中の原子間距離を計算します。また、実空間および逆空間の格子情報(格子ベクトル、メトリックテンソル、単位胞体積など)も計算し、標準出力に表示します。計算された原子間距離は、指定された距離範囲内でソートされて出力されます。crystal_draw_cell.py は、指定された格子定数と原子サイト情報に基づき、実空間および逆空間の単位格子と原子配置を3Dで描画するPythonスクリプトです。格子定数から格子ベクトル、計量テンソル、単位格子の体積を計算し表示します。逆格子についても同様の計算と表示を行います。生成された原子サイトは、指定された描画範囲に基づいて重複を避けながらリストに追加されます。最終的に、matplotlib` を用いて実空間の単位格子、逆空間の単位格子、および原子配置を3Dプロットとして可視化し、表示します。crystal_MP_Evjen.py` は、Evjen法を用いて結晶のマデルングポテンシャルを計算します。crystal_MP_Ewald.py` は、エワルド法を用いて結晶のマデルングポテンシャルを計算するプログラムです。指定された結晶の格子パラメータとサイト情報に基づき、実空間和、逆空間和、および自己項の3つの成分を合計して、最終的なポテンシャルを求めます。
2θ 角、格子面間隔 d 、ミラー指数 (hkl)` を計算し、表示します。diagonalize2d.py` は、2x2の実数行列の対角化を可視化するPythonスクリプトです。このプログラムは、物性物理学における電子構造の基本的な概念(バンド構造、フェルミ準位、状態密度、フェルミ面、有効質量など)を、具体的な計算と視覚化を通じて理解するための教育的ツールとして設計されています。複雑な第一原理計算を行うことなく、これらの概念の物理的意味やモデル依存性を直感的に把握することを支援します。
draw_bravais_lattice.py` は、Python言語で記述されたスクリプトであり、ブラベー格子の単位格子と格子点を3Dで可視化することを目的としています。このスクリプトは、指定された格子定数と結晶系に基づいて、ブラベー格子の単位格子、格子点、格子ベクトル、およびオプションで補助線や基本格子を3Dで描画します。Matplotlibライブラリを使用して3Dプロットを生成し、結果を画像ファイルとして保存し、同時に表示します。
a_1, a_2, a_3 を定義し、変換行列 T を用いて菱面体格子の基本ベクトル r_1, r_2, r_3` へ変換します。変換後の格子ベクトルおよび単位格子を 3D 空間上に描画し、両者の関係を視覚化します。va, vb, vc を導出します。va はX軸に沿い、vb はXY平面にあり、vc` は3次元空間に配置されるように定義されます。Parameters:
a (float`): 格子定数aの長さ。b (float`): 格子定数bの長さ。c (float`): 格子定数cの長さ。alpha (float): 角度α(度)。vb と vc` のなす角。beta (float): 角度β(度)。va と vc` のなす角。gamma (float): 角度γ(度)。va と vb` のなす角。Returns:
tuple[np.ndarray, np.ndarray, np.ndarray]: 3つの基本格子ベクトル va, vb, vc`。Fhkl.py は、X線回折に関連する原子および結晶の特性(原子散乱因子、異常散乱因子、結晶構造因子)を計算し、その結果をテキスト出力およびグラフとして可視化するPythonプログラムです。主な機能は以下の4つのモードに分けられます。
asf モード): 特定の原子に対し、X線の散乱ベクトル $s$ の関数としての原子散乱因子 $f(s)$ を計算し、グラフとしてプロットします。anom モード): 特定の原子に対し、X線の波長の関数としての異常散乱因子 $f'$ (実部) と $f''$ (虚部) を計算し、グラフとしてプロットします。F モード): CIF (Crystallographic Information File) ファイルで定義された結晶構造に対し、指定されたミラー指数 $(hkl)$ の結晶構造因子 $F_{hkl}$ を計算し、関連する情報(面間隔、回折角、構成原子の原子散乱因子など)を表示・プロットします。inf モード): CIFファイルに記述されている結晶の構造情報を詳細に表示します。このプログラムは、X線回折実験の解析や設計において、物質の原子レベルおよび結晶レベルでのX線散乱特性を理解し、予測するために利用できます。
find_point_group.py` は、XYZ形式の分子ファイルから点群を推定し、対称操作を直交化、整列、そして特定のSchoenflies記号(C3v/C4v/C6v/C2v/Dn/T/Td/Th/O/Oh)でラベル付けして表示するPythonスクリプトです。主要な機能は以下の通りです。
pymatgen` ライブラリを使用)。pymatgen.symmetry.analyzer.PointGroupAnalyzer` を用いた点群の推定とSchoenflies記号の取得。tkpointgroup.snap_matrix()` で代表化。σv/σd の区別、C2v の σv(xz)/σv'(yz) の区別、Dn (n=3,4,6) の C2'(x系)` の分類。このスクリプトは、共通ライブラリである `tkpointgroup の機能(tkpointgroup.snap_matrix(), tkpointgroup.normalize_symbol(), tkpointgroup.classify_label()`)を活用することで、コードの重複を削減し、堅牢性を向上させています。
主な機能:
解決する課題:
材料科学研究者がMaterials Projectの豊富な結晶構造データベースから特定の物質のデータを容易に検索・取得し、計算化学ソフトウェアなどで利用可能な標準的なファイル形式(CIF)として手元に保存する手間を軽減します。これにより、手動でのデータダウンロードやフォーマット変換の必要がなくなります。
guess_free_parameters.py` は以下のコマンドライン引数を取ります。```bash
python guess_free_parameters.py <cif_file> [OPTIONS]
```
cif`: (必須) 入力となるCIFファイルのパス。--symprec: 型は float, デフォルト値は 1e-4`。対称性を判断するための許容誤差(距離)。--angle-tolerance: 型は float, デフォルト値は 5.0`。対称性を判断するための角度の許容誤差(度)。--tol: 型は float, デフォルト値は 1e-6`。分数座標の比較などで使用される一般的な許容誤差。--delta: 型は float, デフォルト値は 1e-3。座標を摂動させる際の微小変位量。この値は通常、--symprec よりも大きい必要があります。プログラムは delta <= symprec` の場合に警告を出力します。--print-expanded: 型は int, デフォルト値は 1。空間群によって展開された等価座標を出力するかどうかを制御します。 0 で出力しない、 1` で出力する。pymatgen` を用いて結晶構造の高対称k点経路を計算し、表示するスクリプトです。入力された結晶構造のBravais格子に基づいて高対称k点経路を計算し、表示します。
このプログラムの主な機能は以下の通りです。
これにより、ユーザーはDFT(密度汎関数理論)などの計算手法でバンド構造を計算する際に必要なk点パス情報を簡単に得ることができます。
lattice_plane.py` の機能と使用方法について説明します。`lattice_plane.py は、指定された格子定数とミラー指数 (hkl) に基づいて、結晶の単位格子とその中の (hkl) 面を3Dで描画するスクリプトです。コマンドライン引数としてミラー指数 h, k, l を受け入れ、それらの値に応じて面を可視化します。描画されるのは単位格子に最も近い (hkl)` 面の一部です。
主な機能:
解決する課題:
結晶中の静電相互作用は長距離にわたるため、単純に全ての原子間のクーロン力を合計すると収束が非常に遅くなるか、発散することがあります。Ewald法は、この長距離クーロン相互作用の合計を数学的に収束する3つの項(実空間和、逆空間和、自己エネルギー項)に分割することで、効率的かつ高精度にマデルングポテンシャルを計算することを可能にします。これにより、イオン結晶の安定性や物性を理解するための基礎データを提供します。
point_group.py` は、結晶点群操作の解析と可視化を行うPythonユーティリティスクリプトです。Hermann–Mauguin記号に基づいて、対称操作の表示、指定された方向ベクトルの群作用による展開、およびステレオ投影図の描画機能を提供します。
tkpointgroup ライブラリと連携し、点群の数学的処理を扱います。
search_cif_db_tkcif.py` は、指定されたルートディレクトリ以下のCIFファイルを読み込み、その組成や結晶学的情報を抽出してSQLite3データベースにインデックス化します。一度データベースが構築されれば、ファイルシステムを再度スキャンすることなく、高速に組成に基づいた検索を実行できます。主な機能は以下の3つのモードです。
index`: CIFファイルをスキャンし、データベースを構築または更新します。search`: データベースに登録されたデータに対して、指定された組成で検索を実行します。info`: データベースの統計情報を表示します。CIFファイルの読み込みには `tkcif.tkcif_reader.read_structure() 関数を、組成の処理には pymatgen.core.Composition` クラスを使用しています。
symmetrize_pymatgen.py は、Pythonで記述されたスクリプトであり、pymatgen ライブラリの機能を利用して結晶構造の対称性を解析し、対称化された構造を新しいCIFファイルとして出力します。pymatgen がサポートする多様なファイル形式(CIF、POSCARなど)から結晶構造を読み込みます。symprec)に基づいて構造の空間群を特定し、その空間群の対称操作を適用して原子位置を調整します。symmetrize_tklib.py は、pymatgen と tklib` という2つのPythonライブラリを組み合わせて使用し、結晶構造データを含むCIFファイルを対称化し、その結果を新しいCIFファイルとして保存するスクリプトです。このスクリプトは、入力されたCIFファイルを読み込み、`pymatgen の SpacegroupAnalyzer を利用して結晶構造の対称性を解析します。対称化された構造からは、空間群情報、格子定数、原子サイトの情報が抽出されます。その後、抽出された情報は tklib の tkFile モジュールを用いて、特定のフォーマットで新しいCIFファイル ({filebody}-symmetrized.cif`) として出力されます。
`pymatgen の強力な対称性解析機能を活用しつつ、tklib` のデータ構造と連携して出力を生成するハイブリッドなアプローチを採用しており、材料科学分野での結晶構造解析ワークフローに貢献することを目的としています。
vib_irreps.py` は、指定されたXYZファイルと点群シンボルに基づき、分子の振動モードの既約表現を計算します。xyz2cif.py` は、XYZ形式の原子座標ファイルと設定ファイルからCIF (Crystallographic Information File) 形式のファイルを生成するスクリプトです。class_analyzer.py は、Pythonのオブジェクト指向プログラミングにおけるオブジェクトの構造と振る舞いを動的に解析・表示するためのツールであり、特に材料科学分野で広く利用される pymatgen ライブラリのオブジェクトを対象としています。このプログラムは、指定された結晶構造情報ファイル(CIF)を読み込み、pymatgen の機能を用いてその結晶の対称性を解析します。その過程で生成される様々な pymatgen オブジェクト(CifParser、Structure、SpacegroupAnalyzer、SymmetrizedStructure、Siteなど)に対して、そのオブジェクトが持つメソッド(関数)と属性(変数)を一覧表示する機能を提供します。主な機能は以下の通りです。
pymatgen のようなライブラリで定義された複雑なカスタムオブジェクトに対しては、そのクラス名、モジュール名、そして利用可能なメソッドとその呼び出し結果(引数不要な場合)、およびその属性の現在の値と型を整形して表示します。pymatgen を使用してCIFファイルから結晶構造を読み込み、空間群解析を実行し、対称化された構造や等価サイトの情報を取得します。このプログラムは、pymatgen オブジェクトがどのようなメソッドや属性を持っているかを学習し、デバッグする際に非常に役立ちます。特に、ライブラリのドキュメントだけでは理解しにくい、複雑なオブジェクトの具体的な中身や操作方法を視覚的に把握することを目的としています。
make_mini_tklib.py は、Pythonプログラムのエントリーポイントとなるスクリプトから静的にインポートされるモジュールを解析し、特定のPythonパッケージのサブセットを生成することを目的としたツールです。具体的には、指定されたエントリースクリプトがインポートするPythonファイルのうち、指定されたパッケージ (pkg_name) のルートディレクトリ (pkg_root) 配下にあるものを再帰的に収集し、出力ディレクトリ (out) へ元の相対パス構造を保ってコピーします。このプログラムの主な機能は以下の通りです。
ast モジュールを用いてPythonソースコードを解析し、import および from ... import ... ステートメントを検出します。pkg_root 配下に解決できるファイルのみを選別し、出力ディレクトリへ複製します。これにより、特定のアプリケーションに必要な最小限のパッケージ構造を構築できます。__init__.py ファイルの自動追加: コピーされるPythonファイルを含むディレクトリ階層において、__init__.py ファイルが存在すれば、それらも自動的にコピー対象に含めます。--report-unused: pkg_root 配下に存在するものの、依存解析によって選択されなかったPythonファイルをリストアップし、レポートとして出力します。--dot-out: 収集された依存関係をGraphvizのDOT形式で出力し、視覚化を可能にします。--ignore-if-imports: if ブロック内に記述されたインポート文を無視することで、より厳密な最小サブセットを生成できます。--dry-run オプションを使用すると、実際にファイルをコピーせずに、どのファイルがコピーされるかを事前に確認できます。このツールは、大規模なPythonパッケージの中から、特定の用途に合わせた最小限の依存関係を持つサブパッケージを作成したい場合に有用です。これにより、配布物のサイズを削減し、デプロイメントを簡素化できます。
make_run_report.py は、指定された作業ディレクトリ (--workdir) で特定のコマンド (--cmd) を実行し、その実行結果を詳細なレポートとしてMarkdown形式で出力する簡易ツールです。このレポートには、コマンド実行前後のファイル差分、標準出力 (stdout)、標準エラー出力 (stderr)、プログラムの終了コード、実行中に生成または変更された画像ファイル、およびログファイル(.log, .out, .txt)や stderr 内で検出された警告 (WARNING) やエラー (ERROR`) の情報が含まれます。オプションで pandoc コマンドが利用可能な場合、MarkdownレポートをHTML形式に変換することもできます。
miniC.py は、独自のスクリプト言語である「miniC」のインタプリタです。このプログラムは、miniC言語で記述されたソースコードを読み込み、以下の3つの主要な段階を経て実行します。本プログラムは、変数、数値、文字列、ブーリアン、リスト、辞書といったデータ型をサポートし、条件分岐 (if/elif/else)、繰り返し (for)、関数定義と呼び出し、そして組み込み関数 (print, exit, len, time, append, insert, open, read, write, close, add) を提供します。特に、ファイルI/Oの機能が強化されており、スクリプト内でファイルの読み書きを行うことができます。
iniedit.py は、INIファイルやTOMLファイルなどの設定ファイルを編集するためのGUIベースのテキストエディタです。主に以下の機能を提供し、設定ファイルの管理と編集を効率化します。chardet ライブラリを使用してファイルの文字コードを自動判別し、UTF-8、Shift_JIS、CP932、EUC-JP、ISO2022-JPなどの手動指定も可能です。iniedit.ini に保存し、次回起動時に復元します。text.ini に定義されたキーと値のペアをコンテキストメニューから簡単に挿入できます。複数行のテキストもサポートします。color.ini に定義された正規表現パターンに基づいて、テキストに色やスタイルを適用し、視認性を高めます。[section])を一覧表示し、クリックで該当する行にジャンプできます。正規表現によるセクションフィルタリングも可能です。iniedit.ini に設定された外部コマンドをメニューから実行でき、編集中のファイルパスを変数として渡すことが可能です。iniview.pyw は、INI形式のファイルや一般的なテキストファイルを視覚的に閲覧および解析するためのグラフィカルユーザーインターフェース (GUI) ツールです。特に、従来のINIパーサーでは扱いにくい複数行の値(3重引用符で囲まれたテキストブロック)を含むINIファイルの閲覧に特化しています。主な機能は以下の通りです。
\ を区切り文字として解釈され、ツリー構造を形成します。.ini 以外の拡張子のファイルを読み込んだ場合、そのファイルの内容全体を単一のテキストとしてエディタペインに表示します。iniview.ini ファイルに保存し、次回の起動時に復元します。iniview.ini に外部コマンドを登録することで、ツールのメニューから直接、登録された外部プログラムを実行できます。chardet ライブラリを使用して、ファイルの読み込み時に最適な文字エンコーディングを自動的に検出します。本プログラムは、複雑な設定ファイルやログファイル、ソースコードなどを迅速に確認し、必要な情報を抽出する作業を効率化することを目的としています。
analyze_2layer_Hall_excel.py は、Excel形式のホール測定データから、2層モデルを用いて薄膜(film)の有効ホール物性を計算するためのPythonプログラムです。基板単体(sub)と薄膜+基板(tot)のホール測定結果をインプットとして、膜厚、シート抵抗、ホール係数などの情報から薄膜固有の電気的特性(シートコンダクタンス、体積 Hall 係数、ホール移動度、キャリア密度など)を抽出します。主な機能:
解決する課題:
積層構造を持つサンプル(例えば、薄膜が基板上に成膜されている場合)では、薄膜単体の電気特性を直接測定することが困難です。このプログラムは、基板単体と薄膜+基板の測定結果を解析することで、薄膜自体のホール物性を間接的に評価することを可能にします。
collect_resitest8300.py は、Hall測定装置 (例えば 8310型) が出力するCSVファイルから、多層モデル解析に適した「primaryデータ」を抽出し、Excelファイルに追記するPythonプログラムです。主な機能は以下の通りです。
primary シートと、処理したCSVファイルごとのメタデータを含む files シートがデフォルトで作成されます。cm に統一した厚さも計算されます。good, warning, bad) が設定されます。--recursive) を用いて一括処理したりできます。このプログラムは、大量のHall測定データを効率的に集約し、後続のデータ解析プロセス(特に多層モデル解析)への準備を容易にすることを目的としています。
EF_T_DOS.py は、VASP計算から得られるDOSCARファイル(またはその変換されたDOS.datファイル)を解析し、半導体のキャリア密度(電子と正孔)とフェルミ準位($E_F$)を計算するためのPythonスクリプトです。このプログラムは、指定された温度範囲またはフェルミ準位範囲において、電荷中性条件を満たす$E_F$とそれに伴うキャリア密度、ホール係数などの物理量を計算し、結果をグラフとして可視化します。主な機能:
matplotlibを用いて複数のグラフで表示します。解決する課題:
このプログラムは、理論的な状態密度情報から、半導体材料の電気的特性(キャリア濃度、フェルミ準位、ホール係数など)が温度やフェルミ準位によってどのように変化するかを予測し、デバイス設計や材料開発のための基礎データを提供します。
EffectiveMass.py は、バンド構造データ(波数 k とエネルギー E の関係)から実効質量と波数 k` の関係を計算し、その結果をプロットする Python スクリプトです。主に固体物理学におけるバンド計算結果の解析を目的としています。mu_fit.py は、Hall効果測定から得られた温度依存移動度データに対して、複数の散乱メカニズム(光学フォノン、音響フォノン、中性不純物、イオン化不純物、粒界散乱)の物理モデルに基づいたフィッティングを行います。このツールは、パラメータの最適化、誤差評価、およびパラメータ感度診断の機能を提供します。主な機能は以下の通りです。
:::note
フィッティングの目的関数は、移動度の対数スケールにおける残差二乗和を最小化します。
:::
mu_T_Fit2.py は、半導体のホール移動度の温度依存性データ($\mu-T$ データ)を解析し、その背後にある散乱メカニズムのパラメータを決定するためのPythonスクリプトです。このプログラムは、粒界散乱、光学フォノン散乱、音響フォノン散乱、イオン化不純物散乱などの複数の散乱メカニズムを考慮した移動度モデルを用いて、実験データをフィッティングします。主な機能は以下の3つのモードで提供されます。
init (初期化) モード: 入力された$\mu-T$データに対し、線形最小二乗法を用いて移動度モデルの初期パラメータを推定します。また、移動度および$\mu T^{0.5}$の活性化エネルギーの温度依存性も計算・表示します。fit (フィッティング) モード: 初期パラメータに基づき、非線形最小二乗法(scipy.optimize.minimize を利用)を用いて$\mu-T$データをモデルに最適にフィットさせます。これにより、粒界ポテンシャル障壁、光学フォノン散乱の前指数因子・エネルギー、およびその他の散乱メカニズムの係数と温度指数といった物理パラメータを高精度で決定します。フィッティング後、各散乱成分の移動度と、それらの全体移動度に対する相対的な重みを分解して表示します。sim (シミュレーション) モード: 指定された(またはパラメータファイルから読み込まれた)モデルパラメータを用いて、移動度の温度依存性をシミュレートし、各散乱メカニズムの寄与を分解して表示します。このモードは、モデルの挙動を理解したり、パラメータの感度を調べたりするのに役立ちます。このプログラムは、半導体材料のキャリア輸送特性を詳細に理解し、材料設計やプロセス最適化のための貴重な情報を提供することを目的としています。
mu_TN_Fit.py は、半導体のホール移動度 ($\mu$) の温度 ($T$) およびキャリア濃度 ($N$) 依存性を、散乱メカニズムに基づいた非線形最小二乗法によりフィッティングするためのPythonプログラムです。主に、実験的に得られたホール移動度データから、材料固有の散乱パラメータを抽出することを目的としています。このプログラムの主な機能は以下の通りです。
scipy.optimize.minimize を用いて、実験データとモデルが最もよく一致するような散乱パラメータを最適化します。フィッティング対象は、ホール移動度全体の$T$-$N$依存性、ホール移動度の$T$依存性(特定のサンプルに対して)、または個々の散乱メカニズムを記述するパラメータの$N$依存性のいずれかを選択できます。.in形式)に保存されます。このプログラムは、半導体デバイスの設計や材料開発において、キャリア輸送特性を理解し予測するための重要なツールとなります。
N_T_Fit_semi_FEA.py は、Free Electron Approximation (FEA) に基づいて半導体のホール効果測定データ(キャリア濃度、移動度、電気伝導率、ホール係数)を温度の関数として解析するためのPythonスクリプトです。主な機能は以下の通りです。sim モード):与えられた半導体パラメータ(有効質量、バンドギャップ、ドナー準位と濃度、アクセプター準位と濃度など)に基づき、フェルミ準位、電子濃度、正孔濃度、ホール係数などの温度依存性をシミュレートします。測定データがある場合は、それらと比較してグラフ表示し、活性化エネルギーも計算します。
fit, fit_e, fit_h モード):測定されたキャリア濃度 $N$ の温度依存性を、非線形最小二乗法を用いてフィッティングします。
fit: 電子と正孔の二重キャリアモデルを用いて $N = |n_e - n_h|$ をフィッティングします。散乱因子 $r$ は0.5に固定されます。fit_h: 正孔のみの単一キャリアモデルを用いて $N = n_h$ をフィッティングします。散乱因子 $r$ は0.5に固定されます。fit_e: 電子のみの単一キャリアモデルを用いて $N = n_e$ をフィッティングします。散乱因子 $r$ は0.5に固定されます。fit_RH モード):測定されたホール係数 $R_H$ の温度依存性を、非線形最小二乗法を用いてフィッティングします。電子と正孔の二重キャリアモデルを使用し、散乱因子 $r$ を考慮します。このモードでは tkMobility クラスで定義された移動度モデルが使用されます。
本プログラムは、半導体の電子構造や欠陥準位を評価するために、ホール効果測定データと理論モデルを比較する強力なツールを提供します。
Ne_T_fit.py` は、半導体内の電子・正孔濃度、イオン化不純物濃度を温度の関数として計算するシミュレーターであり、実験的なキャリア密度データにモデルをフィッティングする機能も提供します。フィッティングはデフォルトでネルダー・ミード法を使用し、ドナー/アクセプターのイオン化エネルギー、濃度、バンドギャップをフィッティングパラメータとして利用します。
ログ空間での最適化と、パラメータの不確かさ(共分散、相関、標準誤差)推定もサポートしています。
optimize_flex_CV.py は、半導体デバイスのCV(キャパシタンス-電圧)特性測定データに基づき、デバイスの物理パラメータを最適化して推定するプログラムです。主に、以下の機能を提供します。scipy.optimize ライブラリの数値最適化アルゴリズム(共役勾配法やNelder-Mead法など)を使用して、最適なパラメータセットを探索します。.xlsx)やINI形式のファイルに保存します。このプログラムは、半導体デバイスの設計や解析において、CV測定データからデバイスの物理的特性を定量的に評価する際の課題を解決することを目指しています。
pnjunction.py` は、PN接合ダイオードの電流-電圧 (IV) 特性を計算し、プロットするためのPythonスクリプトです。ユーザーが指定した半導体材料の物理パラメータと環境条件(温度)に基づき、ダイオードの基本的な電気的特性をシミュレーションします。pvanalyze.py は、太陽電池デバイスの IV 特性および光学スペクトルを解析するための Python スクリプトです。主に以下の処理を行います。R と透過率スペクトル Tr から、吸収率 A と吸収係数 $\alpha$ を計算する。I0, ndiode, IPV, Rs, Rsh を経験的に抽出する。このスクリプトは、非線形最小二乗フィットで単一ダイオードモデルを厳密に最適化するものではありません。コード上では、局所多項式平滑化、接線推定、微分、ゼロクロス補間を用いて、IV 曲線から代表パラメータを抽出します。
pvfit_simple.py は、太陽電池の電流-電圧特性を一ダイオードモデル(Single-Diode Model, SDM)でフィッティングするための簡易ツールです。主な目的は、測定IVデータから以下の5つのモデルパラメータを抽出することです。
| パラメータ | 意味 | 単位 |
|---|---|---|
| I0 | ダイオード逆飽和電流 | A |
| ndiode | ダイオード理想因子 | 無次元 |
| IPV | 光生成電流 | A |
| Rs | 直列抵抗 | Ω |
| Rsh | シャント抵抗 | Ω |
このスクリプトは、入力CSVファイルからIVデータを読み込み、必要に応じて初期値推定を行い、scipy.optimize.minimize によりパラメータを最適化します。
実行モードは以下の3種類です。
| モード | 内容 |
|---|---|
| init | IVデータから初期パラメータを推定し、CSVへ保存 |
| fit | 初期パラメータまたは既存CSVを用いてSDMフィッティングを実行 |
| sim | 指定済みパラメータでIVカーブを計算・表示 |
処理の大まかな流れは以下です。
DataValue 行を読み込み、電圧 V と電流 I を抽出する。xmin, xmax が指定されていれば範囲を制限する。init モードでは初期パラメータを推定する。fit モードでは対数電流誤差を目的関数としてパラメータを最適化する。pvfit.py は、太陽電池または半導体デバイスの電流-電圧特性を、拡張一ダイオードモデル(Extended Single Diode Model, Extended SDM)で解析する Python スクリプトです。主な用途は次の通りです。
このプログラムでは、外部印加電圧 $V$ に対して直接電流を陽に計算するのではなく、接合電圧 $V_d$ を未知数とする暗黙方程式を数値的に解き、直列抵抗 $R_s$ とシャント抵抗 $R_{sh}$ の影響を含めて電流を求めます。
S2L.py は、Single Parabolic Band (SPB) モデルと緩和時間近似(緩和時間指数 $r=0$)を用いて、熱電材料のローレンツ数 $L$ と電子熱伝導率 $k_e$ を実験データから推定するPythonプログラムです。主な機能は以下の通りです。
このプログラムは、熱電材料の電子輸送特性をSPBモデルに基づいて解析し、ローレンツ数を実験的に決定することで、格子熱伝導率などを分離・評価する際に役立ちます。
S2m.py は、熱電材料の温度 ($T$)、ゼーベック係数 ($S$)、キャリア濃度 ($N$) の測定データから、有効質量 ($m_{eff}$) を推定し、その妥当性を検証するPythonスクリプトです。このプログラムは、Snyder et al. の研究論文に基づいた経験的または理論的な近似式を用いて有効質量を計算します。主な機能は以下の通りです。
このプログラムは、熱電材料の物理特性評価、特に有効質量の評価において、実験データを基にした迅速な解析を可能にします。
schottky.py` は、ショットキーダイオードの電流-電圧(IV)特性をシミュレーションするためのPythonスクリプトです。このプログラムは、さまざまなショットキーモデル(単純拡散、拡散、ショットキー障壁低下、トンネル、熱電子電界放出)を用いてIV特性を計算し、結果をプロットします。物理定数や材料パラメータをコマンドライン引数として受け取り、順方向および逆方向バイアスでの電流を数値的に解きます。関連リンク: `schottky_usage`
Seebeck2.py は、ゼーベック(Seebeck)係数と温度から材料の有効質量を推定するためのPythonスクリプトです。本プログラムは、G.J. Snyder, A. Pereyra and R. Gurunathan, Adv. Funct. Mater. 32, 2112772 (2022) の論文に記載された手法に基づいて開発されています。Seebeck_scan.py` は、熱電材料のゼーベック係数を、フェルミ準位、キャリア濃度、温度、有効質量といった様々な物理パラメータをスキャンしながら計算し、結果をプロットするスクリプトです。散乱因子 $r$ の異なる値に対して以下のスキャンモードをサポートしています。
EF` (フェルミ準位): フェルミ準位をスキャンし、ゼーベック係数を計算します。Ne` (キャリア濃度): キャリア濃度をスキャンし、ゼーベック係数を計算します。T` (温度): 温度をスキャンし、ゼーベック係数を計算します。このモードでは、フェルミ準位、キャリア濃度、または還元フェルミ準位のいずれかを固定できます。m_eff` (有効質量): 有効質量をスキャンし、ゼーベック係数を計算します。このモードでも、フェルミ準位、キャリア濃度、または還元フェルミ準位のいずれかを固定できます。計算はFermi-Dirac積分に基づき、キャリアタイプ(電子または正孔)を指定できます。結果はCSVファイルとして保存することも可能です。
散乱因子 $r$ はキャリアの緩和時間 $\tau(E)$ がエネルギー $E$ の $(r-1/2)$ 乗に比例することで定義されます。
Seebeck_ZT.py` は、熱電輸送特性を計算するためのモジュールです。ゼーベック係数 ($S$)、ローレンツ因子 ($L$)、電気伝導度 ($\sigma$)、移動度 ($\mu$)、電子熱伝導度 ($\kappa_e$)、パワーファクター ($PF$)、およびZT因子を計算し、キャリア濃度依存性をプロットおよびExcelファイルに保存します。このモジュールは、3次元放物線バンドモデルと緩和時間近似($\tau(E) \propto E^{r-1/2}$)に基づき、フェルミ・ディラック積分を用いた厳密な輸送積分によって熱電輸送特性を評価します。コマンドライン引数を通じて、温度 ($T$)、有効質量 ($m^*$)、参照移動度 ($\mu_{\text{ref}}$)、格子熱伝導率 ($\kappa_{\text{latt}}$)、キャリア種別、散乱因子 $r$ のリストなどを設定できます。
T_distrib.py は、積層型熱電 (TE) スタックの1次元定常状態温度プロファイルを計算するPythonプログラムです。このプログラムは、スタックを構成する複数の層(電極、TE半導体、界面)を考慮し、外部環境との熱交換モデルに基づいて温度分布を予測します。主な機能は以下の2つのモードで提供されます。
このモードでは、スタックの上面と下面における表面熱抵抗を、明示的な空気境界層(厚さ delta_top / delta_bottom、熱伝導率 k_air)としてモデル化します。これは、単純な熱抵抗ネットワークとして扱われ、総熱抵抗とそこを流れる熱流束を計算します。
このモードでは、表面熱抵抗を自然対流と熱放射の物理モデルに基づいて予測します。
このモードでは、内部スタックと外部環境(空気、放射環境)との間で、熱流束が平衡するような表面温度を数値的に求めます。
両モード共通で、内部スタックは以下の層で構成されます。
上部電極 / 界面1/2 / TE半導体 / 界面2/3 / 下部電極
プログラムは、以下の情報を標準出力に出力します。
また、温度プロファイルを示す図をPNG画像ファイルとして保存します。この図は、物理スケールと模式(変形)スケールの2つのグラフが縦に並べられた形式で表示されます。
現在のプログラムのバグについて:
main 関数内の delta モードの処理が2度記述されており、2度目の呼び出しにおいて compute_piecewise_profile 関数の戻り値の数が誤って指定されています。これにより、delta モードでプログラムを実行すると ValueError: too many values to unpack エラーが発生し、正常に動作しません。この技術ドキュメントでは、バグが修正された場合の delta モードの期待される動作について記述します。
weighted_mobility.py は、電気伝導率 ($\sigma$) とゼーベック係数 ($S$) から、加重移動度 ($\mu_w$) および加重キャリア濃度 ($n_w$) を計算するためのPythonスクリプトです。このプログラムは、半導体材料の電気的輸送特性解析に利用され、Snyderの近似式、または自由電子モデルに基づいた近似解および厳密解を用いて加重移動度を算出します。主な機能は以下の通りです。
single モード): 特定の電気伝導率、ゼーベック係数、温度に対して、加重移動度とキャリア濃度を計算します。状態密度有効質量 ($m^*_{\text{DOS}}$) および散乱因子 ($r$) の影響も考慮できます。check モード): ゼーベック係数とフェルミ準位の依存関係、および加重移動度の異なる計算手法間の比較を行います。計算結果はExcelファイルに保存され、グラフが表示されます。X モード): 入力ファイルから読み込んだX軸パラメータ(例:組成比、ドープ量など)に対する電気伝導率とゼーベック係数のデータを用いて、加重移動度とキャリア濃度のX依存性を計算します。結果はExcelファイルに保存され、グラフが表示されます。T モード): 入力ファイルから読み込んだ温度に対する電気伝導率とゼーベック係数のデータを用いて、加重移動度とキャリア濃度の温度依存性を計算します。結果はExcelファイルに保存され、グラフが表示されます。このスクリプトは、材料の輸送特性を解析し、キャリアの移動度や濃度を実験データから逆算する際に有用です。
Launcher.py は、Pythonで記述されたGUIベースのアプリケーションランチャーです。このプログラムの主要な目的は、ユーザーが事前に定義したアプリケーションやスクリプトを、使いやすいグラフィカルインターフェースを通じて簡単に起動できるようにすることです。主な機能は以下の通りです。
tkinter を利用した直感的なインターフェースを提供し、リストボックス形式のメインメニューと、関連するアクションを実行するためのサブメニューボタン、ツールバーボタン、右サイドバーボタンを配置します。.ini ファイル(例: Launcher.ini)に保存・読み込みされます。これにより、パス、フォントサイズ、外部アプリケーションの場所などの設定を永続化できます。launcher_script_dir) から .ini ファイル形式のスクリプト定義を読み込み、ランチャーのメニュー項目として動的に表示します。また、-s コマンドライン引数で指定される .list ファイルによって、追加 (extra\_scripts) や除外 (remove\_scripts) するスクリプトを管理できます。PYTHONPATH を含む環境変数をプログラムの起動時に設定し、外部アプリケーションやスクリプトが正しく動作するための環境を準備します。Launcher-out.txt など) に出力する機能を持ちます。resource_*.resource ファイルを通じて、UIの表示テキストを日本語と英語に切り替えることができます。このプログラムは、特定のプロジェクト環境下で複数のツールやスクリプトを効率的に管理・実行する際のハブとしての役割を果たすことを目的としています。
tkLauncherApp.py は、PythonのTkinterライブラリをベースとしたGUIアプリケーションフレームワークである tklib.tkgui.tkapplication_gui.tkApplication_GUI を拡張したクラスです。このライブラリの主な目的は、スクリプトの実行、アプリケーションの設定管理、ユーザーとの対話、ファイルシステム操作などを容易にするための、多機能なランチャーアプリケーションの基盤を提供することです。主な機能は以下の通りです。
このライブラリは、複雑なPythonスクリプトや外部アプリケーションをGUIから起動・管理したい開発者にとって、強力なツールとなることを目指しています。
sympy_examples.py のソースコードは現在空であるため、このプログラムは特定の機能を持たず、実行しても何も処理を行いません。もし将来的に sympy ライブラリを活用した数式処理、シンボリック計算、方程式の解法、微積分、線形代数などのロジックが追加された場合、その目的が明確になり、多岐にわたる数学的問題の解決に貢献することが期待されます。sympy_with_test.py は、Pythonのシンボリック計算ライブラリ SymPy を用いて、ユーザーがコマンドラインから指定した数式に対して微分、積分、またはテイラー展開の処理を実行し、その結果を数値計算による近似値と比較して標準出力に表示するスクリプトです。目的:
SymPy によるシンボリックな数式処理の結果が、NumPy を用いた数値計算による近似値とどの程度一致するかを視覚的に検証し、理解を深めることを目的としています。
主な機能:
SymPy が扱える形式に変換します。SymPy の結果式および元の数式を、NumPy を用いて特定の $x$ の範囲で数値的に評価します。SymPy の微分結果を比較します。解決する課題:
抽象的なシンボリック計算の結果と、具体的な数値計算の挙動との関連性を、具体的な例を通して理解する手助けとなります。特に、数値微分の近似精度や、テイラー展開の近似範囲における誤差の振る舞いを観察できます。
split_audio_with_overlap.py` は、指定された音声ファイルを、指定された最大サイズとオーバーラップ時間に基づいて複数のチャンクに分割し、それぞれを個別の音声ファイルとして保存するスクリプトです。これにより、大容量の音声ファイルを管理しやすいサイズに分割したり、処理負荷を軽減したりすることが可能になります。to_audio.py は、様々な形式の音声ファイルや動画ファイルから音声トラックを抽出し、指定されたオーディオ形式に変換して出力するためのPythonスクリプトです。主に pydub ライブラリと ffmpeg を利用して、柔軟なファイル変換機能を提供します。主な機能は以下の通りです。
ffmpeg がサポートするあらゆる音声・動画ファイルを入力として受け付け、音声トラックを抽出できます。--overwrite)、入力ファイルが新しい場合のみ更新したり (--update) するオプションを提供します。*.mp4)を使用することで、複数のファイルを一括処理できます。このプログラムは、例えば動画ファイルからBGMのみを抽出したい場合や、異なるデバイスで再生するためにオーディオファイルの形式や品質を変換したい場合などの課題を解決します。
optimize_ga_swarm_remc.py は、複数の最適化アルゴリズム(遺伝的アルゴリズム、粒子群最適化、レプリカ交換モンテカルロ法、Nelder-Meadシンプレックス法)を使用して、Ackley関数をベースとした多次元関数を最小化するためのPythonスクリプトです。このプログラムは、特にグローバル最適化問題を解決することを目的としており、異なるアルゴリズムの性能比較や、特定の問題に対する最適な探索戦略の評価に役立ちます。主な機能は以下の通りです。
scipy.optimize.minimize を用いたNelder-Meadシンプレックス法をサポートします。このプログラムは、複雑な多峰性を持つ関数(複数の局所最適解を持つ関数)のグローバル最適解を見つけるという課題に取り組んでいます。
optimize.py は、勾配降下法、共役勾配法、ニュートン法、シンプレックス法といった様々な数値最適化アルゴリズムを用いて、2変数の目的関数に対する最小値を探索するPythonプログラムです。主に、与えられた初期値から出発して関数の最小点を見つけることを目的としています。主な機能は以下の通りです。
このプログラムは、多変数関数の最小化問題に取り組む際の強力なツールとして機能し、異なる最適化手法の挙動を比較検討するのに役立ちます。
BESearch.py は、X線光電子分光法(XPS)で得られた結合エネルギーデータに基づき、測定されたエネルギー値に対応する可能性のある元素と電子準位を検索するためのPythonプログラムです。プログラムの冒頭にある3重引用符で囲まれた文字列(docstring)は、このプログラムが「光電子分光法のための可能な元素と準位を検索する」ことを説明しています。主な機能:
XPS-BE-Source.csv)を読み込みます。解決する課題:
XPSスペクトルから得られたピークの結合エネルギー値が、どの元素のどの電子準位に由来するかを迅速に同定する作業を支援します。特に、複数の元素や準位が近い結合エネルギーを持つ場合に、候補を絞り込むのに役立ちます。
ef_fit.py は、光電子分光 (PES) スペクトルデータを解析するためのPythonプログラムです。このプログラムは、フェルミ・ディラック (Fermi-Dirac) 関数と線形状態密度 (DOS) を組み合わせた物理モデルを、ガウス型の装置関数で畳み込み、測定されたスペクトルにフィッティングすることで、モデルのパラメータを決定します。主な機能と解決する課題は以下の通りです。
fit モード: 測定データにモデルをフィッティングし、最適なパラメータを探索します。最適化の進行状況はリアルタイムでプロットされ、終了後には結果がExcelファイルに保存されます。sim モード: 指定されたパラメータでモデルスペクトルを計算し、測定データと比較して表示します。これにより、パラメータ変更がスペクトルに与える影響を視覚的に確認できます。init モード: ユーザーが指定したフィット範囲に基づいて、EF、BG、I0、w の初期値を自動で推定し、結果をパラメータCSVファイルに保存します。これにより、フィッティングの開始点を見つける手間が省けます。[入力ファイル名]_parameters.csv) で管理され、プログラム実行時に読み込まれます。コマンドライン引数で上書きすることも可能です。これにより、実験条件に応じたパラメータの再利用や微調整が容易になります。.csv, .xlsx, .txt (特定のHAXPESデータ形式またはシンプルなXY形式) のスペクトルデータを読み込むことができます。このプログラムは、PESスペクトルの定量的な解析を支援し、材料の電子状態に関する物理的洞察を得ることを目的としています。
fit_vbo_xps.py は、XPS (X-ray Photoelectron Spectroscopy) の価電子帯スペクトルを解析するためのPythonスクリプトです。主な目的は、フィルムと基板が混在するサンプルの価電子帯スペクトルを、純粋なフィルムおよび純粋な基板の参照スペクトルを用いてフィッティングすることです。これにより、各成分の寄与度、およびそれぞれのエネルギーシフトを決定し、最終的に価電子帯オフセット (VBO: Valence Band Offset) を算出します。このプログラムは以下の課題を解決します。
bayes_gp_gui_shimizu.py は、ベイズ最適化とガウス過程回帰を組み合わせた実験計画・最適化プロセスをグラフィカルユーザーインターフェース (GUI) で支援するPythonプログラムです。ユーザーはデータファイル(ExcelまたはCSV)を読み込み、ベイズ最適化のさまざまなパラメータ(プローブ数、探索方法、取得関数、乱数シードなど)を設定し、最適化計算を実行できます。主な機能は以下の通りです。
.xlsx) または CSV (.csv) 形式のデータファイルを読み込みます。nx_2D, ny_2D)max_num_probes)num_search_each)num_rand_basis)interval)score_mode): Expected Improvement (EI), Probability of Improvement (PI), Thompson Sampling (TS) から選択。random_seed)fraction_test)standardize)bayes_gp_plain_shimizu.py) を呼び出し、ベイズ最適化とガウス過程回帰を実行します。.npz 形式で保存します。このプログラムは、実験やシミュレーションにおいて、効率的に最適解を見つけるための次なる試行点を提案する「アクイジション」プロセスを視覚的に管理し、研究開発の効率化に貢献します。
bayes_gp_gui.py は、ベイジアン最適化やガウス過程 (Gaussian Process) に基づくデータ解析を行うバックエンドプログラム bayes_gp_plain2.py のためのグラフィカルユーザーインターフェース (GUI) アプリケーションです。このプログラムは、Pythonの tkinter ライブラリを使用して構築されており、ユーザーが直感的に入力ファイルの選択、解析パラメータの設定、および解析の実行を行えるように設計されています。主な機能は以下の通りです。
.xlsx) および CSV (.csv) 形式のデータファイルを読み込み、解析結果をExcel (.xlsx) および NumPy圧縮形式 (.npz) で出力します。en または ja) を切り替えることができ、GUIの表示言語を変更できます(再起動後に適用)。このプログラムは、コマンドラインインターフェース (CLI) に不慣れなユーザーでも、ベイジアン最適化の手法を容易に利用できるようにすることを目的としています。
bayes_gp_plain_shimizu.py は、入力データに基づいてガウス過程モデルを構築し、ベイズ最適化を通じて目的関数の最適値を探索するプログラムです。特に、高価な実験やシミュレーションの回数を減らしつつ、効率的に最適解を見つけ出すことを目的としています。主な機能は以下の通りです。
.npz 形式で保存されます。bayes_gp_plain.py は、PHYSBOライブラリを使用して、ガウス過程に基づくベイズ最適化を実行し、最適な材料設計パラメータやプロセス条件を効率的に探索することを目的としたプログラムです。主な機能は以下の通りです。
max:, min:, =value:) に基づいて、目的関数の最適化モード(最大化、最小化、特定値への適合)を自動的に設定します。.npz ファイル) と、各データ点における目的関数の予測平均値、標準偏差、信頼区間を含む詳細な予測結果 (.xlsx ファイル) を出力します。このプログラムは、多次元の設計空間において、実験やシミュレーションの評価コストが高い場合に、効率的に最適解を見つけ出すための強力なツールを提供します。
benzene.py は、ベンゼン分子(6炭素環)の電子構造をHückel近似法を用いて解析し、その結果を可視化するPythonスクリプトです。このスクリプトは、Hückel行列を定義し、その固有値問題を解くことで分子軌道のエネルギー準位と波動関数を計算します。計算されたエネルギー準位はソートされ、その縮重度が特定されます。その後、ガウス型ブロードニングを適用して状態密度(DOS)を計算します。最終的に、matplotlib` ライブラリを使用して、計算された電子準位と状態密度の両方を一つの図にプロットし、ベンゼン分子の電子状態を視覚的に表現します。bose_condensation.py のソースコードを解析し、その機能、構造、および使用方法について説明します。draw_band_fs.py は、固体の電子バンド構造、状態密度 (DOS)、フェルミ準位 (EF)、フェルミ面 (FS)、および有効質量をシミュレートし、可視化するためのPythonプログラムです。このプログラムは、1次元 (1D)、2次元 (2D)、3次元 (3D) の結晶に対応し、以下の3つの単純な物理モデルをサポートしています。--nelec) とスピン縮退度 (--spin) に基づき、DOS積分からEFを自動計算。--ef_fixed オプションでEFを固定値として直接指定可能。この場合、DOS計算はスキップされます。このプログラムは、物性物理学における電子構造の基本的な概念(バンド構造、フェルミ準位、状態密度、フェルミ面、有効質量など)を、具体的な計算と視覚化を通じて理解するための教育的ツールとして設計されています。複雑な第一原理計算を行うことなく、これらの概念の物理的意味やモデル依存性を直感的に把握することを支援します。
ka や電子数 Ne` などを変分法で最適化し、全エネルギーを最小化する計算も可能です。interpolate3d_fft.py`3次元周期データのFFTを用いた補間処理を提供します。
このモジュールは、フーリエ変換とゼロパディングを利用して、3次元空間に周期的に配置された離散データを高解像度化するための関数を含みます。主に科学技術計算や画像処理の分野で、データの補間やアップサンプリングに利用されます。
3次元の等間隔周期データをFFT(高速フーリエ変換)を用いて補間し、高解像度化すること。
関連ドキュメントとして `interpolate3d_fft_usage` が参照されています。
入力ファイルから読み込んだデータ、または内部で生成したデータに対して、FFTを適用して周期関数の補間を行い、補間されたデータと元のデータ、必要であれば厳密な関数をプロットして比較します。
pymatgen` を用いて結晶構造の高対称k点経路を計算し、表示するスクリプトです。入力された結晶構造のBravais格子に基づいて高対称k点経路を計算し、表示します。
このプログラムの主な機能は以下の通りです。
これにより、ユーザーはDFT(密度汎関数理論)などの計算手法でバンド構造を計算する際に必要なk点パス情報を簡単に得ることができます。
kronig_penney.py` は、Kronig-Penneyモデルを用いて1次元のバンド計算を実行するPythonスクリプトです。このプログラムは、半導体の電子バンド構造を矩形ポテンシャルでモデル化し、その結果をグラフ表示、バンド図プロット、または波動関数プロットのいずれかのモードで出力します。QD3D.py` は、量子ドット (Quantum Dot) におけるエネルギー準位計算および関連関数のプロットスクリプトです。主な機能は以下の通りです。
このプログラムは、1次元シュレーディンガー方程式の固有値問題を数値的に解く際の、高精度な固有値探索という課題を解決します。
主な機能:
解決する課題:
このプログラムは、量子系の波動関数を数値的にシミュレートし、束縛状態のエネルギー固有値や波動関数の形を探索するための基本的なツールを提供します。特に、シューティング法を用いることで、適切なエネルギーがどのような振る舞いを導くかを視覚的に理解することができます。
主な機能として、指定された格子サイト数やパラメータに基づき、実空間でのハミルトニアン行列を構築します。その後、行列の対角化を行うことで系のエネルギー固有値(バンド構造)を計算し、波数空間におけるエネルギー分散関係や状態密度(DOS)を算出・可視化します。
これにより、周期ポテンシャル中の電子の振る舞いや、バンド幅に対するホッピングパラメータの影響を直感的に理解するという課題を解決します。ソースコード内に説明を記述する際は、3重引用符によるdocstring形式が用いられていることが想定されます。
tkPlot3d モジュール内の各関数について自動生成されたドキュメントを提供します。::: py:module:: tkPlot3d
:members:
:undoc-members:
:show-inheritance:
```
---
説明:
py:module ディレクティブ): ::: py:module:: tkPlot3d ディレクティブは、tkPlot3d モジュール全体をSphinxにドキュメント化させる指示です。:members:: モジュール内のすべての公開メンバー(関数、クラスなど)をドキュメントに含めます。:undoc-members:: Docstringがないメンバーもドキュメントに含めます(ただし、推奨されません)。:show-inheritance:: クラスの場合、継承関係を表示します。:param:、:returns:)はSphinxによって自動的に解析され、整形された形でHTMLドキュメントに表示されます。myst-parser: Markdownファイル内でSphinxのRSTディレクティブ (::: py:module:: など) を使用するために必要です。conf.py で有効化する必要があります。:param x: (numpy.ndarray) X座標の配列。 のような記述は、autodoc と intersphinx の設定により、numpy.ndarray のような型名がNumPyの公式ドキュメントへのリンクとして自動的に解決される可能性があります。この設定とMarkdownファイルを使用することで、Pythonコードの変更なしに、そのDocstringを基にした高品質なSphinxドキュメントをMarkdown形式で生成できます。
関連リンク: :doc:tkWavefunction_H_usage
主な機能として、以下の3つのモデル(モード)の波動関数を計算できます。
pw): 自由電子の平面波。qbox): 無限ポテンシャル障壁によって区切られた量子ドット(量子箱)。H): 水素様原子の電子軌道(s軌道、p軌道、d軌道など)。解決する課題としては、量子力学における波動関数の空間的な広がりや位相(実部と虚部)、確率密度を直感的に理解しやすくするための可視化(グラフ化)を提供することです。周期境界条件を考慮したブロッホの定理に基づく波数の変調もシミュレートできます。
温度と物理量(例えば伝導度やキャリア密度など)の測定データから、アレニウスプロットを作成し、多項式モデルによるフィッティングと活性化エネルギーの評価を行うプログラムです。
主な機能:
解決する課題:
熱活性化過程における実験データから活性化エネルギーを算出する際の、データ変換、誤差評価、および温度依存モデル(パーコレーションモデルなどの非単純なアレニウスモデル)への適応を自動化し、視覚的な評価と定量的な解析を同時に実現します。
このPythonスクリプトは、 `tkbo ライブラリを使用して1次元のBayesian Optimizationシミュレーションをアニメーションとして視覚化することを目的としています。真の目的関数 f_true を定義し、様々なモデル(ガウス過程回帰、PhysBO、ランダムなど)とAcquisition関数(UCB、EI、PI、Steinなど)を試すことができます。シミュレーションの進行状況は matplotlib` を用いてアニメーションとして描画され、GIFファイルとして保存したり、リアルタイムで表示したりできます。
f_true()` を定義します。MeanAcquisition クラスを実装し、 tkbo` に登録します。argparse` を使用して、シミュレーションモード、モデル、最大イテレーション数、出力ファイル名などの詳細な設定をコマンドラインから指定できるようにします。tkbo による最適化: 指定されたモデルとAcquisition関数に基づき、 tkbo.create_optimizer()` を用いてBayesian Optimizationのオプティマイザを構築・実行します。matplotlib.animation.FuncAnimation` を使用して、各評価ステップでのGP予測、Acquisitionスコア、観測点、次の評価点を視覚的に更新するアニメーションを生成します。このスクリプトは以下の非標準ライブラリに依存しています。
numpy`matplotlib`scikit-learn (sklearn.exceptions.ConvergenceWarning`)tkbo`以下は、このスクリプトの典型的な実行例です。
```bash
python gp_simulation_animation_tkbo.py --mode ucb --model sklearn_gpr --nmaxiter 120 --save 0 --show 1
python gp_simulation_animation_tkbo.py --mode ei --model sklearn_gpr --nmaxiter 120 --save 0 --show 1
python gp_simulation_animation_tkbo.py --mode stein --model physbo_gp --nmaxiter 120 --save 0 --show 1
python gp_simulation_animation_tkbo.py --model physbo --acquisition EI --nmaxiter 120 --save 0 --show 1
python gp_simulation_animation_tkbo.py --model random --nmaxiter 120 --save 0 --show 1
python gp_simulation_animation_tkbo.py --model random --nmaxiter 20 --outfile random.gif
```
lsq-general.py は、与えられたデータセット $ (x, y) $ に対して、複数の基底関数を用いた線形最小二乗法により曲線フィッティングを行うPythonプログラムです。主な機能と解決する課題は以下の通りです。
このプログラムは、実験データや観測データに特定の数学的モデルを当てはめたい場合や、データの傾向を分析したい場合に有用です。
lsq-polynomial.py は、与えられた数値データに対して多項式による最小二乗フィッティングを実行するPythonスクリプトです。このプログラムは、Excelファイルから2列のデータを読み込み、指定された次数の多項式でデータを近似します。計算された多項式の係数はコンソールに表示され、元のデータとフィッティング曲線を比較するグラフがリアルタイムで可視化されます。これにより、実験データや観測データから特定の傾向を抽出し、その背後にある関係を多項式モデルとして表現するデータ解析タスクを支援します。lsq_func_error_argparse.py は、一般的な非線形最小二乗フィッティングを実行するためのPythonスクリプトです。このプログラムは、ユーザーが定義したモデル関数を使用して、観測データに最もよく適合するパラメータを特定します。主な機能と解決する課題は以下の通りです。目的:
観測データに対して、ユーザーがPythonの文字列として定義した任意の非線形モデル関数を最小二乗法でフィッティングし、モデルパラメータの最適値、その標準誤差、およびモデル予測の信頼区間を推定すること。
主な機能:
x[0], x[1], ...) をサポートし、多次元データに対するフィッティングが可能です。scipy.optimize.minimize を利用して、指定された最適化手法(例:BFGS、L-BFGS-B)でモデルパラメータを最適化します。解決する課題:
D:/git/sphinx/tkProg/source/regression/mlsq_error_argparse.py は、指定された次数の多項式を用いた最小二乗法による回帰分析を実行し、その予測の不確実性を可視化するツールです。入力されたデータセットに対して多項式フィッティングを行い、得られた係数やその分散共分散行列から、モデルの予測における各種不確実性(パラメータの不確実性、残差分散を含めた予測不確実性、測定ノイズを含めた総合的な不確実性)を算出します。
計算結果はExcelファイルとして出力され、同時に matplotlib を用いたグラフとして画面上に可視化されます。これにより、フィッティング曲線の妥当性や、予測値が持つ誤差範囲を視覚的かつ定量的に評価するという課題を解決します。
なお、コード内の関数定義直後には、3重引用符で囲まれたdocstringが記述されており、各関数の入出力仕様が定義されています。
ridge_gaussian_basis.py は、与えられた2次元データ ($x, y$) に対して、ガウス基底関数を用いたリッジ回帰を実行し、データのフィッティングモデルを構築するプログラムです。このプログラムは、入力としてExcelファイルからデータを読み込み、コマンドライン引数によってガウス基底関数の数、その幅、およびリッジ正則化の強度を調整できます。主な機能は以下の通りです。
.xlsx) から $x$ と $y$ のデータセットを読み込みます。matplotlib を用いてグラフ表示します。このプログラムは、ノイズを含むデータや単純な多項式では表現しにくい複雑な形状のデータを、柔軟なガウス基底関数と正則化手法を組み合わせることで、高精度かつ安定的に近似するという課題を解決します。
ridge_kernel_gaussian.py は、ガウスカーネルを使用したカーネルリッジ回帰を実行するPythonスクリプトです。与えられた入力データ($x, y$ペア)に対して、ガウスカーネルを用いて非線形な回帰モデルを構築し、データへのフィッティングを行います。主な機能は以下の通りです。このプログラムは、線形モデルでは表現が難しい非線形な関係を持つデータに対して、柔軟なフィッティングモデルを構築し、視覚的に結果を確認することを目的としています。
scikit_regressions.py は、Excelファイルから読み込んだ数値データに対して、scikit-learn ライブラリが提供する多様な回帰モデルを適用し、その性能を評価・可視化するためのPythonプログラムです。主な機能:
解決する課題:
このプログラムは、特定のデータセットに対してどの回帰モデルが最も適しているかを短時間で評価し、モデルの性能を視覚的に分析することを支援します。また、未測定のデータポイントに対する予測値の算出も可能にし、様々な分野での意思決定に役立ちます。
scikit_regressions.py は、Excelファイルから読み込んだ数値データに対して、scikit-learn ライブラリが提供する多様な回帰モデルを適用し、その性能を評価・可視化するためのPythonプログラムです。主な機能:
解決する課題:
このプログラムは、特定のデータセットに対してどの回帰モデルが最も適しているかを短時間で評価し、モデルの性能を視覚的に分析することを支援します。また、未測定のデータポイントに対する予測値の算出も可能にし、様々な分野での意思決定に役立ちます。
convolution.csv ファイルは、時系列データやスペクトルデータなどの2Dデータセットに対して、畳み込み(コンボリューション)による平滑化処理を適用した結果を格納するデータファイルです。このファイル自体は実行可能なプログラムではありませんが、畳み込み処理の入力、その処理で得られた出力、およびその関係性を示すデータ構造を定義しています。主な機能としては、生データ (y(raw)) に含まれるノイズを低減し、より滑らかな傾向 (y(smooth)) を抽出することです。これにより、データの背後にある本質的なパターンやトレンドを視覚的に捉えやすくし、データの解釈を容易にするという課題を解決します。y(smooth) の値が y(raw) が0の領域でも非ゼロになっているのは、畳み込みカーネルが特定の幅を持ち、周囲のデータ点の影響を受けるためです。
deconvolution.py` は、1次元スペクトルデータに対し、ガウス型またはローレンツ型の装置関数(フィルタ関数)を用いて逆畳み込み演算を実行するPythonプログラムです。主に、分光データなどの測定結果から装置による広がり効果を除去し、真のスペクトル形状を回復することを目的としています。複数の逆畳み込み手法をサポートしており、コマンドライン引数を通じて選択できます。また、結果のグラフ表示とExcelファイルへの出力機能も備えています。
FFT_func.py は、ユーザーが定義した単一変数関数をサンプリングし、そのデータに対して高速フーリエ変換 (FFT) または逆高速フーリエ変換 (IFFT) を実行するPythonスクリプトです。このプログラムは、指定された関数の形状とその周波数スペクトル(または元の信号)の関係を視覚的に理解し、数値データをファイルとして保存する機能を提供します。主な機能は以下の通りです。
xmin から xmax) 内で、nx 個のデータポイントを均等にサンプリングして関数データを生成します。numpy ライブラリのFFTまたはIFFTを実行します。matplotlib を使用して、元の関数と変換後の結果(実部、虚部、絶対値)を並べて表示し、視覚的な解析を可能にします。本プログラムは、信号処理、物理学、工学などの分野におけるフーリエ変換の基本的な挙動を学習・確認するためのツールとして利用できます。
FFT_interpolate.py は、高速フーリエ変換 (FFT) を用いて周期的なデータ系列を補間し、その結果を視覚化およびExcelファイルとして出力するPythonスクリプトです。このプログラムは、特に物理学や工学分野で周期的な関数(例えば、電子バンド構造 $E(k)$ など)のデータをより密な点で評価したい場合に有用です。主な機能は以下の通りです。
このプログラムは、限られた測定点や計算点から、より滑らかで密なデータを生成し、視覚的な解析やさらなる数値計算の基盤を提供することを目的としています。
FFT_smoothing.py は、入力データに対してフーリエ変換 (FFT)、逆フーリエ変換 (IFFT)、およびFFTベースの平滑化(スムージング)を適用するためのPythonスクリプトです。主に、ノイズの多い実験データ(例:X線回折データ、時系列信号など)を解析し、その特性を明らかにする、またはノイズを除去して信号をクリーンアップすることを目的としています。主な機能は以下の通りです。
.xls, .xlsx) またはCSVファイルからデータを読み込みます。xmin, xmax) を指定して、計算対象のデータを絞り込むことができます。FFT: 入力データに対して高速フーリエ変換 (FFT) を実行し、その結果を周波数スペクトルとして出力・表示します。IFFT: 入力データに対して逆高速フーリエ変換 (IFFT) を実行し、その結果を出力・表示します。FFT smoothing: 入力データをFFTし、指定された波数範囲 (kcut0 から kcut1) の成分のみを保持して高周波ノイズ(または低周波ドリフト)を除去します。その後、逆FFTを実行して平滑化されたデータを得ます。この平滑化されたデータを出力・表示します。matplotlib を使用して、入力データ、FFT/IFFTスペクトル、平滑化されたデータなどの視覚的な結果をグラフで表示します。このプログラムは、ノイズの除去、信号の主要なトレンドの抽出、および周波数領域でのデータ解析といった課題を解決するために利用されます。
ft_exafs_scan.py は、EXAFS (Extended X-ray Absorption Fine Structure) 測定で得られたk空間データに対して、フーリエ変換 (FFT: Fast Fourier Transform) または最大エントロピ法 (MEM: Maximum Entropy Method) を適用し、動径分布関数 (R空間) を計算・解析するためのPythonスクリプトです。プログラムの目的:
EXAFSデータをk空間からR空間へ変換し、原子間距離情報(動径分布関数)を抽出すること。特に、EXAFS解析特有のR軸補正、窓関数処理、k重み付けをサポートし、複数のパラメータ設定でのスキャン解析機能を提供することで、解析の効率化と最適化を支援します。
主な機能:
.xlsx, .csv, .txt, .dat 形式のファイルからk軸と信号データを読み込みます。.xlsx) に保存します。解決する課題:
EXAFS解析において、R空間への変換は窓関数の設定、k重み付け、変換手法(FFT/MEM)の選択、MEMにおけるARモデル次数の決定など、多くのパラメータに依存します。ft_exafs_scan.py はこれらの複雑な設定を一元的に管理し、特にパラメータスキャン機能を通じて、最適な解析条件を見つけるプロセスを効率化し、結果の解釈を支援します。
smoothing.py は、測定データに含まれるノイズを除去し、データのトレンドを抽出、あるいはその微分を計算するためのPythonプログラムです。主にExcelファイルからデータセットを読み込み、指定されたX-Yデータに対して様々な平滑化手法を適用します。主な機能:
解決する課題:
科学実験や工学的測定で得られる生データには、多くの場合ノイズが含まれています。このノイズは、データの解釈を困難にし、正確な分析を妨げます。smoothing.py は、これらのノイズを効果的に除去し、データの根底にあるトレンドや構造を明らかにすることで、より信頼性の高いデータ分析を可能にします。また、データの微分を計算することで、ピーク位置の検出や変化点の特定など、データの詳細な特性を評価する手助けをします。
add_docstring.py は、指定されたPythonソースコードファイルに対して、AI(OpenAIまたはGoogle Gemini)を利用してSphinx形式のDocstringを自動的に追加するツールです。主に以下の機能を提供します。*.py) を用いて複数のファイルを一度に処理できます。--overwrite) や、入力ファイルより出力ファイルが新しい場合に処理をスキップする更新オプション (--update) を利用して、不必要なAI呼び出しやファイル変更を防ぎます。tkai_lib を通じて、OpenAIのGPTシリーズ(GPT-4、GPT-3.5など)およびGoogle Gemini(旧Bard)APIと連携します。このプログラムは、Pythonプロジェクトにおけるドキュメンテーション作業の効率化、特にDocstringの記述にかかる時間と労力を削減することを目的としています。
burst_sphinx_indexes.py は、Sphinxプロジェクトで使用されるreStructuredText (RST) ファイル内の .. toctree:: ディレクティブにおけるglobパターンを自動的に展開するPythonスクリプトです。このプログラムの主な目的は、ドキュメントの構造管理を簡素化し、新しいファイルが追加されたり既存のファイルが削除されたりした際に、手動で toctree を更新する手間を削減することにあります。主な機能:
documents/* のようなglobパターンを、実際に存在するファイル (documents/intro.rst, documents/chapter1.md など) のリストに展開します。.rst) と Markdown (.md) の両方のファイルを認識し、toctreeエントリとして追加します。Chapter One <path/to/chapter_one.rst>)。解決する課題:
Sphinxの toctree に多数のファイルを手動で追加・削除する作業は、プロジェクトの規模が大きくなるにつれて時間とエラーが発生しやすくなります。このスクリプトは、ファイルシステムの構造に基づいて toctree を自動的に生成・更新することで、この課題を解決し、ドキュメント作成のワークフローを効率化します。
check_module_name.ps1 は、Sphinxドキュメントプロジェクトの構造と命名規則の健全性をチェックするために設計されたPowerShellスクリプトです。主に以下の3つの側面からドキュメントファイルを検査します。source\cms ディレクトリ以下に存在する *_index.rst または *_index.md ファイルの命名規則をチェックします。特に、ファイル名にハイフン (-) またはアンダースコア (_) が混在している、あるいは不適切な命名がされていないかを確認し、想定外のファイル混入を検出します。source ディレクトリ以下の .rst および .md ファイル内で、以前使用されていた可能性のあるハイフン形式の参照文字列(例: N-integration-metal, smoothing-fft)が toctree ディレクティブ内などに残っていないかを検出します。これは、Sphinxのビルド時に multiple toctrees warning などの警告が発生する原因を特定するのに役立ちます。source ディレクトリ以下の .rst および .md ファイル内で、toctree ディレクティブのエントリでファイル拡張子(.rst や .md)が誤って記述されていないかを検出します。Sphinxの toctree では通常、拡張子を含めずにファイル名を指定するため、このような記述はエラーや警告の原因となることがあります。このスクリプトを実行することで、ドキュメントの整合性を維持し、ビルドエラーや警告を未然に防ぎ、効率的なドキュメント管理を支援します。
check_sphinx_api_html.py は、Sphinx で生成されたAPIドキュメントHTMLファイル(通常 *_api.html という命名規則)を走査し、Sphinx の autodoc 機能がAPI要素を適切に抽出しなかったために、本文コンテンツが空っぽに近いページを検出するスクリプトです。このプログラムの主な機能は以下の通りです。
*_api.html)に一致するすべてのHTMLファイルを再帰的に検索します。role="main" や class="document" など、Sphinx が生成する典型的なHTML構造に基づいて主要なコンテンツ領域を抽出します。<script>, <style>, <nav>, <footer>, <header> などの不要なタグとその内容を除去し、さらにすべてのHTMLタグを除去してプレーンテキストに変換します。HTMLエンティティのデコードと複数の空白の正規化も行います。autodoc が生成する典型的なAPIマーカー(例: py function, py class, sig-name など)の存在をチェックします。本文が極端に短い、またはAPIマーカーが見つからない場合、そのページはAPI取り込みに失敗したと判断します。failed_api_html.txt)に失敗したファイルのパスを一覧として書き込みます。このプログラムは、ドキュメント生成プロセスにおける autodoc の設定ミスや、ソースコードの問題によりAPIドキュメントが不完全に生成される課題を早期に発見し、不完全なドキュメントが公開されるのを防ぐのに役立ちます。
check_sphinx_api_rst.py は、Sphinxプロジェクト内のAPIドキュメントファイル (*_api.rst) を再帰的に走査し、autodoc 拡張機能が円滑に動作するために問題となりやすい記述を検出・修正するスクリプトです。主な機能は以下の通りです。
.. automodule:: ディレクティブに指定されたモジュール名に、Pythonのimport文で不適切とされるハイフン (-) やパス区切り文字 (\ や /) が含まれていないかをチェックします。__main__ ガードのチェック: .. automodule:: で指定されたモジュールに対応するPythonソースファイルが、sys.argv や argv を使用しているにもかかわらず、if __name__ == "__main__": ガードで保護されていない可能性がないかをチェックします。これにより、Sphinxがドキュメント生成時にモジュールをインポートした際に意図しないスクリプト実行を防ぎます。--fix オプションが指定された場合、検出された以下の問題を自動的に修正します(--dry-run と併用することで変更をシミュレーションできます)。automodule ディレクティブ内のモジュール名に含まれる \ や / を . に、- を _ に置換します。*_api.rst ファイル名自体(ハイフンを含む場合)をリネームします。_usage.rst、_examples.rst、_index.rst、.md ファイル内の参照(ファイル名のステム部分)も更新します。このスクリプトは、Sphinxを用いたPythonプロジェクトで、APIドキュメントの記述ミスや、ドキュメント生成時の予期せぬサイドエフェクト(例: import 時のコマンドライン引数処理)を防ぐことを目的としています。
compare_dir_files.py は、2つの指定されたディレクトリツリーを比較し、一方にのみ存在するファイルを報告するスクリプトです。特定のパターンに合致するファイルやディレクトリは比較対象から除外されます。主な目的は、開発環境やデプロイ環境におけるソースコードの同期状態を確認したり、予期せぬファイルの有無を検出したりすることです。具体的には、以下の機能を提供します。
*.py)に合致するファイルのみを比較対象とします。このツールは、特に大規模なプロジェクトで複数の環境間でのファイル構成の整合性を保つ必要がある場合に役立ちます。
---
debug_sphinx_build.py は、Sphinx autodoc がPythonモジュールのインポートに失敗する問題を診断するためのユーティリティスクリプトです。通常、Sphinxがドキュメントをビルドする際にモジュールをインポートすると、特定のライブラリ(例: Qt、Tk、matplotlib のバックエンドなど)がグローバルな状態に副作用を残し、後続のモジュールのインポートに影響を与えることがあります。このスクリプトは、この問題を解決するために以下の機能を提供します。source ディレクトリ配下にある各Pythonファイル (.py) を、それぞれ独立した子プロセスでインポートします。これにより、インポートによる副作用が他のファイルに波及するのを防ぎ、各ファイルが独立してインポート可能かを確認できます。conf.py の autodoc_mock_imports 設定の尊重: conf.py ファイルで定義されている autodoc_mock_imports の設定を読み込み、該当するモジュールをダミーモジュールとしてモックします。これにより、実際の環境でインストールされていない依存ライブラリがあってもインポートエラーを回避し、Sphinxビルド時の挙動をエミュレートします。--mock を使用して、conf.py の設定とは別に、追加でモックするモジュールを指定できます。--keep-going オプションや、インポートに成功した子プロセスの出力も表示する --show-child-output オプションを提供します。conf.py や特定の命名規則 (_docstring で終わるファイル、_数字 で終わるファイル) に合致するファイルは、診断の対象から自動的にスキップされます。このプログラムは、Sphinx autodoc ビルドが途中で停止したり、予期しないインポートエラーが発生したりする場合に、どのモジュールがどのような理由でインポートできないのかを特定し、デバッグの効率を大幅に向上させることを目的としています。
explain_program5.py は、指定されたプログラムコードを解析し、AI(OpenAIまたはGoogle Gemini)を利用してその技術ドキュメントをMarkdown形式で自動生成するツールです。プログラマーが手動でドキュメントを作成する手間を大幅に削減し、効率的なドキュメント生成を可能にします。このプログラムの主な機能は以下の通りです。
*.py)を使用して複数のプログラムファイルを一括で処理できます。本プログラムは、特に大規模なプロジェクトにおいて、多数のスクリプトやモジュールのドキュメントを迅速かつ一貫性のある形式で作成する際に役立ちます。
files2md_tags.py は、指定されたファイルパターンに基づいてファイルを処理し、Markdown形式のドキュメントセクションを生成するPythonスクリプトです。このスクリプトの主な目的は、画像ファイルからサムネイルを自動生成し、それらを含むMarkdownの画像一覧を作成すること、および画像以外のデータファイルへのリンク一覧を作成することです。生成される出力は、Sphinxや一般的なMarkdownパーサーでそのまま利用できる形式になっています。主な機能:
*.png, data_*.txt)を受け取り、マッチするすべてのファイルを処理します。--updateオプション)、または強制的に上書きする(--overwriteオプション)機能を提供します。解決する課題:
make_sphinx_files.py は、PythonスクリプトのSphinxドキュメント生成プロセスを自動化し、効率化するためのユーティリティスクリプトです。特定のPythonスクリプトを対象として、以下の主要な機能を提供します。add_docstring.py を利用し、指定されたPythonスクリプトの関数、クラス、メソッドにDocstringを自動で生成・追加します。explain_program5.py を利用し、指定されたPythonスクリプトの概要や動作原理に関する解説を生成します。__init__.py、index.template、[スクリプト名]_index.rst、[スクリプト名]_api.rst などのファイルを自動的に作成します。[スクリプト名]_examples.md) のテンプレートを作成します。このテンプレートには、対象スクリプトの --help 出力や、同一ディレクトリ内で検出された関連する画像・データファイルへの参照が自動的に埋め込まれます。このスクリプトは、Sphinxを用いたPythonプロジェクトのドキュメント作成において、手動でのファイル作成、Docstringやプログラム解説の記述にかかる手間を大幅に削減し、ドキュメントの整合性を維持することを目的としています。
analyze_TFT_refactored.py` は、TFT(薄膜トランジスタ)の伝達特性(Id-Vg特性)をExcelファイルから読み込み、解析するためのPythonスクリプトです。線形領域と飽和領域の伝達曲線データから、Vth(しきい値電圧)、移動度(mobility)、SS(サブスレッショルドスイング)、Ion(オン電流)などの主要なTFTパラメータを計算します。スクリプトは、デフォルトで以下のファイル名と互換性を持つように設計されています。
IdVg-Vd0.1.xlsx、IdVg-Vd10.xlsx`IdVg-Vd10_analyze.csv、IdVg-Vd0.1_analyze.csv、output.csv、output_log.csv、rootIdVg.png、IdVg_LIN.png`tft.py プログラムは、薄膜トランジスタ (TFT: Thin Film Transistor) の電気的特性シミュレーションと構造の視覚化を目的としたPythonアプリケーションです。主な機能は以下の通りです。
本プログラムは、TFTの設計や解析において、その電気的振る舞いを予測し、構造を視覚的に理解するためのツールとして機能します。
tftanalyze.py は、TFT (Thin-Film Transistor) のn-チャネルデバイスにおけるI-V特性(伝達特性 (ID-VG) および出力特性 (ID-VD`))データを解析し、結果をExcelレポートとPNGプロットとして出力するためのPythonスクリプトです。このツールは、CSV形式の測定データを自動的にエンコーディングを検出して読み込み、伝達特性データから閾値電圧 (`Vth)、移動度 (Mobility)、サブスレッショルドスイング (S) などの主要なデバイスパラメータを抽出します。また、出力特性データから線形領域のコンダクタンス (gd) や移動度 (mu_lin, mu_eff`) を評価します。データの平滑化にはサビツキー・ゴレイフィルターをサポートしており、解析結果はインタラクティブなグラフ表示とPNGファイルとして保存されます。全ての解析結果、生データ、平滑化データはExcelファイルに集約されて出力されます。
関連リンク: `tftanalyze_usage`
tkapplication_cgi.py は、CGI (Common Gateway Interface) 環境下で動作するWebアプリケーションをPythonで開発する際に利用されるユーティリティライブラリです。既存の tkApplication クラスを継承し、CGI特有の機能(HTTPリクエスト処理、HTML出力、フォームデータ解析、基本的なセキュリティチェック)を追加することで、サーバーサイドスクリプトの作成を簡素化することを目的としています。主な機能は以下の通りです。
../, //, 特殊文字)を検出し、セキュリティ上のリスクを軽減するための簡易的な検証機能を提供します。このライブラリを使用することで、PythonによるCGIスクリプト開発において、低レベルなHTTPヘッダーの操作やフォームデータのパースといった共通タスクから開発者を解放し、アプリケーションのビジネスロジックに集中できるようになります。
tkapplication.py は、Pythonアプリケーション開発のための強力な基盤クラス tkApplication を提供するライブラリです。このライブラリの主な目的は、アプリケーション開発において共通的に必要となる様々なユーティリティ機能(コマンドライン引数の解析、設定ファイルの管理、時間計測、出力リダイレクト、エラーハンドリング、プラグインモジュールのロードと呼び出しなど)を集約し、開発者がビジネスロジックに集中できるようにすることです。主な機能:
このライブラリは、特にコマンドラインツールやGUIアプリケーションのバックエンドとして、共通のロジックやインフラストラクチャを再利用可能な形で提供し、開発効率の向上とコードの一貫性を目指しています。
tkargs.py は、Python標準ライブラリの argparse.ArgumentParser と、外部ライブラリ tklib の tkObject クラスを継承して作られたカスタムコマンドライン引数パーサーです。主な目的と機能は以下の通りです。
argparse.ArgumentParser の強力な機能を継承しつつ、独自のヘルパーメソッドを提供することで、コマンドライン引数の定義を簡素化します。tkObject を継承することで、一般的なオブジェクト管理機能(例えば、オブジェクトの属性を表示する機能など)とコマンドライン引数パーサーを統合します。これにより、大規模なアプリケーションにおいて、コマンドライン引数も他の設定と同様に管理しやすくなります。float 型や int 型の引数を追加するための専用メソッド add_floatarg や add_intarg を提供し、引数定義の簡潔さを向上させます。このライブラリは、特に tklib エコシステム内で、アプリケーションの起動時オプションを柔軟に設定し、同時にプログラム自身の詳細情報を提供する必要がある場面で役立ちます。
tkBase.py は、主にCGIスクリプトやシンプルなウェブアプリケーションの構築を補助するために設計されたPythonライブラリです。ウェブ環境での開発において頻繁に必要となる基本的な機能を提供し、開発者がアプリケーションのロジックに集中できるようにします。主な機能は以下の通りです。
<html>, <head>, <body> タグなど)の生成を簡素化します。このライブラリは、特に軽量なウェブアプリケーションやツールにおいて、エラー表示の改善、HTML出力の定型化、設定管理、ファイルパス操作といった共通の課題を解決することを目的としています。
tkCGIApplication.py は、PythonでCommon Gateway Interface (CGI) アプリケーションを構築するためのフレームワークを提供するライブラリです。CGIアプリケーションの開発を簡素化し、リクエストのルーティング、HTMLやJSON形式でのレスポンス生成、エラーハンドリング、セキュリティ機能、ロギング、アカウント認証、メール送信などの一般的なWebアプリケーション機能を統合します。主な目的は以下の通りです。
tkFormData.py は、CGI (Common Gateway Interface) 環境下で動作するPythonスクリプトが、HTTPリクエストによって送信されるフォームデータを効率的に解析するためのライブラリです。特に、GETリクエストのクエリ文字列と、POSTリクエストの application/x-www-form-urlencoded 形式、そしてファイルアップロードを含む multipart/form-data 形式の両方に対応しています。主な機能は以下の通りです。
QUERY_STRING 環境変数からURLエンコードされたパラメータを解析し、辞書形式で提供します。application/x-www-form-urlencoded 形式に類似)を解析し、辞書形式で提供します。multipart/form-data 形式のデータを解析し、フォームフィールドとアップロードされたファイルの両方を分離して提供します。multipart/form-data で送信されたファイルは、ファイル名とバイナリコンテンツとして取得できます。このライブラリは、CGIアプリケーション開発者がHTTPリクエストの複雑なデータ解析ロジックを自前で実装する手間を省き、ビジネスロジックに集中できるようにすることを目的としています。
tkHTMLDocument.py は、PythonプログラムからHTML要素をオブジェクトとして表現し、プログラム的にHTMLドキュメント構造を構築するためのライブラリです。主な目的と機能は以下の通りです。append_child メソッドなどを使用して、要素の親子関係を簡単に構築できます。script タグや escape=False を指定した場合を除く)。outerHTML や innerHTML といったプロパティを通じて、最終的なHTML文字列を簡単に取得できます。<table>) を作成し、ヘッダーやデータ行を追加するコンビニエンスメソッドを提供します。このライブラリは、動的にHTMLコンテンツを生成する必要があるWebアプリケーションのバックエンド処理や、静的なHTMLレポートの生成など、PythonでHTMLを操作する様々なシナリオで役立ちます。
tkatomsite.py ライブラリは、結晶構造における原子サイトの情報を管理するための tkAtomSite クラスを提供します。このクラスは tklib.tkcrystal.tkatomsiteobject.tkAtomSiteObject を継承しており、原子のラベル、名前、電荷、位置座標、占有率、Wyckoff記号などの詳細な属性を保持することを目的としています。主に、結晶構造解析や材料科学シミュレーションの文脈で、個々の原子の配置や特性をプログラム上で効率的に扱うための基盤を提供します。
tkatomsiteobject.py は、結晶学や材料科学における「原子サイト(atom site)」の情報を管理するためのPythonライブラリです。このライブラリは、単一の原子サイトに関連する多岐にわたる属性(原子タイプ、位置、電荷、占有率、力、速度、ラベル、IDなど)を一元的にカプセル化し、オブジェクト指向的な方法で操作する機能を提供します。主な目的と機能は以下の通りです。
tklib.tkobject.tkObject の継承: より汎用的なオブジェクト機能を提供する tkObject を継承しており、基本的なオブジェクト管理機能(例: クラスパスの取得)も利用可能です。このライブラリは、結晶構造データ(CIFファイルなど)の読み込み、処理、操作を行うアプリケーションの基盤となる原子サイト表現として利用されることを想定しています。
tkatomtype.py ライブラリは、主にX線回折や結晶学の分野で利用される原子に関する様々な情報を取り扱うための機能を提供します。原子の物理的特性(質量、電荷、原子半径など)、原子散乱因子(ASF: Atomic Scattering Factor)、異常散乱因子(ASF: Anomalous Scattering Factor)、イオン半径などのデータベースとの連携と計算を目的としています。主な機能は以下の通りです。
PERIODIC.CSV) から原子の基本情報を読み込みます。Shannon_Ionic_Radii.txt) を読み込み、特定のイオンの半径情報を取得します。asfdc) から原子散乱因子を計算するためのパラメータを読み込み、指定された $s = \sin\theta / \lambda$ 値に対応する原子散乱因子を計算します。tkAtomType クラスを通じて、特定の原子タイプに関連する情報を一元的に管理し、上記のような計算やデータ取得を容易にします。このライブラリは、結晶構造解析ソフトウェアやシミュレーションツールの一部として、原子の物理的・散乱特性を扱う場面で利用されることを想定しています。
tkatomtypeobject.py は、原子の型(atom type)とその関連情報(原子番号、質量、電荷など)を管理し、取得するためのユーティリティ関数とクラスを提供するPythonライブラリです。主に、原子のデータベースファイル(INI形式)から情報を読み込み、原子名や原子番号に基づいて標準化された原子情報を抽出・解析することを目的としています。このライブラリは、以下のような課題を解決します。
Sr.a[b]2+)から、基本となる原子名、サイトタイプ、電荷などの要素を正確に解析します。tkcrystal など、コメントアウトされたインポートから推測される) において、原子の情報を一元的に管理・提供する基盤として機能します。tkbandstructure.py は、計算化学や物性物理学の分野で得られる電子バンド構造を視覚的に表現するためのPythonライブラリです。特に、Matplotlibと連携してバンド構造図を簡単にプロットすることを目的としています。主な機能は以下の通りです。
Axes オブジェクト上に描画します。このライブラリは、計算結果の解析やプレゼンテーション資料の作成において、クリアで情報 rich なバンド構造図を迅速に生成することで、研究者の作業を支援します。
tkboltztrap.py ライブラリは、第一原理計算に基づく熱電輸送特性計算ソフトウェアである BoltzTraP の計算結果を解析・処理するためのツール群を提供します。具体的には、BoltzTraPが出力する様々なファイル(.outputtrans, .transdos, .trace, .condtens, .halltens など)を読み込み、そこから伝導率、ゼーベック係数、熱伝導率、ホール係数などの物理量を抽出・整形する機能を提供します。さらに、このライブラリは、VASP(Vienna Ab initio Simulation Package)などの第一原理計算コードの出力ファイル(DOSCAR, EIGENVAL など)を読み込み、バンド構造情報(DOS、バンドエッジ、フェルミエネルギーなど)を解析する機能も備えています。これにより、BoltzTraP計算の入力準備や結果の物理的な解釈を支援し、熱電材料の特性評価ワークフローを効率化することを目的としています。
このライブラリは、主にtkBoltzTraPクラスを中心に構成されており、熱電輸送特性のデータ処理をオブジェクト指向的に行うことができます。
tkcif2pymatgen.py ライブラリは、tkCIF.py のような外部ライブラリによってパースされた tkCrystal オブジェクトを、Python の人気のある物質科学ライブラリ pymatgen の Structure オブジェクトに変換することを目的としています。主な機能は以下の通りです。
tkCrystal オブジェクトから格子パラメータ($a, b, c, \alpha, \beta, \gamma$)を抽出します。tkCrystal オブジェクト内の各原子サイトから、元素記号、占有率、分率座標を読み取ります。pymatgen の Species 表現(辞書形式)に適切に変換します。pymatgen.core.Structure オブジェクトを構築し、返します。このライブラリは、tkCIF.py などが提供する結晶構造データ形式と pymatgen のデータ構造との間の相互運用性を提供し、異なるツール間でのデータ変換と解析を容易にすることを課題としています。
tkcif.py ライブラリは、Crystallographic Information File (CIF) の解析と管理を目的としています。このライブラリは、CIFファイルから結晶構造情報を抽出し、Pythonオブジェクト (tkCIFData や tkCrystal) として表現することで、プログラムによる結晶データのアクセス、操作、および再保存を容易にします。主な機能は以下の通りです。
tklib.tkcrystal.tkcrystal パッケージの tkCrystal オブジェクトを生成し、結晶学的なプロパティにアクセスできるようにします。このライブラリは、結晶学研究や材料科学分野でのデータ処理、シミュレーション前処理、結果の可視化など、CIFデータをプログラムで扱う必要があるシナリオで役立ちます。
tkcifobject.py は、CIF (Crystallographic Information File) 形式のデータをPythonで扱うためのライブラリです。結晶学における標準的なデータ交換フォーマットであるCIFファイルの読み込み、解析、そして別の形式(tklib.tkcrystal.tkcrystal.tkCrystal オブジェクト)への変換、またはCIF形式での書き出し機能を提供します。このライブラリの主な目的は以下の通りです。
tkCrystal) に変換し、他の結晶学計算やシミュレーションで利用しやすくします。これにより、研究者や開発者はCIFファイルの手動解析の手間を省き、Pythonプログラム内で結晶構造データをシームレスに利用・操作できるようになります。
tkcrystal.py は、結晶構造の管理と解析を目的としたPythonライブラリです。tkCrystal クラスを中心に、結晶構造に関する様々な情報(格子定数、空間群、原子サイト、密度、化学組成など)を取得・表示し、データを辞書形式に変換したり、3Dで可視化したりする機能を提供します。主な機能は以下の通りです。
このライブラリは、結晶学や材料科学の分野において、結晶構造データの処理、解析、および可視化を支援することを目指しています。
tkcrystalobject.py ライブラリは、Pythonで結晶構造データをオブジェクト指向で管理、操作、計算するためのフレームワークです。結晶構造に関する多様な情報(格子パラメータ、空間群、原子タイプ、原子サイト、化学組成など)を一元的に保持し、それらの情報を基に様々な結晶学的な計算や解析を実行することを目的としています。
主な機能は以下の通りです。
このライブラリは、結晶構造データの表現、解析、およびシミュレーションを行うアプリケーション開発において、基盤となる機能を提供することで、複雑な結晶学計算の簡素化と効率化に貢献します。
tkpymatgen.py は、物質科学における結晶構造の解析と可視化を目的としたPythonライブラリです。主に pymatgen ライブラリの機能に基づき、結晶構造データの読み込み、対称性解析、組成情報の抽出、そして3Dグラフィカルな構造描画(アニメーション機能を含む)を提供します。VASP (Vienna Ab initio Simulation Package) の出力ファイル (vasprun.xml, POSCAR) の処理にも対応しており、計算結果の解析や表現を支援します。このライブラリは以下の主要な機能を提供します。
vasprun.xml, POSCAR) から結晶構造を読み込み、pymatgen.core.structure.Structure オブジェクトとして管理します。pymatgen.symmetry.analyzer.SpacegroupAnalyzer を用いて、空間群情報、対称操作、サイト等価性などの構造対称性を解析します。matplotlib を利用して結晶構造の3D描画を行います。原子はサイズと色で区別され、結合や単位胞の描画、さらに原子の変位ベクトルを表現するアニメーション機能も備えています。tklib の tkObject を継承しているため、TkinterなどのGUIフレームワークと連携しやすいように設計されている可能性がありますが、提供されたコードからはGUIインターフェースそのものは直接含まれていません。物質研究者が計算結果を素早く視覚化し、構造的な特徴を理解するためのツールとして機能します。
tkrietan.py ライブラリは、粉末X線回折データ解析ソフトウェアであるRIETANに関連する科学計算機能とデータ処理機能を提供します。主に以下の目的と機能を持っています。このライブラリは、特に結晶学、材料科学分野の研究者がX線回折データや電子線回折データを扱う際に、基礎となる物理量の計算やRIETANとの連携のためのユーティリティとして利用されることを想定しています。
tkspacegroup.py は、結晶学における空間群(Space Group)に関する情報を管理、解析、および利用するためのPythonライブラリです。主な目的は以下の通りです。spgr.daf など)から、空間群の詳細情報を読み込む機能を提供します。このライブラリは、結晶構造モデルの構築、シミュレーション、データ解析など、空間群の厳密な取り扱いが要求される場面で利用されることを想定しています。
tkspacegroupobject.py は、Tklibフレームワークの一部として、空間群(Space Group)に関連するオブジェクトを抽象的に表現するためのPythonライブラリです。このライブラリは tklib.tkobject.tkObject クラスを継承しており、基本的なオブジェクト管理機能を提供します。現時点での実装では、具体的な空間群のデータ構造や、その操作(例: 対称操作、点群の計算など)は含まれていません。しかし、コンストラクタ (__init__)、デストラクタ (__del__)、および文字列表現 (__str__) のための基本的なオーバーライドが提供されています。ソースコード中のコメントアウトされた tkcrystal.tkcrystalobject.tkCrystalObject の記述から、将来的に結晶構造データとの連携や、より高レベルな結晶学的な機能への拡張が意図されていることが伺えます。
したがって、このライブラリは、空間群オブジェクトを扱うための基盤クラスとして機能し、将来的な機能拡張のためのプレースホルダーとして位置づけられます。
tkvasp.py は、VASP (Vienna Ab initio Simulation Package) の計算結果ファイルを解析し、その内容をPythonオブジェクトや辞書形式で簡単にアクセスできるように設計されたライブラリです。主な目的は、VASPの多様な出力ファイル(INCAR, POSCAR, POTCAR, KPOINTS, OUTCAR, DOSCAR, EIGENVAL, vasprun.xml など)から、結晶構造、電子構造(バンド構造、状態密度)、計算設定、エネルギー情報、電荷・磁化情報といった重要なデータを抽出することにあります。このライブラリは、VASP計算の自動解析やデータ処理パイプラインの構築を支援し、計算結果の可視化や分析を容易にします。tklib という独自のライブラリ群に依存しており、特に tkCrystalObject を継承することで、結晶学的な操作や情報管理とVASPのデータ解析を統合しています。
解決する課題としては、VASPの出力ファイル形式が複雑であること、およびそれらのファイルから必要な情報を手動で抽出する手間を省き、プログラマティックなアクセスを可能にすることが挙げられます。
tkvesta.py は、結晶構造可視化ソフトウェアであるVESTAに関連するデータ、特に原子の特性情報をPythonプログラム内で簡単に利用できるように設計されたライブラリです。主な機能は以下の通りです。
elements.ini ファイルから、原子番号、原子名、各種半径(原子半径、ファンデルワールス半径、イオン半径)、および表示色などの詳細な原子特性データを読み込みます。tklib との連携: 内部的に tklib ライブラリのユーティリティ関数や設定パスを利用しており、VESTA関連のファイルパス解決や数値型変換をサポートします。このライブラリは、VESTAの原子データを利用して物質科学系のシミュレーションやデータ解析を行う際に、原子ごとの詳細なパラメータを手動で管理する手間を省き、データの整合性を保ちながら効率的な開発を支援することを目的としています。
tkxrd.py ライブラリは、結晶学およびX線回折 (XRD) データ処理に関連する基本的な定数、ユーティリティ、およびオブジェクトモデルを提供するPythonモジュールです。Xray_wavelengths 辞書を提供します。numpy および tklib の科学計算モジュールから、度数/ラジアン変換に最適化された多くの数学関数を内部的に利用します。tklib フレームワークの一部として、プログラム変数管理、ファイル操作、INIファイル解析、および結晶学に特化した科学計算をサポートします。tkCrystalObject (結晶構造データ) や tkSpaceGroup (空間群情報) などのクラス定義を内部的に利用し、構造解析におけるデータ表現の基礎を提供します。tkcsv.py は、CSV (Comma Separated Values) ファイルの読み書きを容易にするためのPythonライブラリです。特に、数値データの抽出や特定のフォーマットでのCSVファイル出力に特化しています。主な機能は以下の通りです。
'x', 'y(raw)', 'y(smooth)') を持つCSVファイルにデータを書き出す機能を提供します。tklib.tkdatafile.tkDataFile クラスを継承しており、基本的なファイルパス管理、モード指定、開閉処理などのファイル操作基盤の上にCSV固有の処理を構築しています。このライブラリは、生の csv モジュールを直接使用するよりも、特定のデータ構造(ヘッダと数値列)を扱いやすくし、CSVから行列形式のデータを抽出する際の型変換を自動化することで、開発者の手間を軽減することを目的としています。
tkdatafile.py は、tklib ライブラリの一部として提供されるデータファイル操作のためのPythonライブラリです。これは主に、ラベルとそれに紐づくデータ配列を持つ構造化されたテキストデータを扱うことを目的としています。基底クラスである tkFile の機能を拡張し、データの検索、取得、変換機能を提供します。主な機能は以下の通りです。
labelarray (ラベルのリスト) と datalistarray (データ配列のリスト) を内部に保持し、構造化されたデータを取り扱います。float や int などの指定された型に一括で変換する機能を提供します。このライブラリは、実験データ、設定ファイル、ログファイルなど、特定のヘッダー(ラベル)の下に数値データが並ぶ形式のファイルをプログラム的に解析し、必要なデータ要素を柔軟に抽出する場面で特に有用です。
tkdebug.py は、Pythonプログラムにおけるデバッグ出力を簡素化し、その方法を柔軟に切り替えるための軽量なライブラリです。主な目的は、開発者がデバッグメッセージを print 関数のような感覚で記述できるAPI (dbg) を提供しつつ、その出力を標準出力(コンソール)へ行うか、ログファイルへ行うかを簡単に設定できるようにすることです。このライブラリは以下の課題を解決します。
print 関数と類似したAPI (dbg) を提供することで、デバッグコードの記述を直感的で簡単なものにします。tkexcel_db.py ライブラリは、Microsoft Excelファイルをリレーショナルデータベースのように扱うためのクラス tkExcelDB を提供します。特に、Excelシート内のデータをSQLのSELECT文に似た条件で検索し、抽出する機能に重点を置いています。このライブラリは、openpyxl を利用してExcelファイルの読み書きを行い、pandas を利用してDataFrame形式でのデータ操作を可能にします。また、親クラスである tklib.tkexcel.tkExcel の機能を継承・拡張しており、Excelファイル操作の基本的な機能に加えて、条件に基づいた高度なデータ検索ロジックを提供することで、大量のデータが格納されたExcelファイルを効率的に扱うことを目的としています。
主な機能は以下の通りです。
"カラム名 == 値" や "カラム名 like '正規表現'") に基づくデータの検索。tkexcel.py ライブラリは、Microsoft Excel (.xlsx, .xlsm) ファイル、CSVファイル、および一般的なテキストファイルを操作するための高レベルなインターフェースを提供します。openpyxl や msoffcrypto といった下位レベルのライブラリをラップすることで、開発者はより直感的かつ簡潔なコードでExcelファイルを扱うことができます。主な機能:
msoffcrypto-tool を使用して、パスワードで保護されたExcelファイルの復号と読み込み。解決する課題:
tkexcel.py は、openpyxl などの低レベルなExcel操作ライブラリを直接使用する際の複雑さを軽減し、以下のような課題を解決します。
tkfile.py は、Pythonの標準的なファイル操作を拡張し、特にファイルエンコーディングの自動検出と、正規表現に基づく高度なファイル内容の検索・操作を容易にするためのユーティリティライブラリです。tklib フレームワークの一部として設計されており、tkObject クラスを継承することで、共通のエラーハンドリングや汎用的なユーティリティ機能を共有しています。このライブラリの主な目的は以下の課題を解決することです。
tkre モジュールを介して提供します。主な機能は tkFile クラスによって提供され、ファイルの読み書き、ポインタ操作、そして正規表現を用いたコンテンツベースのファイルナビゲーションを可能にします。
tkfilter.py ライブラリは、tklib パッケージの tkObject クラスを継承したフィルタリングモジュールを提供します。このライブラリの主な目的は、外部のデータファイル(例えば、実験データやスペクトルデータなど)から特定の情報を動的に読み込み、抽出し、管理するための共通フレームワークを提供することです。具体的には、以下の機能を提供します。
tklib.tkutils のデータ表示ユーティリティをラップし、整形された出力機能を提供します。このライブラリは、データ分析や処理のワークフローにおいて、多様なデータソースからのデータ取得を抽象化し、一貫したインターフェースでアクセスできるようにすることで、開発の効率化とコードの再利用性を高めることを目指しています。
tkopengl.py は、PythonのPyOpenGLとGLUTライブラリを利用して3Dグラフィックスの描画を簡素化するためのユーティリティライブラリです。主に以下の機能を提供します。tkPlot3d.py は、Pythonの matplotlib ライブラリを拡張し、3Dデータの可視化を容易にするためのユーティリティ関数を提供するライブラリです。特に、科学技術計算やデータ分析の分野で、3次元空間におけるデータ分布、表面、等値面などを効率的にプロットすることを目的としています。主な機能は以下の通りです。
plot_surface3d)。marching_cubes アルゴリズムを用いた3D等値面プロット (plot_isosurface3d)。plot_scatter3d)。plot_contour2d_xy, plot_contour2d_yz, plot_contour2d_zx)。このライブラリは、複雑な matplotlib の3Dプロット設定をカプセル化し、ユーザーがより簡潔なコードで高品質な3Dグラフィックを生成できるようにすることで、可視化の課題を解決します。
tkplot_pyplot.py は、Pythonの強力なグラフ描画ライブラリである matplotlib.pyplot を拡張し、より高度なインタラクティブ機能やTkinterアプリケーションへの組み込みを容易にすることを目的としたライブラリです。主な機能は以下の通りです。
matplotlib.pyplot の基本的な描画関数(例: subplots, legend)をラップし、追加の機能や設定を提供します。tkPlot_tkinter ライブラリと連携し、MatplotlibのプロットをTkinterのGUIアプリケーションに組み込むためのインターフェースを提供します。これにより、MatplotlibのグラフをTkinterウィンドウ内で表示・操作できます。tklib の tkPlotEvent や RangeSelector といった機能を利用し、より高度なイベント処理やインタラクティブな選択機能の実装をサポートする基盤を提供します。このライブラリは、Matplotlibの柔軟性とTkinterのGUI構築能力を組み合わせることで、動的でユーザーフレンドリーなデータ可視化ツールを開発する際の課題を解決します。
tkplot_tkinter.py は、Pythonの強力なグラフ描画ライブラリである Matplotlib で作成された図を、Tkinter ベースのグラフィカルユーザーインターフェース (GUI) アプリケーションに埋め込むためのユーティリティを提供します。このライブラリの主な目的は、Matplotlib のプロット機能を Tkinter ウィンドウ内で利用しやすくし、インタラクティブなデータ可視化アプリケーションの開発を支援することです。主な機能は以下の通りです。
Figure オブジェクトを Tkinter キャンバスに簡単に埋め込みます。subplots、legend、tight_layout)を tkPlot_tkinter クラスのメソッドとしてラップし、簡潔なAPIで利用できるようにします。これにより、科学技術計算やデータ分析アプリケーションにおいて、柔軟で応答性の高いグラフ表示機能を実現することが可能になります。
tkplot.py ライブラリは、Pythonの著名なグラフ描画ライブラリである matplotlib の機能を抽象化し、より扱いやすくすることを目的としています。特に、複数のサブプロットの管理、プロットデータの動的な更新、および基本的なグラフ描画操作を簡素化します。このライブラリの主な機能は以下の通りです。
matplotlib.figure.Figure オブジェクトの生成と管理。matplotlib.axes.Axes オブジェクト)の追加、初期化、および管理。tkplot.py は、matplotlib を直接操作する際に発生する冗長なコード記述を削減し、特にGUIアプリケーションなどでの動的なデータ表示や、複数のグラフを効率的に管理する必要がある場面で、開発者の負担を軽減することを課題解決の目標としています。
tkplotevent.py ライブラリは、Matplotlibのプロットイベントを処理し、インタラクティブな機能を提供するPythonユーティリティモジュールです。このライブラリは、TkinterとMatplotlibを連携させ、ユーザーがグラフとより直感的に対話できるようにすることを目的としています。主な機能は以下の通りです。
mplcursors によるデータアノテーション: マウスホバー時にデータ点に関する詳細なアノテーション(ツールチップ)を表示し、クリック時にはコンソールに出力します。このライブラリを利用することで、Matplotlibの静的なグラフに動的な操作性を持たせ、データ探索や分析の効率を高めることが可能になります。
tkapplication_gui.py は、tklib.tkapplication.tkApplication を基盤として、Tkinterを用いたグラフィカルユーザーインターフェース(GUI)アプリケーションを構築するための高レベルな機能を提供するライブラリです。このライブラリの主な目的は以下の通りです。
これにより、開発者はTkinterアプリケーションの定型的なコード記述を減らし、アプリケーションの主要なロジックに集中できるようになります。
tkmenu_popup.py は、Python の標準 GUI ライブラリである Tkinter を使用して、指定されたウィジェットにマウスカーソルが重なったときに自動的に表示され、離れたときに非表示になるポップアップメニューを実装するためのライブラリです。主な機能は以下の通りです。
Menu ウィジェットをラップし、扱いやすい形でポップアップメニューを作成。Enter(進入)および Leave(離脱)イベントにメニューの表示/非表示機能を自動的にバインド。このライブラリは、特定のウィジェットにカーソルを重ねたときに情報を表示したり、操作オプションを提供したりする、ツールチップのようなインタラクティブなメニューを実装する際に役立ちます。
tksimple_gui.py は、Pythonの標準GUIライブラリである tkinter を使用したグラフィカルユーザーインターフェース(GUI)の作成を簡素化するためのユーティリティライブラリです。特に、GUIウィジェットの定義と管理、ユーザー入力とプログラム変数の連携、および基本的なGUIレイアウトの構築を容易にすることを目的としています。主な機能は以下の通りです。
Entry、Button、Label、Listbox、Combobox、Checkbox、Radiobutton、ファイルパス選択などの様々なウィジェットを容易に定義し、配置できます。StringVar、IntVar、DoubleVar、BooleanVar などの tkinter 変数を通して自動的に連携させ、ウィジェットからの入力をプログラム変数に反映させることが可能です。tkinter.simpledialog.Dialog を拡張し、宣言的に定義されたウィジェットリストに基づいてカスタム設定ダイアログを簡単に作成できます。Listbox にスクロール機能を追加した tkScrolledListbox を提供します。このライブラリは、複雑な tkinter のAPIを直接操作することなく、構造化された方法でGUIを構築したい開発者にとって有用です。特に、設定画面やデータ入力フォームなど、定型的なGUI要素を迅速に作成する場合に、コードの記述量を減らし、可読性を向上させることを目指しています。
tktkinter.py は、Tkinterウィジェットのラッパー関数とカスタムウィジェットを提供するPythonモジュールです。このライブラリの主な目的は、Tkinterアプリケーション開発を簡素化し、よりリッチで使いやすいUIコンポーネントを提供することにあります。提供される主な機能は以下の通りです。
folder_button_click) やファイル選択・保存 (path_button_click) のダイアログを表示する機能を提供します。tkEntry や tkSpinbox、ラベルと入力フィールドを組み合わせた LabelEntryFrame や PathFrame、範囲指定のための RangeFrame など、拡張された入力ウィジェットを提供します。Canvas 関数を通じて、MatplotlibのグラフをTkinterアプリケーション内に埋め込み、スクロールバーの有無やサイズ調整、マウスイベントハンドリングを設定できる機能を提供します。tkSetupDialog および tkCustomDialog_by_config を使用して、アプリケーションの設定を動的に生成・管理できる高度なダイアログ機能を提供します。これにより、外部エディタのパス設定や各種オプションの切り替えなど、複雑な設定UIを柔軟に構築できます。このライブラリは、Tkinterをベースとしたデスクトップアプリケーションにおいて、定型的なUI実装の手間を削減し、開発者がよりアプリケーションのロジックに集中できるようにすることを目的としています。
tktooltip.py は、PythonのGUIライブラリであるTkinterにおいて、任意のウィジェットにツールチップ機能を追加するためのシンプルなライブラリです。このライブラリの主な機能は以下の通りです。
このライブラリは、Tkinterが標準で提供していないツールチップ機能を簡単に実装できるようにすることで、ユーザーインターフェースの使いやすさを向上させることを目的としています。ウィジェットの機能を補足説明したり、ユーザーにヒントを提供したりする際に役立ちます。
tkimport.py ライブラリは、Pythonモジュールのインポート処理をより堅牢かつユーザーフレンドリーにするためのユーティリティを提供します。特に、アプリケーションが必要とする外部モジュールが存在しない場合に、分かりにくいエラーで終了するのではなく、ユーザーに不足しているモジュールのインストール方法を案内することを目的としています。また、一度インポートしたモジュールをキャッシュすることで、複数回のインポートによるオーバーヘッドを避けることができます。主な機能は以下の通りです。
pip や conda でインストールする方法の例を提示します。このライブラリは、特にGUIアプリケーション(tklib との関連から推測されます)などのように、複数の外部依存を持つプログラムにおいて、起動時の依存モジュールチェックとそのフィードバックを標準化し、ユーザーエクスペリエンスを向上させる課題を解決します。
tkinifile.py は、PythonアプリケーションでINI形式の設定ファイルを効率的に読み書きするためのライブラリです。基本的なファイル操作機能を提供するtklib.tkfile.tkFileクラスを継承しており、INIファイルに特化したセクションおよびキー/値のペアの管理機能を追加します。主な目的と機能は以下の通りです。
tkFileから継承・利用されます。このライブラリは、アプリケーションの設定、構成、ユーザー設定などをINIファイル形式で管理する際に、煩雑なファイル解析ロジックを開発者が記述する手間を省き、より直感的かつ堅牢な方法を提供することを目指しています。
tkobject.py ライブラリは、Python オブジェクトの基本クラス tkObject を提供します。このクラスは、オブジェクトの属性管理、リフレクション、デバッグ機能、および一般的なユーティリティメソッドを強化することを目的としています。主な機能:
tkObject.get2() や tkObject.set_attribute2() メソッドを通じて、obj.data[0] や obj.config["key"] のようなリストや辞書内の要素へのアクセスを文字列ベースで抽象化します。__dict__) へのアクセスを容易にするメソッドを提供します。dprint, dpprint) を備えています。解決する課題:
このライブラリは、主に以下の課題を解決します。
tkparams.py ライブラリは、Pythonアプリケーションの設定パラメータを効率的に管理するための tkParams クラスを提供します。このモジュールは、以下の主要な機能と目的を持っています。このライブラリは、アプリケーションの設定を外部ファイルで管理し、動的に読み書きするニーズに応えることで、柔軟でメンテナンス性の高いアプリケーション開発を支援することを目的としています。
tkplugin.py ライブラリは、tklib ライブラリで定義されている tkObject を継承する tkModule クラスを提供します。このライブラリの主な目的は、Tkinterベースのアプリケーションにおいて、特定の機能やコンポーネントを「モジュール」として構造化し、管理するための基盤クラスを提供することです。具体的には、以下の課題を解決することを意図しています。
tkObject が提供する可能性のある共通のライフサイクル管理やイベント処理といった機能を、モジュールレベルで活用するための足がかりとなります。現状のソースコードでは、tkModule クラスはモジュールの識別名 (name) と、関連する実際のモジュールオブジェクト (module) を保持するシンプルな構造に留まっており、具体的なGUI要素の操作は継承元の tkObject に委ねられています。
tkre.py ライブラリは、Pythonの標準正規表現モジュール re およびシェルライクな文字列分割を行う shlex モジュールの機能を拡張し、より使いやすいインターフェースで文字列処理を行うためのユーティリティ関数とクラスを提供します。主な目的は、正規表現を用いた文字列の検索、マッチング、置換、分割といった操作を簡素化し、特定の文字列フォーマット(例: 引用符で囲まれた文字列や空白を含む文字列)の処理を補助することにあります。特に、正規表現のフラグ指定を簡略化する機能や、マッチ結果を詳細に取得する機能が提供されています。
このライブラリは、tklib.tkobject を継承したクラスを含んでいますが、直接的なGUI要素とは関連せず、より汎用的な文字列操作ツールとして機能します。
tkscript_macro.py は、tkScript クラスとその関連機能を提供するモジュールで、独自のスクリプト言語の実行を管理することを目的としています。このライブラリの主な機能は以下の通りです。
$varname や $(varname) 形式の変数を、アプリケーションの環境や設定に基づいて動的に実際の値に置換します。tklib のGUIコンポーネントと連携し、メニュー、ボタン、ダイアログなどのGUI要素にスクリプト機能を提供します。このライブラリは、特にTkinterベースのランチャーアプリケーションにおいて、複雑な操作をINI形式のスクリプトで記述し、柔軟に実行するための基盤を提供することで、アプリケーションの拡張性やカスタマイズ性を高める課題を解決します。
tktemplate.py は、テンプレート処理とExcel連携を提供する多機能モジュールです。このライブラリの主な目的は、動的なコンテンツ生成をサポートすることにあります。具体的には、文字列、ファイル、Excelデータに対して {{ key }} 形式のテンプレート変数を置換する機能を提供します。これにより、定型的な文書やデータ構造を基に、個別の情報に応じた出力を容易に生成できるようになります。
解決する課題としては、以下のような点が挙げられます。
tklib.tksci からインポートされる多数の物理定数や数学関数を利用して、テンプレート内で高度な計算結果を組み込むことができます。tkfermi_integral.py は、高速かつ堅牢なフェルミ・ディラック積分 $F_r(\eta)$ を計算するためのPythonライブラリです。半導体物理学、固体物理学、統計力学など、キャリア統計や電子状態の分析が不可欠な分野で広く利用されます。主な機能:
scipy.integrate.quad)を内部的に利用し、精度と速度のバランスを取ります。scipy.special.expit, numpy.log1p, scipy.special.spence)を用いて非常に高速に計算します。functools.lru_cache を用いて、同じ引数での再計算を避け、性能を向上させます。解決する課題:
フェルミ・ディラック積分は、閉じた形式での解析解が存在しない場合が多く、特に広いパラメータ範囲で高精度かつ効率的に計算することは困難です。本ライブラリは、異なる物理的極限(退化、非退化、中間)に合わせた最適なアルゴリズムを自動的に選択することで、この課題を解決し、信頼性の高い結果を提供します。
フェルミ・ディラック積分 $F_r(\eta)$ の定義は以下の通りです。
$$
F_r(\eta) = \frac{1}{\Gamma(r+1)} \int_0^\infty \frac{x^r}{1 + \exp(x-\eta)} dx
$$
ただし、このライブラリでは FermiIntegral_fast など主要な関数はガンマ関数による正規化を行わない積分
$$
I_r(\eta) = \int_0^\infty \frac{x^r}{1 + \exp(x-\eta)} dx
$$
を計算します。これは、関数 electron_density や hole_density で利用される定数 $kF12 = 2/\sqrt{\pi}$ と組み合わせて、物理的な濃度計算に直接適用できるように設計されています。例えば、$I_{1/2}(\eta)$ は $\Gamma(3/2) F_{1/2}(\eta)$ に相当します。
tkTransport.py は、熱電材料や半導体の物理的特性、特に電荷キャリアの輸送現象に関連する複雑な計算を支援することを目的としています。具体的には、以下の主要な機能を提供します。このライブラリは、材料科学、固体物理学、半導体デバイス物理学などの分野における研究者やエンジニアが、材料の電気的・熱的特性をシミュレーションし、解析するための強力なツールとなります。
tkutils.py ライブラリは、Pythonアプリケーション開発において頻繁に利用される様々なユーティリティ機能を提供するモジュールです。ファイル操作、データ変換、システム情報取得、エラーハンドリングといった一般的なタスクを効率化するための関数群を含んでいます。主な目的と機能は以下の通りです。
このライブラリは、様々な場面で発生する共通の課題に対し、再利用可能なユーティリティ関数を提供することで、開発者がより本質的なロジックに集中できるよう支援することを目的としています。
tkvariousdata.py は、様々な形式の構造化データファイル(特にCSVおよびExcel)を効率的に読み込み、処理し、書き出すためのユーティリティ機能を提供するPythonライブラリです。科学技術計算やデータ分析の分野で頻繁に発生する、表形式データの取り扱いを簡素化することを目的としています。主な機能:
解決する課題:
tkxml.py は、XMLデータの解析、変換、操作を支援するPythonユーティリティライブラリです。このモジュールの主な目的は、Python標準ライブラリである xml.etree.ElementTree や xml.dom.minidom に加え、外部ライブラリの xmltodict、dicttoxml、numpy を利用して、XMLファイルとPythonの辞書構造間の相互変換、XML要素の再帰的な解析、特定のセクション情報の抽出、整形されたXMLの書き出しなど、XML操作に関する幅広い機能を提供することです。
具体的には、ATLAS最適化XMLやVASP計算結果XML (vasprun.xml) などの特定のフォーマットを持つXMLファイルの解析を容易にする機能を含んでいます。これにより、これらの複雑なXML構造から必要な情報を効率的に抽出し、Pythonプログラム内で扱いやすい形式に変換することが可能になります。
Electron_Helmholtz_energy.py は、VASP計算の出力ファイルである DOSCAR から電子の状態密度 (DOS: Density of States) データを読み込み、有限温度における電子の内部エネルギー、エントロピー、およびヘルムホルツ自由エネルギーの温度依存性を計算するPythonスクリプトです。また、フェルミ準位の温度変化も計算し、結果を標準出力に表形式で表示するとともに、matplotlib を用いてグラフとして可視化します。このプログラムの主な機能は以下の通りです。
DOSCAR ファイルからエネルギーとDOSデータを抽出。このプログラムは、金属や半導体などの電子系が有限温度で示す熱力学的特性を理解し、VASP計算の結果をさらに深く解析するために役立ちます。
make_kpoints.py は、Crystallographic Information File (CIF) 形式の結晶構造データから、第一原理計算ソフトウェアVASPでバンド構造計算を行うためのKPOINTSファイルを自動生成するPythonスクリプトです。このプログラムの主要な目的は、VASPユーザーが手動でKPOINTSファイルを作成する手間を省き、ブリルアンゾーン内の正確な高対称性経路に沿ったK点グリッドを効率的かつ正確に生成することです。
pymatgen ライブラリを用いて結晶の対称性を検出し、必要に応じて構造を標準的なプリミティブセルに変換します。これにより、高対称性経路の特定が容易になります。make_md_history.py は、VASP (Vienna Ab initio Simulation Package) の分子動力学 (MD) シミュレーションの出力ファイルを解析し、その結果を標準的なデータ形式(CIFおよびCSV)に変換するPythonスクリプトです。このプログラムの主な目的は、VASPの生出力ファイルから重要な物理量と構造の時系列データを抽出し、他の解析ツールや可視化ツールで利用しやすい形式で提供することです。主な機能は以下の通りです。
OUTCAR、INCAR、POSCAR、CONTCARファイルを読み込み、シミュレーション情報を抽出します。本プログラムは、VASPのMDシミュレーション結果を手動で解析する手間を省き、結果の可視化や詳細な分析を効率化することを課題解決としています。
make_md_history.py は、VASP (Vienna Ab-initio Simulation Package) の分子動力学 (MD) 計算の出力ファイルを解析し、主に以下の機能を提供します。OUTCAR ファイルに含まれる各MDステップの結晶構造情報を抽出し、XCrySDenで可視化可能なアニメーション形式のAXSFファイル (md.xsf) を作成します。このファイルはMDシミュレーション中の原子の動きを視覚的に追跡するのに役立ちます。また、同時にMDステップごとの温度、エネルギーなどの情報が記載されたCSVファイル (inf.csv) も出力します。OUTCAR から再生成) を使用して、MDシミュレーション中の原子の平均二乗変位 (MSD) を計算します。MSDは原子の拡散挙動を評価するための重要な指標です。MSDの計算に加えて、重心の変位、格子定数、体積、温度、エネルギーなどの時系列データをまとめた履歴CSVファイル (sample_name-history.csv) を生成します。初期構造 (POSCAR) と最終構造 (CONTCAR) はCIF形式でも保存されます。このプログラムは、VASPのMDシミュレーション結果の解析と可視化を効率化し、材料の動的特性の理解を深めることを目的としています。
outcar2axsf.py は、VASP (Vienna Ab initio Simulation Package) の分子動力学 (MD) シミュレーションの出力ファイル (OUTCAR) を解析し、構造の時系列変化を可視化するためのXCrySDen AXSF (Animation XSF) ファイルに変換するプログラムです。主な機能:
OUTCAR ファイルから、各ステップの結晶構造(格子ベクトル、原子座標、原子にかかる力または速度)を読み取ります。POSCAR および CONTCAR ファイルから、シミュレーションの初期構造と最終構造をCIF (Crystallographic Information File) 形式で別途出力します。INCAR ファイルからシミュレーション名 (SYSTEM) とタイムステップ (POTIM) を読み取り、出力ファイル名や情報表示に利用します。解決する課題:
VASPの分子動力学シミュレーション結果は、OUTCAR ファイルに構造情報が時系列で記述されますが、このファイルを直接可視化ツールでアニメーションとして扱うことは困難です。本プログラムは、OUTCAR の情報をXCrySDenという広く使われている結晶構造可視化ソフトウェアのアニメーションフォーマットに変換することで、VASP MDシミュレーションの動的な挙動を容易に解析・視覚化できるようにします。
pdos.py は、指定されたテキストファイルからPartial Density of States (PDOS) データを読み込み、エネルギー ($E - E_F$) に対するPDOSのプロット画像を生成するPythonスクリプトです。このプログラムは、量子化学計算や固体物理計算の出力として得られるDOSデータを視覚化することを主な目的としています。主な機能は以下の通りです。
_) をスペースに置換して整形します。matplotlib ライブラリを使用して、指定されたデータ範囲とスタイル設定に基づいてPDOSプロットを生成します。dos.png というファイル名で、高解像度(300 dpi)、透明背景のPNG画像として保存します。plot_VASP_DOS_Ne.py は、VASP (Vienna Ab-initio Simulation Package) の計算結果から得られる状態密度 (DOS) データを用いて、様々な電子輸送特性を解析し可視化するためのPythonスクリプトです。このプログラムの主な目的は以下の通りです。
DOSCAR ファイルから全状態密度 (Total DOS) を読み込み、エネルギーに対するDOSと積算電子数をプロットします。価電子帯上端 (EVBM)、伝導帯下端 (ECBM)、バンドギャップ、フェルミ準位、および全電子数 (NELECT) がグラフ上に示されます。このプログラムは、VASP計算の出力から材料の電子構造と熱電特性を迅速に評価したい研究者やエンジニアにとって有用です。
read_car.py は、VASP (Vienna Ab initio Simulation Package) の計算結果ファイルの一つである CHGCAR ファイルを解析し、構造情報と電荷密度データをPythonのデータ構造として読み込むプログラムです。主な機能:
CHGCAR ファイルから以下の構造情報を抽出します。P[ix][iy][iz] のようにアクセス可能)で提供します。CHGCAR ファイルのタイトル、グリッドサイズ、およびグリッド点 $(0,0,0)$ における電荷密度の値を標準出力に表示します。解決する課題:
VASPの CHGCAR ファイルは複雑なテキスト形式であり、Pythonで直接解析して電荷密度データにアクセスするのは手間がかかります。本プログラムは、ファイルフォーマットの詳細を抽象化し、Pythonの使いやすいデータ構造(辞書とネストされたリスト)として電荷密度データを提供することで、後続のデータ解析や可視化を容易にします。
vasp_correction_bandfilling.py は、VASP計算結果から欠陥モデルのバンドフィリング補正(Band Filling Correction)を推定するスクリプトです。理想結晶と欠陥結晶の計算結果(DOSや固有値エネルギー)を比較し、バンドアラインメントの補正値である dEVBM` を適用した上で、占有状態の違いによる電子および正孔のエネルギー補正量を評価します。vasp_correction_charge.py は、VASP計算で得られた結果から、周期境界条件下の帯電欠陥計算に不可欠な有限サイズ補正(帯電欠陥のエネルギー補正および双極子相互作用の補正)を推定するためのPythonスクリプトです。主な機能:
IDIPOL=4 を設定したVASP計算のOUTCARファイルから、双極子および四重極子によるエネルギー補正に関する情報を読み取ります。特に、電荷系に対するエネルギー補正 Ecorr(charge) を抽出します。LOPTICS=.TRUE. を設定したVASP計算のOUTCARファイルから、電子的な誘電率テンソルの各成分を抽出し、その平均値を計算します。数値として直接入力することも可能です。LEPSILON=.TRUE. を設定したVASP計算のOUTCARファイルから、格子振動によるイオン的な誘電率テンソルの各成分を抽出し、その平均値を計算します。数値として直接入力することも可能です。NELECT を基に、欠陥の電荷 $q$ を計算します。Ecorr(charge)、計算された電荷 $q$、および総誘電率 $\epsilon_{total}$ を用いて、帯電欠陥に対する最終的なエネルギー補正 dEcorr を計算します。解決する課題:
VASPのような周期境界条件を用いた第一原理計算では、帯電した欠陥を扱う場合、周期的なセル間に存在する電荷間のクーロン相互作用によって、計算される形成エネルギーがセルサイズに依存してしまいます。本プログラムは、Makov-Payneの補正モデルなどを参考に、この有限サイズ効果によるエネルギー誤差を見積もり、補正することを目的としています。
---
vasp_correction_VBM.py は、VASP計算を用いて欠陥を含む結晶のVBM (Valence Band Maximum) 補正量を推定するためのPythonスクリプトです。このプログラムは、欠陥スーパーセル計算において生じる有限サイズ効果によるVBMのエネルギーシフトを補正することを目的としています。主な機能は以下の通りです。
POSCAR, OUTCAR, DOSCAR, EIGENVAL) を読み込みます。Rmin_potential) 以内の欠陥近傍サイトをポテンシャル補正計算から除外します。'mode' アルゴリズム) または平均値 ('average' アルゴリズム) をVBM補正量 ($dE_{VBM}$) として決定します。vasp_defect.py` は、VASPによる第一原理計算の結果(状態密度やバンド構造)および欠陥形成エネルギーのデータに基づき、半導体中の電子・正孔キャリア密度、欠陥密度、フェルミ準位を計算・解析するスクリプトです。本スクリプトは、温度変化に伴うフェルミ準位の自己無撞着計算、欠陥の電荷状態による形成エネルギーの変化、電荷遷移準位の特定、およびこれらの物理量のグラフ表示機能を提供します。
vasp_ef.py は、VASP (Vienna Ab initio Simulation Package) の計算結果であるDOSCARファイルから、半導体のキャリア密度とフェルミ準位を温度またはフェルミ準位の関数として計算するPythonプログラムです。主な機能:
matplotlib を使用して視覚的にプロットされます。解決する課題:
VASPから得られる状態密度情報を用いて、半導体の重要な電気的特性(フェルミ準位、キャリア密度、ホール係数など)を理論的に評価し、その温度依存性やフェルミ準位依存性を解析することを目的としています。これにより、材料のドーピング効果や温度変化による伝導特性の変化を予測・理解するのに役立ちます。
vasp_input.py は、VASP (Vienna Ab-initio Simulation Package) の入力ファイル、特にPOSCARファイルを管理することを目的とします。*.cif)を使用でき、その場合は辞書順でソートされたリストの最初のファイルが処理されます。vasp_plot_band.py は、VASP (Vienna Ab-initio Simulation Package) の計算結果からバンド構造を解析し、プロットするためのPythonスクリプトです。主な機能:
INCAR, POSCAR, KPOINTS, OUTCAR, EIGENVAL など)を読み込み、計算されたバンド構造のデータを抽出します。.xlsx) で出力します。band)、k点間の線連結表示 (bandline)、占有数を考慮した表示 (bandocc) を選択できます。解決する課題:
VASPの生出力ファイルからバンド構造を直接視覚化するのは困難であり、このプログラムはVASP計算結果の迅速な解析と視覚化を可能にすることで、物質の電子構造に関する理解を深める手助けをします。特に、バンドギャップやHOMO/LUMOレベルといった重要な電子状態の特性を明確に提示します。
vasp_plot_dos.py は、VASP (Vienna Ab-initio Simulation Package) によって計算された状態密度 (DOS: Density of States) を解析し、グラフとして可視化するためのPythonスクリプトです。このプログラムはVASPの標準出力ファイル(DOSCAR, OUTCAR, EIGENVAL, POSCAR など)を読み込み、エネルギー対DOS、およびエネルギー対電子数 ($N_e$) の積算曲線をプロットします。主な機能は以下の通りです。
このプログラムは、VASP計算結果のDOSを容易に視覚化し、バンド構造に関連する物理量を直感的に評価できるようにすることで、手動でのデータ処理やグラフ作成の手間を省き、研究者の解析作業を効率化します。
vasp_plot_epsilon.py は、VASP (Vienna Ab-initio Simulation Package) によって計算された光学誘電率を OUTCAR ファイルから抽出し、グラフとしてプロットし、Excelファイルに保存するためのPythonスクリプトです。VASP計算で LEPSILON = .TRUE. が設定されている場合に生成される誘電率データを解析することを目的としています。主な機能:
OUTCAR ファイルから、頻度依存の複素誘電率テンソル $\epsilon(\omega) = \epsilon_1(\omega) + i\epsilon_2(\omega)$ を抽出します。epsilon.xlsx というExcelファイルに保存します。解決する課題:
VASPの OUTCAR ファイルはテキスト形式であり、誘電率データが複数のセクションにわたって記述されているため、手動でデータを抽出して可視化するのは手間がかかります。このスクリプトは、その抽出と可視化のプロセスを自動化し、解析を効率化します。
vasp_watch.py は、VASP (Vienna Ab initio Simulation Package) による計算、特に構造最適化(緩和計算)の進捗をリアルタイムで監視するためのPythonスクリプトです。VASP計算の実行中に、その進捗状況、特に収束状況を効率的に把握することを目的としています。長時間にわたる計算において、計算が正常に進行しているか、あるいは収束に問題が生じていないかを、手動でログファイルを監視する手間なく、視覚的に確認できるようになります。
OUTCAR および OSZICAR ファイルを定期的に監視します。ファイルが更新されると、その内容を読み込み、計算の主要な情報を解析します。INCAR, POSCAR, OUTCAR, OSZICAR から抽出された設定情報、格子定数、フェルミエネルギー、収束基準(EDIFF, EDIFFG)、および各電子ステップ・イオンステップでのエネルギーと力の詳細な履歴をリアルタイムでコンソールに出力します。matplotlib ライブラリを使用して、以下の3種類のグラフを動的に更新し、VASP計算の収束トレンドを可視化します。EDIFF も合わせて表示されます。EDIFF に対応するスケーリングされた基準線も表示します。EDIFFG に対応するスケーリングされた基準線も表示します。OUTCAR ファイルの最終更新時刻をチェックし、変更があれば自動的に情報を再解析し、グラフを更新します。このプログラムは、VASP計算の安定性と収束状態を直感的に理解するための手段を提供します。特に、構造最適化の途中でエネルギーが振動したり、力が収束しなかったりする問題が発生した場合に、その傾向を早期に発見し、計算パラメータの調整などの対策を講じるのに役立ちます。
image_view.py は、PythonのGUIライブラリ tkinter を使用して構築された画像ビューアアプリケーションです。このプログラムは、ユーザーが指定した画像ファイルを指定されたサイズで表示することを目的としています。主な機能は以下の通りです。
JSONView.py は、Pythonで記述されたGUIアプリケーションであり、JSONファイルを視覚的に閲覧するために設計されています。このプログラムは、指定されたJSONファイルの内容をツリー構造で表示し、キーと値を異なる列に整理して表示します。主な機能:
解決する課題:
JSONファイルは、特にデータ量が多く、ネストが深い場合に、テキストエディタでその構造を把握したり、特定のデータを見つけ出すことが困難になることがあります。JSONView.py は、このような課題を解決し、データの構造を直感的に理解し、効率的に閲覧できるGUIを提供します。
mdview.py は、PythonのTkinterライブラリと tkhtmlview ライブラリを利用して、MarkdownファイルをGUIで表示するためのビューアアプリケーションです。このプログラムの主な目的は、Markdownテキストの閲覧体験を向上させることと、画像の表示サイズやテキストのフォントサイズをユーザーが柔軟に調整できるようにすることです。主な機能は以下の通りです。
markdown ライブラリを使用してHTMLに変換し、GUI上に表示します。コードブロックやテーブルなどの拡張機能もサポートしています。mdview.ini ファイルに保存し、次回起動時に自動的に読み込みます。このプログラムは、特にMarkdownドキュメントに多くの画像が含まれる場合や、表示環境に応じてフォントサイズを調整したい場合に有用なツールとなります。
plot3d.py は、VASP (Vienna Ab initio Simulation Package) の出力ファイルである電荷密度(CHGCAR)や静電ポテンシャル(LOCPOT)などの三次元体積データを解析し、Matplotlib を用いて3Dグラフィックとして可視化するPythonスクリプトです。主な機能は以下の通りです。
CHGCARやLOCPOTといったVASPの体積データファイルを読み込み、格子情報や三次元グリッドデータを抽出します。本プログラムは、VASP計算結果から得られる複雑な三次元的な物理量分布を直感的に理解しやすくするための強力な可視化ツールとして機能します。
XML_Edit2.py は、指定されたXMLファイルを読み込み、その内容をグラフィカルユーザーインターフェース (GUI) 上でツリー構造として表示するPythonスクリプトです。ユーザーはXML要素のタグ、その属性、およびテキスト内容を視覚的に確認できます。主な機能は以下の通りです。
key: value」の形式で表示されます。Treeview 上で項目をダブルクリックすると、その項目(特に「Value」列)が選択・フォーカスされますが、直接的なインプレース編集機能は実装されていません。XML_Edit3.py は、Pythonの tkinter GUIライブラリと xml.etree.ElementTree ライブラリを使用して、XMLファイルを視覚的に表示し、その内容を編集して新しいファイルとして保存するためのデスクトップアプリケーションです。主な機能は以下の通りです。
このプログラムは、XMLファイルを直接テキストエディタで開いて編集する手間を省き、視覚的な操作でXMLデータを簡単に閲覧・変更したいという課題を解決します。特に、構造が複雑なXMLファイルや、特定の要素の値だけを変更したい場合に有用です。
XML_Edit.py は、PythonのTkinterライブラリを使用して構築されたグラフィカルユーザーインターフェース (GUI) アプリケーションです。このプログラムの主な目的は、XMLファイルの内容を視覚的に表示し、ユーザーがそのXMLデータを直接編集できるようにすることです。主な機能は以下の通りです。
このプログラムは、XML構造を簡単に確認したり、手動でXMLデータを修正したりする際に役立ちます。
XMLView.py は、Pythonの標準ライブラリ tkinter および xml.etree.ElementTree を使用して、XMLファイルをグラフィカルユーザーインターフェース (GUI) 上でツリービュー形式で表示するアプリケーションです。このプログラムの主な目的は、大規模なXMLファイルの構造を視覚的に理解しやすくすることです。特に、テキストエディタで直接開くと内容が膨大で把握しにくいXMLファイル(例: 計算結果を格納した vasprun.xml など)の階層構造、タグ、属性、およびテキスト内容を効率的に閲覧できるようになります。
主な機能は以下の通りです。
name 属性(存在する場合)、テキスト内容、およびその他の属性をツリービューのノードとして表示します。XMLView.ini) に保存され、次回起動時に自動的に復元されます。make_sitemap_from_path.py は、指定されたディレクトリ以下にあるHTMLファイルを走査し、それらを一覧表示するHTML形式のサイトマップを自動生成するPythonスクリプトです。Webサイトの階層構造を視覚的に把握できるサイトマップを簡単に作成することで、手作業によるサイトマップの作成・更新にかかる手間を削減します。特に、大規模なWebサイトや頻繁に更新されるサイトにおいて、サイト構造の管理を効率化することを目的としています。
<title> タグの内容を抽出し、サイトマップ内のリンクテキストとして使用します。<title> タグが見つからない場合は、ファイル名を代替タイトルとして使用します。MakeSiteMap.py は、指定されたウェブサイトを再帰的にクロールし、その構造を視覚的に理解しやすいHTML形式のサイトマップツリービューとして生成するPythonスクリプトです。このプログラムの主な目的は、ウェブサイトの全体像を把握し、コンテンツの網羅性や階層構造を視覚的に確認できるツールを提供することです。
具体的な機能は以下の通りです。
<title>タグを抽出してページのタイトルとし、HTTPレスポンスヘッダーのLast-Modifiedから最終更新日を取得します。#以降のアンカー部分)を削除し、同じページを指す異なるURLが重複して扱われるのを防ぎます。replace_recursive.py は、指定されたソースディレクトリツリー内のファイルを再帰的に走査し、ターゲットディレクトリへコピーするPythonスクリプトです。この処理中に、特定のファイルに対して定義済みの正規表現に基づいた文字列置換を実行します。本プログラムの主な機能は以下の通りです。
source_dir で指定されたディレクトリ内のすべてのファイルとサブディレクトリを、target_dir へ構造を保ったままコピーします。convert_file_extensions リストに含まれる拡張子を持つファイルに対して、replace_list に定義された正規表現パターンによる文字列置換を適用します。exclude_list に含まれるファイル名を持つファイルは、たとえ置換対象の拡張子であっても文字列置換をスキップし、そのままターゲットディレクトリへコピーされます。chardet ライブラリを使用してファイルのエンコーディングを自動検出し、文字化けを防ぎます。このスクリプトは、ウェブサイトのパス構造を変更する際や、開発環境と本番環境で異なるURLやパスを使用する場合など、ディレクトリ構造を維持しつつ一括でファイルの内容を修正する必要があるシナリオで特に有用です。
XMLSiteMap.py は、指定されたウェブサイトをクロールし、その構造とメタデータに基づいてXMLサイトマップを自動生成するPythonスクリプトです。このプログラムは、検索エンジン最適化(SEO)の目的で、ウェブサイトの全てのページを検索エンジンに効率的に通知するためのSitemapプロトコルに準拠したファイルを作成します。主な機能は以下の通りです。
.html、.shtmlファイル、またはディレクトリパスのみをクロール対象とします。<title>タグの内容を抽出し、ページのタイトルとして記録します。Last-Modifiedフィールドから、ページの最終更新日時を取得し、YYYY-MM-DD形式でフォーマットします。#以降の部分)を削除し、同じコンテンツを指す重複URLを避けます。charset_normalizerライブラリを使用して、HTTPレスポンスのバイトコンテンツから最適な文字エンコーディングを自動で判別し、コンテンツを正確にデコードします。このプログラムは、ウェブサイトのページを手動で登録する手間を省き、サイトの更新状況を検索エンジンに効果的に伝えることで、ウェブサイトのインデックス作成と可視性の向上に貢献します。
`xrayutilities および pymatgen` ライブラリを使用して、多層膜サンプルのXRRプロファイルを計算し、プロットします。また、CIFファイルから結晶構造情報を読み込み、シミュレーションに利用する機能もサポートしています。
実行モードやパラメータはコマンドライン引数として渡すか、スクリプト内のグローバル変数を直接編集することで設定できます。
guess_lattice_parameters.py` は、粉末X線回折(XRD)データに対して、ピーク検出と格子定数予測を行うPythonスクリプトです。このスクリプトは、XRD生データファイルや既存のピーク情報ファイルから回折ピークを抽出し、そのピーク情報に基づいて様々な結晶系(立方晶、正方晶、六方晶、斜方晶)の格子定数を推定します。また、推定された格子定数と観測ピークのマッチングを比較する機能や、ユーザーが指定した格子定数と観測ピークを比較する機能も提供します。lsq_latt2.py` は、X線回折データなどの回折データから結晶の格子定数を導出するために設計されたPythonスクリプトです。このプログラムは、観測データの前処理、重み付け、重み付き最小二乗フィッティング、そして最終的な格子定数(逆格子および実格子)の導出を行います。様々な格子系に対応しており、計算の精度を向上させるための外れ値の自動除去機能も備えています。入力ファイルは特定のフォーマットに従い、複数の計算ジョブを連続して処理できます。各ジョブでは、格子系、補正フラグ、重み付けモード、回折位置の変換モードなどが設定され、それに従って観測データが処理されます。計算結果は整形されたレポートファイルとして出力され、各ジョブのプロットも生成されます。
プログラムは、ソースコード内に直接記述された構造パラメータ(単位格子長 $a$、構造因子 $F$、繰り返し数 $N$、および層の積層順序)に基づいてシミュレーションを実行します。これにより、研究者は様々な層状構造のX線回折パターンを容易に予測し、実験データと比較することが可能になります。
slxrd.py は、X線回折シミュレーションを行うPythonプログラムです。特に、複数の異なる単位格子から構成される層状構造(多層膜)のX線回折強度を、指定された2θ範囲で計算します。計算された回折パターンはCSVファイルとして出力されるとともに、matplotlib を用いてグラフとしてリアルタイムに表示されます。プログラムは、ソースコード内に直接記述された構造パラメータ(単位格子長 $a$、構造因子 $F$、繰り返し数 $N$、および層の積層順序)に基づいてシミュレーションを実行します。これにより、研究者は様々な層状構造のX線回折パターンを容易に予測し、実験データと比較することが可能になります。
test_lsq_latt2.py は、結晶学における格子定数決定のための最小二乗フィットプログラム lsq_latt2.py の機能を検証するためのテストスクリプトです。このプログラムは、以下の手順で lsq_latt2.py の動作を総合的に評価します。lsq_latt2.py が処理できる形式の入力ファイルを動的に作成します。この入力ファイルは一時ディレクトリ内に保存されます。lsq_latt2.py の実行: 作成された入力ファイルを引数として、指定された lsq_latt2.py スクリプトを subprocess として実行します。lsq_latt2.py が生成した出力ファイルから、フィットによって得られた格子定数を解析・抽出します。このプログラムは、lsq_latt2.py が様々な結晶系、ノイズレベル、回折ピーク数に対してロバストかつ正確に動作することを確認することを目的としています。
主な機能:
解決する課題:
このプログラムは、特定の結晶材料に対して理論的に予測されるX線回折パターン(ピーク位置)を提供します。これは、実験で得られたX線回折データと比較することで、未知の結晶相の同定、既知の結晶材料の格子定数の確認、あるいは回折ピークの帰属(インデキシング)を行う際の強力なツールとなります。
xrd_fit_xrayutilities.py` は、X線回折 (XRD) シミュレーションおよびフィッティングツールです。このモジュールは、`xrayutilities ライブラリを使用して動的理論に基づいたXRDシミュレーションを実行し、実験データに対して構造パラメータ(組成 x、緩和度 relax、膜厚 thick`)を最適化します。また、フリンジ解析による膜厚の自動推定機能も備えています。
関連情報については、`xrd_fit_usage` ドキュメントを参照してください。
XRD_GUI_lib.py は、X線回折(XRD)データの解析およびリファレンスパターン生成を支援するためのPythonライブラリです。主にGUIアプリケーションのバックエンドとして機能し、多様なデータ形式に対応するためのプラグイン機構を提供します。このライブラリの主な目的は、さまざまなソースからX線回折データを読み込み、標準化された形式で処理し、GUIアプリケーションなどの上位層に提供することです。具体的には、測定されたXRDパターンや結晶構造情報ファイル(CIFなど)から回折ピーク情報を抽出し、解析に必要なパラメータ(2θ範囲、X線波長など)を管理します。
tkprog_X_path で指定されたパスの下にある xrd/filter ディレクトリから、データ読み込み・変換を行うPythonプラグインモジュールを動的にロードします。tkApplication オブジェクトを通じて一元的に管理し、GUIからの設定変更に対応します。XRD_GUI.py は、X線回折 (XRD) データの視覚化、処理、解析を目的としたグラフィカルユーザーインターフェース (GUI) アプリケーションです。研究者や技術者がXRDパターンを直感的に分析し、複数の測定データを比較し、特定のピーク情報を素早く取得し、高品質なグラフを作成して発表資料に利用することを支援します。主な機能:
*.txt など)および文献値のリファレンスデータファイル(*.txt など)をGUIを通じて簡単に読み込むことができます。セッションの保存・読み込みにも対応しています。解決する課題:
xrd_pymatgen.py は、Pymatgenライブラリを使用して結晶のX線回折(XRD`)パターンをシミュレーションし、結果をプロット・保存するPythonスクリプトです。本スクリプトは、`CIF ファイルから結晶構造を読み込み、指定されたX線源(例: CuKa1)と2θ範囲で XRD パターンを計算します。計算された個々の回折ピークに対してガウス関数を適用し、指定された半値半幅 (FWHM`) でスムージングされたスペクトルを生成します。
結果の回折ピーク情報と生成されたスペクトルデータは、標準出力、指定されたログファイル、およびExcelファイルに保存されます。また、計算されたスペクトルと個々のピークは `matplotlib によってプロットされ、視覚的に表示されます。コマンドライン引数により、入力 CIF ファイル、X線源、2θの最小値・最大値・ステップ、FWHM` などを柔軟に設定できます。
関連リンク:
peaksearch.py は、X線回折(XRD)パターンなどのスペクトルデータから、自動的にピークを検出し、その結果を視覚化することを目的としたPythonプログラムです。データファイルから指定されたX軸とY軸のデータ範囲を読み込み、Savitzky-Golayフィルターを用いてデータを平滑化し、その導関数を計算します。これらの導関数と、強度や形状に関する閾値に基づいて、スペクトル中のピークを識別します。検出されたピークは、元のデータ、平滑化されたデータ、そして推定されたガウス関数フィッティングとともにグラフ上に表示されます。主な機能は以下の通りです。
XRF_fit.py は、X線蛍光 (XRF) スペクトルデータの可視化と基本的な解析を行うためのPythonプログラムです。主に、指定された入力ファイルからXRFスペクトルデータを読み込み、matplotlibとTkinterを組み合わせて構築されたGUI上でグラフとして表示します。主な機能:
解決する課題:
このプログラムは、XRFデータの初期的な探索的データ解析 (EDA) と可視化を支援します。研究者や技術者がXRFスペクトルデータを手軽に確認し、基本的な特性を把握するためのツールとして機能します。