Skip to content

Commit

Permalink
Merged dev-4-1-0 branch
Browse files Browse the repository at this point in the history
  • Loading branch information
vyrjana committed Mar 22, 2023
1 parent ec264d4 commit 2a310fe
Show file tree
Hide file tree
Showing 64 changed files with 216 additions and 113 deletions.
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# 4.1.0 (2023/03/22)

- Added a `Copy` button next to the fit results in the `Subtract impedance` window. This button can be used to copy a fitted circuit to the `Circuit` option above.
- Updated appearance of nodes and links of fitted/simulated circuits in the `Fitting`/`Simulation` tab.
- Updated how plots are resized in various tabs.
- Refactored some parts of the `Subtract impedance` window.
- Fixed a bug where selecting a data set in the `Simulation` tab by using the mouse caused the current simulation result to become deselected.


# 4.0.1 (2023/03/21)

- Fixed bug that caused the mask that was applied to the original data to also be applied to the new data set when subtracting impedances.
- Fixed a bug that caused the mask that was applied to the original data to also be applied to the new data set when subtracting impedances.
- Fixed bugs related to keybindings in the file dialog window.
- Fixed bugs causing plots in the `Fitting` and `Simulation` tabs to have incorrect heights on Windows.

Expand Down
8 changes: 6 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,12 @@ validate_tar
validate_wheel

# Update documentation
# - The contents of ./docs/build/html should be committed to the gh-pages branch
# - ./docs/build/latex/latex/deareis.pdf should be uploaded as an attachment to a release
# - The contents of ./dist/html should be committed to the gh-pages branch
# - Run the reset.sh script found in gh-pages
# - Copy the files from ./dist/html
# - Commit
# - Force push
# - ./dist/DearEIS-X-Y-Z.pdf should be uploaded as an attachment to a release
echo
echo "Generating documentation..."
# Generate HTML, run tests, and finally generate PDF
Expand Down
4 changes: 4 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Documentation

The documentation is generated via `build.sh` from the repository root.
Screenshots are stored in the wiki repository: https://github.com/vyrjana/DearEIS.wiki.git
2 changes: 1 addition & 1 deletion docs/source/guide_batch.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The various tabs dedicated to performing some form of analysis also have a **Bat
These buttons bring up a window (:numref:`batch_window`)where multiple data sets can be selected for inclusion in a batch analysis.

.. _batch_window:
.. figure:: images/batch-analysis.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/batch-analysis.png
:alt: The Batch analysis window

An example of the **Batch analysis** window where a few data sets have been selected.
Expand Down
2 changes: 1 addition & 1 deletion docs/source/guide_command_palette.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ When there isn't a modal/popup window open, then it is possible to perform actio
The contents of the list of actions depends upon the context (e.g., which tab is currently open).

.. _command_palette:
.. figure:: images/command-palette.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/command-palette.png
:alt: The Command palette window

Various actions can be performed via the **Command palette**, which only requires memorization of a single keybinding (``Ctrl+P`` by default).
Expand Down
14 changes: 7 additions & 7 deletions docs/source/guide_data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Multiple impedance spectra (or *data sets*) can be loaded and processed in the *


.. _data_tab:
.. figure:: images/data-sets-tab.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/data-sets-tab.png
:alt: The Data sets tab of a project

The data point around 50 Hz has been omitted from this rather noisy data set as an outlier.
Expand Down Expand Up @@ -75,7 +75,7 @@ Middle-mouse clicking and dragging a region in a plot in that window can also be


.. _toggle_figure:
.. figure:: images/data-sets-tab-toggle.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/data-sets-tab-toggle.png
:alt: Masking multiple points

The **Toggle points** can be used to (un)mask multiple data points in several ways.
Expand All @@ -91,7 +91,7 @@ If multiple data sets will need to have the same (or very similar) masks, then t


.. _mask_figure:
.. figure:: images/data-sets-tab-copy.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/data-sets-tab-copy.png
:alt: Copying masks from another data set

The **Copy mask** includes a preview of what the current data set would look like with the mask that was applied to another data set in :numref:`toggle_figure`.
Expand Down Expand Up @@ -121,7 +121,7 @@ Only data sets with the same frequencies can be averaged.
Make sure that the measurements differ due to random noise rather than, e.g., drift before using this feature.

.. _averaging_figure:
.. figure:: images/data-sets-tab-averaging.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/data-sets-tab-averaging.png
:alt: Averaging of multiple data sets

Two data sets have been chosen (markers) and an average data set has been generated (line).
Expand All @@ -143,7 +143,7 @@ Alternatively, if the smoothing and interpolation cannot provide a reasonable re


.. _interpolation_figure:
.. figure:: images/data-sets-tab-interpolation.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/data-sets-tab-interpolation.png
:alt: Interpolation of data points

The outlier (red marker), which was masked in :numref:`data_tab`, has been replaced with a value (orange marker) along the interpolated spline (green line).
Expand All @@ -163,10 +163,10 @@ The recorded impedances can also be corrected by subtracting one of the followin
- a fitted circuit
- another data set

This feature can be used to correct for some aspect of a measurement setup that is independent of the sample itself.
This feature can be used to, e.g., correct for some aspect of a measurement setup that is independent of the sample itself.

.. _subtraction_figure:
.. figure:: images/data-sets-tab-subtraction.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/data-sets-tab-subtraction.png
:alt: Subtraction of impedances from a recorded spectrum

A resistance of 100 ohm is subtracted from a data set.
Expand Down
8 changes: 4 additions & 4 deletions docs/source/guide_drt.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ DRT calculations can be performed in the **DRT analysis** tab (:numref:`drt_tab`
- a table of the settings that were used to obtain the active result

.. _drt_tab:
.. figure:: images/drt-tab-interpolated.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/drt-tab-interpolated.png
:alt: The DRT analysis tab of a project

An example of a result obtained with the noisy data set with the interpolated data point near 50 Hz and the TR-RBF method.
Expand All @@ -38,7 +38,7 @@ Below are some examples of this.
The overlay plots shown below are created using the **Plotting** tab (more information about that can be found in the :doc:`/guide_plotting` subchapter).

.. _drt_overlay:
.. figure:: images/drt-overlaid.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/drt-overlaid.png
:alt: Three overlaid DRT spectra

Three overlaid DRT spectra that were obtained with the TR-RBF method using the same settings: with outlier (original), without outlier (omitted), and with the outlier replaced (interpolated).
Expand All @@ -51,7 +51,7 @@ The overlay plots shown below are created using the **Plotting** tab (more infor


.. _drt_overlay_2:
.. figure:: images/drt-overlaid-2.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/drt-overlaid-2.png
:alt: Six overlaid DRT spectra

Additional DRT spectra, which were obtained by fitting **R(RC)(RQ)** circuits and calculating the DRT using the m(RQ)fit method, overlaid on top of :numref:`drt_overlay`.
Expand All @@ -67,7 +67,7 @@ The overlay plots shown below are created using the **Plotting** tab (more infor
One can see based on :numref:`drt_overlay_2` that different DRT methods can produce very different results, but the settings and amount of noise in the data also have a significant effect as can be seen in :numref:`drt_overlay_3`.

.. _drt_overlay_3:
.. figure:: images/drt-overlaid-3.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/drt-overlaid-3.png
:alt: Four overlaid DRT spectra

In this example two DRT spectra are shown for each of the data sets: ideal (no noise) and interpolated (noisy with the outlier replaced).
Expand Down
10 changes: 5 additions & 5 deletions docs/source/guide_fitting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The **Fitting** tab is where equivalent circuits can be fitted to data sets (:nu


.. _fitting_tab:
.. figure:: images/fitting-tab.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/fitting-tab.png
:alt: The Fitting tab of a project.

An example of an **R(RC)(RW)** circuit that has been fitted to a data set.
Expand Down Expand Up @@ -88,13 +88,13 @@ One can also set a parameter to have a fixed value.


.. _circuit_editor:
.. figure:: images/fitting-tab-editor.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/fitting-tab-editor.png
:alt: Example of the circuit editor window

The graphical circuit editor can be used to construct equivalent circuits and to define the initial values and limits of parameters.

.. _container_elements:
.. figure:: images/fitting-tab-container.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/fitting-tab-container.png
:alt: Example of the parameters and subcircuits of a container element

Container elements such as the general transmission line model have subcircuits that can also be modified.
Expand All @@ -104,7 +104,7 @@ If there is an issue with the equivalent circuit (e.g., a missing or invalid con
The **Status** field at the bottom of the window should offer some help regarding the nature of the issue and the affected node should be highlighted with a red label (:numref:`invalid_circuit`).

.. _invalid_circuit:
.. figure:: images/fitting-tab-invalid.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/fitting-tab-invalid.png
:alt: Example of a status message for an invalid circuit (e.g., missing connection)

If the circuit is invalid because of, e.g., a missing connection, then that is indicated by highlighting the affected node and by showing a relevant error message in the status field near the bottom of the window.
Expand All @@ -117,7 +117,7 @@ The parameters of each circuit element can be adjusted via the circuit editor.
However, there is also a separate parameter adjustment window that provides a real-time preview of the impedance spectrum produced by the circuit.
This window is accessible from the **Fitting** tab (i.e., not from the circuit editor).

.. figure:: images/fitting-tab-adjustment.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/fitting-tab-adjustment.png
:alt: The parameter adjustment window in the Fitting tab

The parameter adjustment window provides a convenient way of dialing in the initial values before performing a fit.
Expand Down
12 changes: 6 additions & 6 deletions docs/source/guide_plotting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The plot settings can also be used via the API provided by DearEIS, which means
This approach would also mean that a plotting library other than `matplotlib`_, which is the default backend for exporting plots using DearEIS, could be used instead.

.. _plotting_tab:
.. figure:: images/plotting-tab.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/plotting-tab.png
:alt: The Plotting tab of a project

The **Plotting** tab can be used to create plots containing multiple data sets and/or results.
Expand All @@ -27,7 +27,7 @@ The **Available** tab (:numref:`available`) contains entries for all of the data
Individual items can be selected by ticking their corresponding checkboxes.

.. _available:
.. figure:: images/plotting-tab-available.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/plotting-tab-available.png
:alt: The Available tab within the Plotting tab

Data sets and/or results can be selected from the **Available** tab.
Expand Down Expand Up @@ -57,7 +57,7 @@ An item's label, which is used in the plot's legend, can be overridden by typing
If one or more spaces, " ", are given as the new label, then the item will not have an entry in the legend.

.. _active:
.. figure:: images/plotting-tab-active.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/plotting-tab-active.png
:alt: The Active tab within the Plotting tab

The label and appearance of the selected items can be modified in the **Active** tab.
Expand All @@ -67,7 +67,7 @@ An item's appearance (color, marker shape, and whether or not it should have a l
The **U** and **D** buttons can be used to adjust the order of an item when generating a plot, which affects the legend and whether or not an item will either be covered by or be covering some other item.

.. _edit:
.. figure:: images/plotting-tab-edit.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/plotting-tab-edit.png
:alt: The Edit appearance window within the Plotting tab

The **Edit appearance** window that can be used to define the color associated with a plottable item.
Expand All @@ -81,7 +81,7 @@ The second approach is to use the menu that is accessible via the **Copy appeara
One can choose which plot to copy from, which items to copy settings from, and which categories of settings to copy (label, colors, etc.).

.. _copy:
.. figure:: images/plotting-tab-copy.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/plotting-tab-copy.png
:alt: The Copy appearance settings window within the Plotting tab

The **Copy appearance settings** window is for copying the appearance settings for multiple items from one plot to another.
Expand All @@ -100,7 +100,7 @@ The plots (|PlotSettings|) and the items (|PlotSeries|) included in the plots ar
This means means that one can compose a plot using the GUI and generate the final plot using the API, which allows for batch exporting and also for greater control of a plot's appearance.

.. _export:
.. figure:: images/plotting-tab-export.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/plotting-tab-export.png
:alt: The Export plot window within the Plotting tab

The **Export plot** window is for previewing and preparing to save a plot as a file.
Expand Down
4 changes: 2 additions & 2 deletions docs/source/guide_projects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The entire list can be cleared and individual entries can be also be removed.
Two or more projects can also be merged to form a new project.

.. _home_tab:
.. figure:: images/home-tab.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/home-tab.png
:alt: The Home tab of the program

Recent projects are easily accessible from the **Home** tab.
Expand Down Expand Up @@ -57,7 +57,7 @@ Multiple projects can be open at the same time as separate tabs and each project
- The **Plotting** tab is for composing figures where multiple results can be overlaid on top of each other.

.. _overview_tab:
.. figure:: images/overview-tab.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/overview-tab.png
:alt: The Overview tab of a project

Notes about a project can be kept in the **Overview** tab.
Expand Down
8 changes: 4 additions & 4 deletions docs/source/guide_settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Some aspects of the appearances of various plots can be defined (:numref:`appear
Some of these settings are also mixed and matched in some plots when there are more items to plot than shown in the plots in this window (e.g., see the plots in the window for interpolating data points in the **Data sets** tab).

.. _appearance:
.. figure:: images/settings-appearance.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/settings-appearance.png
:alt: The Appearance settings window

Most changes made to plot appearances should take effect immediately.
Expand All @@ -41,7 +41,7 @@ Defaults
The default settings that are used in, e.g., the tabs for performing analyses can be defined here (:numref:`defaults`).

.. _defaults:
.. figure:: images/settings-defaults.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/settings-defaults.png
:alt: The Default settings window

Changes made to defaults should take effect immediately.
Expand All @@ -59,7 +59,7 @@ If an update to DearEIS changes or adds keybindings for actions, then those keyb
In such cases it may be necessary to manually assign keybindings to those actions or to simply reset the keybindings.

.. _keybindings:
.. figure:: images/settings-keybindings.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/settings-keybindings.png
:alt: The Keybinding settings window

The keybindings defined in this window apply to a great extent also to modal/popup windows with similar functionality (e.g., for cycling results or plot types).
Expand Down Expand Up @@ -91,7 +91,7 @@ The relevant functions and classes are available via the APIs of both DearEIS (:
So keep track of your script(s) that define user-defined elements and consider creating new elements when changes have to be made.

.. _user_defined_elements:
.. figure:: images/settings-user-defined-elements.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/settings-user-defined-elements.png
:alt: The User-defined elements window

Specify the path to a Python script and then click the **Refresh** button.
Expand Down
2 changes: 1 addition & 1 deletion docs/source/guide_simulation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The simulated impedance spectra can be loaded as data sets, which means that the
The **Simulation** tab can thus be very useful for teaching, demonstration, and development purposes.

.. _simulation_tab:
.. figure:: images/simulation-tab.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/simulation-tab.png
:alt: The Simulation tab of a project.

An example of where a fitted circuit's impedance response has been extrapolated outside of the frequency range of the original experimental data.
Expand Down
10 changes: 5 additions & 5 deletions docs/source/guide_validation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Data validation based on linear Kramers-Kronig testing can be performed in the *
- different plots

.. _kk_tab:
.. figure:: images/kramers-kronig-tab.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/kramers-kronig-tab.png
:alt: The Kramers-Kronig tab of a project

A Kramers-Kronig test result for the noisy data set with the omitted outlier.
Expand All @@ -46,7 +46,7 @@ However, these results are presented in a modal window for inspection (:numref:`
- Bode plot

.. _exploratory_window:
.. figure:: images/kramers-kronig-tab-exploratory.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/kramers-kronig-tab-exploratory.png
:alt: Window of exploratory test results

The plot of |mu| fluctuates a bit at low numbers of parallel RC elements in this example, but wilder fluctuations can in some cases (depending on the chosen |mu|-criterion) result in a false negative when using the **Auto** mode.
Expand Down Expand Up @@ -82,7 +82,7 @@ Data validation using the `Z-HIT algorithm <https://en.wikipedia.org/wiki/Z-HIT>


.. _zhit_tab:
.. figure:: images/zhit-tab.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/zhit-tab.png
:alt: The Z-HIT analysis tab of a project

The modulus data that is plotted in the upper plot has been reconstructed (red line) based on the phase data (orange markers and green line) of some example data that exhibits drift at low frequencies (blue markers).
Expand All @@ -103,7 +103,7 @@ The weights can also be previewed in a window (:numref:`weights_window`) that is
This window can help with selecting a window function and appropriate parameters for it.

.. _weights_window:
.. figure:: images/zhit-tab-weights.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/zhit-tab-weights.png
:alt: A window for previewing weights

It is possible to preview the weights that could be applied when fitting the approximated modulus data to the experimental modulus data.
Expand All @@ -128,7 +128,7 @@ The settings that were used to perform the active test result are also presented
The mask that was applied to the data set when the test was performed can be applied by pressing the **Apply mask** button.
If the mask that is applied to the data set has changed since an earlier analysis was performed, then that will be indicated clearly above the statistics table.

.. figure:: images/kramers-kronig-tab-warning.png
.. figure:: https://raw.githubusercontent.com/wiki/vyrjana/DearEIS/images/kramers-kronig-tab-warning.png
:alt: Invalid result because the data set mask has changed

An example of the warning (red text on the left-hand side) that could be shown if, e.g., the mask applied to a data set has been changed after an analysis has been performed.
Expand Down
Binary file removed docs/source/images/batch-analysis.png
Binary file not shown.
Binary file removed docs/source/images/command-palette.png
Binary file not shown.
Binary file removed docs/source/images/data-sets-tab-averaging.png
Binary file not shown.
Binary file removed docs/source/images/data-sets-tab-copy.png
Binary file not shown.
Binary file removed docs/source/images/data-sets-tab-interpolation.png
Binary file not shown.
Binary file removed docs/source/images/data-sets-tab-subtraction.png
Binary file not shown.
Binary file removed docs/source/images/data-sets-tab-toggle.png
Binary file not shown.
Binary file removed docs/source/images/data-sets-tab.png
Binary file not shown.
Binary file removed docs/source/images/drt-overlaid-2.png
Binary file not shown.
Binary file removed docs/source/images/drt-overlaid-3.png
Binary file not shown.
Binary file removed docs/source/images/drt-overlaid.png
Binary file not shown.
Binary file removed docs/source/images/drt-tab-interpolated.png
Binary file not shown.
Binary file removed docs/source/images/drt-tab-omitted.png
Binary file not shown.
Binary file removed docs/source/images/fitting-tab-adjustment.png
Binary file not shown.
Binary file removed docs/source/images/fitting-tab-container.png
Binary file not shown.
Binary file removed docs/source/images/fitting-tab-editor.png
Binary file not shown.
Binary file removed docs/source/images/fitting-tab-invalid.png
Binary file not shown.
Binary file removed docs/source/images/fitting-tab.png
Binary file not shown.
Binary file removed docs/source/images/home-tab.png
Binary file not shown.
Binary file not shown.
Binary file removed docs/source/images/kramers-kronig-tab-warning.png
Binary file not shown.
Binary file removed docs/source/images/kramers-kronig-tab.png
Binary file not shown.
Binary file removed docs/source/images/overview-tab.png
Binary file not shown.
Binary file removed docs/source/images/plotting-tab-active.png
Binary file not shown.
Binary file removed docs/source/images/plotting-tab-available.png
Binary file not shown.
Binary file removed docs/source/images/plotting-tab-copy.png
Diff not rendered.
Binary file removed docs/source/images/plotting-tab-edit.png
Diff not rendered.
Binary file removed docs/source/images/plotting-tab-export.png
Diff not rendered.
Binary file removed docs/source/images/plotting-tab.png
Diff not rendered.
Binary file removed docs/source/images/settings-appearance.png
Diff not rendered.
Binary file removed docs/source/images/settings-defaults.png
Diff not rendered.
Binary file removed docs/source/images/settings-keybindings.png
Diff not rendered.
Diff not rendered.
Binary file removed docs/source/images/simulation-tab.png
Diff not rendered.
Binary file removed docs/source/images/zhit-tab-weights.png
Diff not rendered.
Binary file removed docs/source/images/zhit-tab.png
Diff not rendered.
Loading

0 comments on commit 2a310fe

Please sign in to comment.