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

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.12.0.tar.gz (4.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pstl_tools-2024.12.0-py3-none-any.whl (4.8 MB view details)

Uploaded Python 3

File details

Details for the file pstl_tools-2024.12.0.tar.gz.

File metadata

  • Download URL: pstl_tools-2024.12.0.tar.gz
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for pstl_tools-2024.12.0.tar.gz
Algorithm Hash digest
SHA256 46146c02b6ca009e02d26783601bbfb8ae4a788052655fd692c6f36840e86eb7
MD5 65671a38bbec9f8e958b376c11f1141d
BLAKE2b-256 fe8e89e237b3a1147ca8f56445b2173969a2d4e3991207a76d53bdc0cc12a658

See more details on using hashes here.

File details

Details for the file pstl_tools-2024.12.0-py3-none-any.whl.

File metadata

  • Download URL: pstl_tools-2024.12.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for pstl_tools-2024.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e75bf07757369004689ebcee34dda0b3325df0c89f620d2dd0fa798275f5d542
MD5 7fb0934b18ffbf8130d0e15c1ccabaee
BLAKE2b-256 801fedb5db6f0cb8a4f6cb4a0e332d27319cbf4e157138abac041cd4fd92f7f2

See more details on using hashes here.

Supported by

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