Spectrum Scope

class gpype.frontend.widgets.spectrum_scope.SpectrumScope(amplitude_limit=None, num_averages=None, hidden_channels=None, **kwargs)[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.

Parameters:
  • amplitude_limit (float)

  • num_averages (int)

  • hidden_channels (list)

DEFAULT_AMPLITUDE_LIMIT = 50
DEFAULT_NUM_AVERAGES = 10
class Configuration(input_ports=None, **kwargs)[source]

Bases: Configuration

Parameters:

input_ports (list)

class Keys[source]

Bases: Keys

AMPLITUDE_LIMIT = 'amplitude_limit'
NUM_AVERAGES = 'num_averages'
class KeysOptional[source]

Bases: object

HIDDEN_CHANNELS = 'hidden_channels'
__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