Skip to main content

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.4

Python Version

  • 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)

  1. Ensure python is installed
  2. 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

  1. 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
  1. 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
  1. 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/main/tests/gui_langmuir/settings/settings_gui_langmuir-hardcode_template.json

A buidling template is like https://github.com/umich-pstl/pstl-tools/blob/main/tests/gui_langmuir/settings/settings_gui_langmuir-02.json can also be used to in an automated script to quickly swap out probe JSON files.

In this JSON file, paths to the following are requried:

  • solver.data.BUILD.file = <path\to\data\file.csv>
  • solver.data.BUILD.negative = bool (false by default) 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.diameter = # (in meters)
  • solver.probe.BUILD.length = # (in meters, leave as zero for planar)
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pstl_tools-2024.6.4.tar.gz (4.8 MB view hashes)

Uploaded Source

Built Distribution

pstl_tools-2024.6.4-py3-none-any.whl (4.8 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page