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.3.0.tar.gz (257.1 kB view details)

Uploaded Source

Built Distribution

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

wavemonitor-0.3.0-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wavemonitor-0.3.0.tar.gz
  • Upload date:
  • Size: 257.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wavemonitor-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9366f9d844afc7e61c3839a4cd0c6ee05c002c808a6781e713aaf530a858863a
MD5 7ce657c2c88650e9be52a6e163e3e526
BLAKE2b-256 58d510e8e774ab57da74c7eb8abf335e4b72978e9ca5c0e98cfce19e476798d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wavemonitor-0.3.0.tar.gz:

Publisher: python-publish.yml on Qiujv/WaveMonitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: wavemonitor-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wavemonitor-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f848903df31a5fd6b92ea4b99dbf11ddfd679f9c00f9a2e36deb2f59be838b39
MD5 f7d280b769d32b80818522922e5d6aba
BLAKE2b-256 e6a23dbd36749ee4d4551e9d4f71d1d3929e2bbddb711b2263289d48d66e7b18

See more details on using hashes here.

Provenance

The following attestation bundles were made for wavemonitor-0.3.0-py3-none-any.whl:

Publisher: python-publish.yml on Qiujv/WaveMonitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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