从电化学阻抗谱到等效电路参数的 Python 分析工具。
AgentEIS 将 EIS 数据读取、等效电路拟合与结果可视化整合到同一流程,提供 Tkinter 桌面界面和命令行入口,适合快速查看阻抗谱、尝试预设电路并导出分析结果。
导入 CSV → 选择电路与初值 → 拟合参数 → 查看 Nyquist 图与拟合误差 → 导出结果
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。

