Skip to main content

A simple GUI for viewing waveforms.

Project description

Wave Viewer

A simple GUI for viewing waveforms. It plots the waveform with vispy in a separate process. The GUI is built with PySide6.

The WaveViewer class is the main interface for the wave_viewer package. It provides methods for adding and removing lines from the plot, clearing the plot, and closing the GUI.

Installation

pip install wave-viewer

Usage

Below is a simple example of how to use the WaveViewer class. Avoid calling clear if you only want to update the plot. It is more efficient to update the plot with add_line.

from wave_viewer import WaveViewer
import numpy as np


# This if statement is required for multiprocessing on Windows
if __name__ == "__main__":
    # Create the viewer
    viewer = WaveViewer()

    # Add a line to the plot
    x = np.arange(100000) / 2e9
    y = np.exp(1j * 2 * np.pi * 1e6 * x)
    ys = [y.real, y.imag]
    viewer.add_line("line1", x, ys, offset=0)

    # Add another line to the plot
    viewer.add_line("line2", x, ys, offset=2)

    # Auto scale the plot
    viewer.autoscale()

    # Remove the first line
    viewer.remove_line("line1")

    # Replace the second line
    y = np.exp(1j * 2 * np.pi * 2e6 * x)
    ys = [y.real, y.imag]
    viewer.add_line("line2", x, ys, offset=2)

    # Clear the plot
    viewer.clear()

    # Close the GUI
    viewer.close()

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

wave_viewer-0.2.2.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

wave_viewer-0.2.2-py3-none-any.whl (6.8 kB 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