Spectrum Scope

class gpype.frontend.widgets.spectrum_scope.SpectrumScope[source]

Bases: Scope

Frequency domain visualization widget for spectral analysis.

Displays real-time frequency spectrum of input signals with configurable amplitude limits and averaging. Shows multiple channels with automatic scaling and frequency axis labeling.

DEFAULT_AMPLITUDE_LIMIT = 50

Default maximum amplitude for display scaling

DEFAULT_NUM_AVERAGES = 10

Default number of spectra to average for smoothing

class Configuration[source]

Bases: Configuration

class Keys[source]

Bases: Keys

AMPLITUDE_LIMIT = 'amplitude_limit'

Configuration key for maximum amplitude display limit

NUM_AVERAGES = 'num_averages'

Configuration key for number of averaging samples

class KeysOptional[source]

Bases: object

HIDDEN_CHANNELS = 'hidden_channels'

Configuration key for list of channels to hide from display

__init__(amplitude_limit=None, num_averages=None, hidden_channels=None, **kwargs)[source]

Initialize the SpectrumScope widget.

Parameters:
  • amplitude_limit (float, optional) – Maximum amplitude for display scaling. Defaults to 50.

  • num_averages (int, optional) – Number of spectra to average. Defaults to 10.

  • hidden_channels (list, optional) – List of channel indices to hide. Defaults to empty list.

  • **kwargs – Additional arguments passed to parent classes.

setup(data, port_context_in)[source]

Set up the spectrum scope with frequency vector and channels.

Parameters:
  • data (dict) – Initial data dictionary.

  • port_context_in (dict) – Input port context information.

Returns:

Output port context from parent setup.

Return type:

dict

Raises:

ValueError – If required parameters are missing or invalid.

step(data)[source]

Process incoming FFT data and update buffer for averaging.

Parameters:

data (dict) – Dictionary containing FFT amplitude data.

Returns:

Unchanged input data (pass-through).

Return type:

dict