A GUI program for analyzing, simulating, and visualizing impedance spectra.
Project description
DearEIS
A GUI program for analyzing, simulating, and visualizing impedance spectra.
Table of contents
Getting started
Installing
The latest version of DearEIS requires Python 3.7 or newer (64-bit) and the most straightforward way to install DearEIS is by using pip. Make sure that pip is installed first and then type the following command into a terminal of your choice (e.g. PowerShell in Windows).
pip install deareis
Newer versions of DearEIS can be installed at a later date by appending the -U
option to the command:
pip install deareis -U
Supported platforms:
- Linux
- Primary development and testing platform.
- Windows
- Tested on Windows 10 (x86-64).
The package may also work on other platforms (e.g. MacOS) depending on whether or not those platforms are supported by DearEIS' dependencies.
Running
Once installed, DearEIS can be started e.g. from a terminal or the Windows start menu by searching for the command deareis
.
There is also a deareis-debug
command that prints additional information to the terminal and can be useful when troubleshooting issues.
Settings and keybindings
DearEIS has several user-configurable settings. It is possible to configure the default values of the settings on the Kramers-Kronig, fitting, and simulation tabs as well as some aspects of the plots (e.g. colors and markers). Several keybindings, which are user-configurable, are supported for more keyboard-based navigation although a mouse or trackpad is required in some circumstances.
Features
Below is a brief overview of the main features of DearEIS. Check out the wiki for screenshots. See the included tooltips and instructions in the program for more information.
Projects
DearEIS has a project-based workflow and multiple projects can be open at the same time. Each project has a user-definable label and a section for keeping notes. Multiple projects can also be merged to form a single project.
Data sets
The experimentally obtained impedance spectra are referred to as "data sets". Each project can contain multiple data sets. Multiple noisy data sets can be averaged to produce a single data set. Individual data points can be masked to exclude outliers or to focus on a part of the spectrum. Corrections can be made by subtracting either a constant complex value, the impedance of an equivalent circuit, or another spectrum.
Data validation
Data sets can be validated by checking if they are Kramers-Kronig transformable. See pyimpspec for more details regarding the implementation of the tests.
Circuit fitting and simulation
Equivalent circuits can be constructed either by means of inputting a circuit description code (CDC) or by using the graphical, node-based circuit editor. More information about the CDC syntax can be found in the program. The circuits can be fitted to the experimental data to obtain values for the element parameters. Initial values as well as upper and lower limits can be defined for each element parameter. Element parameters can also be fixed at a constant value. The impedance spectra produced by the circuits can also be simulated in a wide frequency range. Various aspects of the circuits and the fitting results can be copied to the clipboard in different formats. For example, a table of fitted element parameters can be obtained in the form of a Markdown or LaTeX table. The mathematical expression for a circuit's impedance as a function of the applied frequency can also be obtained as e.g. a SymPy expression.
Visualization
Data sets and their corresponding results (Kramers-Kronig test or equivalent circuit fit) are visualized using simple Nyquist plots, Bode plots, and residual plots. More complex plots containing multiple data sets, Kramers-Kronig test results, equivalent circuit fitting results, and/or simulation results can also be created. These complex plots can be used to overlay and compare results more easily. However, they can also be used to create plots that can be turned into publication-ready figures with the help of a Python script (see the Scripting section for more details).
Scripting
DearEIS projects can also be used in Python scripts for the purposes of batch processing results. This capability could be used to:
- generate project files from large numbers of measurements in an automated fashion
- export the processed data to another format
- generate tables that can be included in a document written in e.g. LaTeX or Markdown
- plot publication-ready figures using e.g. matplotlib
See the Jupyter notebook for some examples. Documentation about the API can be found on the wiki.
Changelog
See CHANGELOG.md for details.
Contributors
See CONTRIBUTORS for a list of people who have contributed to the DearEIS project.
License
Copyright 2022 DearEIS developers
DearEIS is licensed under the GPLv3 or later.
The licenses of DearEIS' dependencies and/or sources of portions of code are included in the LICENSES folder.
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
File details
Details for the file deareis-1.0.0.tar.gz
.
File metadata
- Download URL: deareis-1.0.0.tar.gz
- Upload date:
- Size: 253.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fac501947cb2fe79d52a5c84c7a204b995ae8988ef6bc7638552b7f4801b637 |
|
MD5 | fc181e295c83b9936ef62bee8cce393b |
|
BLAKE2b-256 | 0a31b0970df4fadcb22b31e27b50a14130c67c7d9d568c674f19f5fd8a5cab86 |
File details
Details for the file deareis-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: deareis-1.0.0-py3-none-any.whl
- Upload date:
- Size: 338.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 704ab7f92ee01f08f4899b937dbf68e7a2229e74ffde8b53a17eac75f971cc61 |
|
MD5 | 49c675e3128b42cd7bfc753b9bf6ce0a |
|
BLAKE2b-256 | 003f1d7d7e71d55f89e93d7d79b2842fff8344e1e160847100f2b184fee4209a |