Python scripts for making working with UMICH NERS PSTL Lab Equipment much easier
Project description
pstl-tools
Python scripts for making working with UMICH NERS PSTL Lab Equipment much easier
Current Version
v2024.06.2
Tested Python Versions
- v3.11
Requried Packages
- pyvisa (with VISA library aviable or pyvisa-py)
- numpy
- scipy
- pandas
- matplotlib
Optional Packages
pyvisa-py
- pyvisa-py
dev
- pip-tools
- psutil
- zeroconf
other
- pyserial
- alicat
Subpackages
Install
Via Python virtutal enviroment (venv)
- Ensure python is installed
- Run in command line
For Linux or Mac
python -m venv <path/to/directory/to/store/venvs/your-venv>
For Windows
python -m venv <path\to\directory\to\store\venvs\your-venv>
Replace python with the python version you want to use i.e. python3.11
- Now activate your python venv
For Linux or Mac
source <path/to/directory/to/store/venvs>/bin/activate
For Windows
<path\to\directory\to\store\venvs>\Scripts\activate.bat
- Run pip install (If you have a VISA library installed, if not skip to step 5)
pip install pstl-tools
--or--
python -m pip install pstl-tools
- Must have one of the following
-
VISA Library from NI-LABVIEW or alternative
-
Install pyvisa-py and other dependences (open-source version of the previous)
If no visa library (from NI-LABVIEW or Keysight etc), you may see an error saying:
ValueError: Could not locate a VISA implementation. Install either the IVI binary or pyvisa-py.
then, run the following
pip install pyvisa-py
For more help with python venv
GUI Langmuir Example
Have a .CSV file comma delimlated with one-line for the headers.
Run the following once python package is installed via pip install
gui_langmuir <-additional flags>
some optional flags are
- -S, --settings_file "path/to/settings_file.json"
i.e.
gui_langmuir -S settings_gui_langmuir.json
this runs a single Langmuir probe anaylsis and saves graphs when save button is hit.
A template hardcoded settings file can be found at https://github.com/umich-pstl/pstl-tools/blob/dev/tests/gui_langmuir/settings/settings_gui_langmuir-hardcode_template.json
In this JSON file, paths to the following are requried:
- solver.data.BUILD.file = <path\to\data\file.csv> The kwargs have delimiter is set to "," but can be "\t" for tab-delimited. If there is a header set header=0 if not, null. If there are extra rows above the header set skiprows=number of these rows.
The plasma settings need to also be defined under
- solver.plasma.BUILD (either neutral_gas = xenon, krypton, neon or m_i needs to be defined)
The probe dimensions need to be defined as well under
- solver.probe.BUILD (all diameters and lengths are in meters) and probe type
- sovler.probe.BUILD.shape = (spherical, cylindrical, planar)
Optional definitions inclued
- preprocess = true (to remove noisy data points, default is true but maybe changed in the future)
- name = "NAME-TO-DISPLAY-ON-SOLVER-GUI"
- canvas_kwargs.saveas = "BASENAME-TO-SAVE-PLOT-AS.png"
- cavas_kwargs.width(or height) = size of gui plots
- panal_kwargs.displays_kwargs.fname = "NAME-TO-SAVE-RESULTS.csv"
future updates will have additional buttons to change the analysis methods
Examples of the GUI Langmuir can be found in the same locations as the template.
Known issue in
settings_langmuir_solver-01.json
using the negative index for fits.
Acknowledgements
If you use this package for analysis, please acknowledge this package and version used.
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 pstl_tools-2024.6.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 099b43be240c9df4a2d40ad89dc8e04ac483270c76ecb24880608d20326e1666 |
|
MD5 | 32ab176b7f810ed1a5d47604c9cb7222 |
|
BLAKE2b-256 | 4c52d44153257272fb5ba52773b4bba31fc975450bd0a1dbdf21a9447ad1c8a4 |