Signals
A signal is the fundamental data model in ScryLab. It fully describes a measurement or simulation trace: values, timestamps, units, and a name are managed together. This allows a signal to be dragged and dropped directly into a plot for visualization.
Structure of a Signal
Each signal consists of up to three data axes:
| Axis | Meaning | Required |
|---|---|---|
y | Amplitude or another measured value | Yes |
x | Time, frequency, amplitude, or another reference value | No - automatically generated as index if missing |
z | Third dimension - for trace lines or spectrograms | No |
The z-axis adds a third dimension to a signal: as a 1D array (same length as x and y) it creates a color-coded trace line, as a 2D matrix (shape: [len(y), len(x)]) it forms a spectrogram or heatmap.
Source Signals and Signal Instances
Signals stored directly in a data source are called source signals. When a source signal is dragged into a plot or the workspace, a signal instance is created - a reference to the original signal. Signal instances can be independently modified with operations without affecting the source signals.
Each signal can also have a display name - a shorter alias for display in the GUI, without affecting references or data.