Skip to content

Repository files navigation

AgentEIS

从电化学阻抗谱到等效电路参数的 Python 分析工具。

AgentEIS 将 EIS 数据读取、等效电路拟合与结果可视化整合到同一流程,提供 Tkinter 桌面界面和命令行入口,适合快速查看阻抗谱、尝试预设电路并导出分析结果。

导入 CSV → 选择电路与初值 → 拟合参数 → 查看 Nyquist 图与拟合误差 → 导出结果

双 RC 合成谱与拟合曲线

61 点双 RC 合成谱演示:圆点为输入阻抗,实线为拟合结果。示例由解析电路公式生成。

功能

能力 默认分支 main
CSV 数据检查 三列阻抗数据、有限数值、正频率、重复点与频率顺序检查
等效电路 10 种预设电路,支持手动选型和自定义初始参数
参数拟合 基于 impedance.py;输出参数名称、数值、单位及复阻抗 RMSE
图形界面 文件选择、合成示例加载、拟合结果与 Nyquist 图展示
命令行 可复现的单次分析与 JSON / CSV / PNG 导出
分类特征 20 点重采样、40 维实虚部交替特征;可接入兼容分类权重

残差曲线、参数 CSV、复现元数据与失败恢复可在扩展演示分支中体验,见演示导览。该版本尚未合入 main;下方启动步骤对应默认分支。

查看扩展版本的界面演示

扩展分支:导入、拟合、残差和导出

动图来自扩展分支;默认分支的运行步骤见下文。

快速运行

已验证环境:Windows、Python 3.12。GUI 需要带 Tcl/Tk 的 Python;CLI 可独立使用。

git clone https://github.com/hardstone4/agent-EIS.git
cd agent-EIS
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.lock.txt
.\.venv\Scripts\python.exe AgentEIS_UI.py

打开界面后,点击 Load synthetic demo,确认电路 6 和初值,再点击 Fit selected circuit。拟合完成后可查看图表,并使用 Export result 保存结果。

也可以直接运行命令行示例:

.\.venv\Scripts\python.exe agenteis_cli.py analyze examples/synthetic_type6.csv --circuit-type 6 --initial-guess 0.1,0.5,0.03,0.2,0.003 --output output/demo

默认分支生成三个文件:

文件 内容
summary.json 电路、参数及单位、使用 / 排除点数、复阻抗 RMSE
fitted.csv 频率、观测实虚部、拟合实虚部
nyquist.png 观测谱与拟合曲线

重复运行请使用新输出目录,或显式添加 --overwrite。更多操作见使用指南。

数据格式

UTF-8 CSV 包含 freq(或 f)、zreal、zimag 三列,列顺序可调整:

freq,zreal,zimag
1000,0.12,-0.01
100,0.14,-0.03
10,0.28,-0.10

频率单位为 Hz,阻抗单位为 Ohm。zimag 使用带符号的虚部;Nyquist 图纵轴显示 -zimag。频率须为正、互不重复并严格单调。上述三行用于说明格式;运行演示请使用 examples/ 中的完整样例。

仓库提供双 RC 和 R+CPE 两份 61 点合成谱,以及生成公式与参数。拟合结果用于评估所选电路与输入谱的匹配情况,物理解释仍需结合实验条件。

项目结构

AgentEIS_ML_Classification.py  数据读取、特征、分类接口、拟合与绘图
AgentEIS_UI.py                Tkinter 桌面入口
agenteis_cli.py               命令行入口与结果导出
examples/                    可重生成的解析合成谱
tests/                       核心回归测试
legacy/                      实验性 AI 模块与训练脚本
docs/                        使用、架构、演示与开发文档
requirements.lock.txt        已验证的依赖版本

技术栈:Python、NumPy、pandas、SciPy、scikit-learn、matplotlib、Tkinter、impedance.py。CLI 与 GUI 共享同一核心,见架构与电路说明。

文档与扩展

  • 使用指南:输入要求、GUI / CLI 操作和常见问题。
  • 演示导览:当前主分支结果与扩展分支的截图、GIF 和残差流程。
  • 架构说明:模块关系、特征约定和十种电路。
  • 开发验证:已执行的测试及其适用范围。
  • 实验性模块:分类权重接口、Ollama / RAG / Web 原型状态。

机器学习分类需另行提供兼容的可信权重;LLM、RAG 和联网搜索模块属于实验性代码,未纳入默认离线演示。第三方来源与许可见 THIRD_PARTY_NOTICES.md。

About

Python toolkit for electrochemical impedance spectroscopy (EIS): equivalent-circuit fitting, Nyquist visualization, and reproducible GUI/CLI workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages