DRTxECM

v0.2.0 繁體中文

Frequently asked questions

Installation and running

Windows shows "Unknown publisher" or a SmartScreen warning?

Because this project has not purchased a code-signing certificate. That is common to all free open-source software and does not mean it is a virus. You can click "More info" → "Run anyway"; or build it yourself from source, so that you can be sure the executable matches the code. You can also verify the file with SHA256 on the download page.

Do I need to install Python?

No. The ZIP you download already contains the runtime environment (PyQt5 and all the scientific computing packages); just unzip it and run DRTxECM.exe. Python is only needed if you want to run or build the program from source yourself.

My antivirus software says it is a virus?

Executables packaged with PyInstaller are occasionally misidentified; this is a well-known false alarm in the industry. This project's build pipeline deliberately disables UPX compression in order to lower the false-positive rate. You can verify the file with SHA256 first, or build from source yourself.

Is macOS / Linux supported?

The program itself is a cross-platform Python project (PyQt5 + matplotlib) and can be run from source on macOS and Linux. However, the packaged portable build is currently available for Windows only, because the packaging pipeline is built in a Windows environment. For how to run it on macOS / Linux, see "Running from source" on the download page.

The first launch is very slow?

This is normal. The first launch has to load libraries such as PyQt5, matplotlib, scipy and scikit-learn, which can take a few seconds to a dozen or so seconds depending on your disk speed. Later launches are faster.

It reports "xxx.dll not found"?

This usually means it was run without being fully unzipped, or that the extraction was interrupted. Please delete the whole folder and unzip it again, and do not double-click the executable from inside the ZIP file.

Data and operation

What data formats are supported?

CSV and TXT, with three columns (frequency, Z', Z''). Different instruments use different numbers of header rows, so on import the "EIS Data Import Preprocessing Panel" opens and lets you specify how many rows to skip; you can also use Toggle Column 3 (Z'') Sign (* -1) to correct the sign of the imaginary part.

How many data points should I have?

DRT is an ill-posed inverse problem: the more points and the wider the frequency coverage, the more stable it is. In practice, at least 8 to 10 points per decade are recommended, spanning more than 4 decades overall. Too few points will make the resolution of γ(τ) insufficient and will also make the free fitting of α meaningless.

Is data cleaning mandatory?

Not strictly, but it is strongly recommended. A single outlier generates a whole sheet of spurious peaks in the DRT, which then biases the Gaussian decomposition and the circuit fitting that follow. Use Clean Noise Data (Ctrl+D) to click them away on the plot — a very small cost for a large benefit.

Can I do only the DRT and skip the circuit fitting?

Yes. The DRT results of Stage 1 are completely consistent with pyDRTtools, so you can use that stage alone and export γ(τ) without ever entering Stages 2 and 3.

Is the interface in English?

Yes. The graphical interface uses pyDRTtools' original English labels, so that existing pyDRTtools users do not have to adapt to anything new. The Chinese documentation on this website quotes the English terms directly, to make cross-referencing easy.

Method and fitting

How many peaks should I choose?

First look at how many distinct peaks the DRT γ(τ) has, and start from that number. Too few peaks leaves systematic structure in the fitting residuals; too many overfits and produces branches with no physical meaning. It is advisable to start from 2 to 4 and judge by the EIS Score and the residual plots.

The DRT results contain negative values?

Negative values of γ(τ) usually indicate insufficient regularization. You can: set the Parameter Selection Method to GCV so that the program selects λ automatically, increase FWHM Control, switch to Bayesian Run, or check whether the high-frequency inductance is being handled properly.

Can α be greater than 1?

Theoretically not. The domain of the CPE α is (0, 1], and α = 1 is an ideal capacitor. The DRTxECM default mode <= 1 restricts α to [0.2, 1.0]; an additional mode allows values up to 1.05, to absorb measurement error and series-resistance deviation so that the fit is not blocked by a hard boundary. If the reported values must conform strictly to the physical definition, use <= 1.

What if the fit does not converge?

The most common cause is initial values that are too far off. Suggestions: first use Stage 2 to obtain a good initial guess, then in Stage 3 release the parameters one at a time — let R and Q be free first, and release α after convergence. Setting all parameters to free at once usually fails.

How is this different from commercial software such as ZView?

The main differences are three: (1) DRTxECM has a complete DRT analysis built in, so you do not need to do it separately; (2) the initial values for circuit fitting are derived automatically from the DRT peaks, so there is no manual guessing; (3) the CPE phase angle α is a freely fitted parameter rather than being fixed or constrained. For a detailed comparison, see Method.

Can it converge to exactly the same DRT results as pyDRTtools?

Yes — and it does by construction. DRTxECM does not modify the pyDRTtools DRT computation code at all; the same data and settings give the same γ(τ).

Cost, privacy and licensing

Do I have to pay?

It is completely free and open source (MIT). No ads, no tracking, no paid version, no feature tiers.

Is my data uploaded anywhere?

No. All computation — including the DRT, the Gaussian decomposition and the circuit fitting — runs on your own computer. The program contains no network requests and no telemetry. You can use it with the network completely disconnected.

Can I use it commercially?

Yes. The MIT license permits use, modification and distribution without restriction, including commercial use. The only condition is that the copyright notice is retained.

How should I cite it in a paper?

If you use DRT computation results, you must cite the original pyDRTtools publications. How to cite DRTxECM itself, together with the complete reference list, is compiled under Citation & Credits.

Other

I found a bug, or I would like to request a feature?

Please report it at GitHub Issues. When reporting, include your Windows version, the DRTxECM version, and the DRT settings you used (discretization basis, Data Used, regularization parameter, etc.); this makes the problem much easier to reproduce.

Can I contribute code?

You are welcome to. The project is MIT licensed, and both pull requests and issues are open. If you modify the original DRT code under pyDRTtools/, please note that extensions.py and layout.py are the DRTxECM extension parts, while the remaining files are the original pyDRTtools content.