Python package for the analysis of electrochemical impedance spectra.
Project description
zahner_analysis is a Python package which uses the Zahner Analysis to evaluate measured electrochemical data.
The Python package zahner_analysis is a client for the REST interface of the Zahner Analysis module Remote Evaluation. This module is optional and must be selected for installation when installing the Zahner Analysis.
A equivalent electrical circuit model for an impedance measurement can be easily developed with the graphical interface of the Zahner Analysis. The Magic Wand Preset Element Tool tool is available to determine appropriate initial values for the fit.
With Python the equivalent electrical circuit models, which have been created with the GUI, can be fitted to impedance spectra. The elements and parameters of the model can be read and processed with Python.
With the Python package thales_remote as a supplement, EIS measurements can be performed with a Zennium and immediately evaluated. The Zahner Analysis is not required for importing and plotting data with Python.
Additional features are the import of measurement data for CV and I/E measurements (isc and iss files). For this the Zahner Analysis is not necessary.
📚 Documentation
Python Package
The complete documentation of the individual functions can be found on the API documentation website.
REST-API
The REST-API was documented using OpenAPI. The configuration file is in the repository and the generated html page can be found at the following url.
🔧 Installation
The package can be installed via pip.
pip install zahner_analysis
The Zahner Analysis must be downloaded from the Zahner-Elektrik website in order to be installed.
🔨 Basic Usage
The Jupyter notebook BasicIntroduction.ipynb explains the fundamentals of using the library.
"""
Load data and model
"""
impedanceCircuitModel = IsfxModelImport("li-ion-model.isfx")
impedanceData = IsmImport("li-ion-battery.ism")
"""
Create the EisFitting object
"""
fitting = EisFitting()
"""
Fit the equivalent electrical circuit model to the data
"""
fittingResult = fitting.fit(impedanceCircuitModel, impedanceData)
"""
Plot the result
"""
EisFittingPlotter.plotBode(fittingResult)
📖 Examples
The following examples are build on each other, you should read and understand them in sequence.
If measurement data are saved from the examples, they are located in the corresponding directory of the example.
BasicIntroduction.ipynb
- Load the data and the model
- Fit the model to the data
- Plot the result
ComplexFitConfigurations.ipynb
- Showing all configuration options
- Customize the connection to Zahner Analysis Software
- Optional fit and simulation parameters
- Optional plotting parameters
ImpedanceVsVoltageSeriesFit.ipynb
- EIS series fit
- Load all files from a directory
- Plot circuit element vs series parameter
ZHIT.ipynb
- Fit the model to the data
- Load the data and the model
- Perform ZHIT evaluation
- Plot the result
📧 Having a question?
Send an mail to our support team.
⁉️ Found a bug or missing a specific feature?
Feel free to create a new issue with a respective title and description on the the Zahner-Analysis-Python repository.
If you already found a solution to your problem, we would love to review your pull request!
✅ Requirements
Programming is done with the latest Python version at the time of commit.
If you work with equivalent circuits and you need the fit and simulate functions, you need the Zahner Analysis with its REST interface. To use the REST interface, you need a licensed Zahner Analysis with at least version 3.2.1. The Zahner Analysis Software is not required for importing and plotting data.
The packages matplotlib, SciPy and NumPy are used to display the measurement results. The requests package is necessary to communicate with the Zahner Analysis. Jupyter is not necessary, each example is also available as a Python file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for zahner_analysis-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 301b668363501f2bec8b6fa9d30de036c60157d16fb40bad5fb92241bd9e1f90 |
|
MD5 | 0879956d2745e40034b652ccf31698fb |
|
BLAKE2b-256 | 9b13f45eeacd29dfc64e6670e21f3762b7d58bfdd798ea9f31609cc7cec410d6 |