Skip to main content

A simple GUI for monitoring waveforms.

Project description

Wave Monitor

snapshot

A simple GUI for monitoring waveforms. It plots waveforms with PyQtGraph in a separate process. The GUI is built with PySide6.

The WaveMonitor class is the main interface. It provides methods for adding and removing waveforms from the plot, clearing the plot, and etc.

In GUI, right click to show the menu. Keyboard shortcuts are also supported.

Installation

pip install WaveMonitor

or install from source.

pip install git+https://github.com/Qiujv/WaveMonitor.git

Usage

Avoid calling clear if you only want to update the plot. It is more efficient to update the plot with add_wfm.

from wave_monitor import WaveMonitor
import numpy as np

monitor = WaveMonitor()
monitor.autoscale()
# monitor.clear()

t = np.linspace(0, 1, 1_000_001)  # 1m pts ~= 1ms for 1GSa/s.
n = 20
i_waves = [np.cos(2 * np.pi * f * t) for f in range(1, n + 1)]
q_waves = [np.sin(2 * np.pi * f * t) for f in range(1, n + 1)]

for i, (i_wave, q_wave) in enumerate(zip(i_waves, q_waves)):
    monitor.add_wfm(f"wave_{i}", t, [i_wave, q_wave])
monitor.autoscale()

monitor.add_wfm("wave_1", t, [i_waves[-1], q_waves[-1]])  # Replaces previous wfm.

monitor.remove_wfm("wave_10")

Thanks

This project is derived from WaveViewer.

The icon is downloaded from https://www.freepik.com/icons/oscilloscope and made by piksart.

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

wavemonitor-0.0.5.tar.gz (63.3 kB view details)

Uploaded Source

Built Distribution

wavemonitor-0.0.5-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file wavemonitor-0.0.5.tar.gz.

File metadata

  • Download URL: wavemonitor-0.0.5.tar.gz
  • Upload date:
  • Size: 63.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.10

File hashes

Hashes for wavemonitor-0.0.5.tar.gz
Algorithm Hash digest
SHA256 bd6e43e8a4762388a7ec371053c38011952c0b22348600e91a6a679c8c1e0e7d
MD5 8730136743b7e0ecb6aa1e6e5e522b86
BLAKE2b-256 7f138a4f32533862011608ee984e5d8364603795f0e51e22a384e864acc911ee

See more details on using hashes here.

File details

Details for the file wavemonitor-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: wavemonitor-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 28.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.10

File hashes

Hashes for wavemonitor-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8f81f66190dd24e50cd9ce01a6d25bef9ee32afdeb372294d21f29631cf44fa0
MD5 fdf5e4061265433db01272cc65d907ce
BLAKE2b-256 12c8fe9cd9b94e578b242e8acba2c2f58fe3406d811700f8ad7492e06f0185e7

See more details on using hashes here.

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