Reference Waveform¶
Reference waveform management
Reference waveform storage and management for comparison.
ReferenceWaveform
¶
Manages reference waveforms for comparison with live data.
Reference waveforms are stored as NPZ files in a user directory, allowing users to capture and compare against known-good signals.
Initialize reference waveform manager.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
storage_dir
|
Optional[str]
|
Directory to store reference waveforms. Defaults to ~/.siglent/references/ |
None
|
Source code in scpi_control/reference_waveform.py
save_reference
¶
Save a waveform as a reference.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
waveform
|
WaveformData object |
required | |
name
|
str
|
Reference name (will be sanitized) |
required |
metadata
|
Optional[Dict[str, Any]]
|
Optional metadata dictionary |
None
|
Returns:
| Type | Description |
|---|---|
str
|
Path to saved reference file |
Raises:
| Type | Description |
|---|---|
ValueError
|
If waveform is None or name is empty |
IOError
|
If save fails |
Source code in scpi_control/reference_waveform.py
load_reference
¶
Load a reference waveform by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Reference name or filename |
required |
Returns:
| Type | Description |
|---|---|
Optional[Dict[str, Any]]
|
Dictionary with 'time', 'voltage', and 'metadata' keys, or None if not found |
Source code in scpi_control/reference_waveform.py
list_references
¶
List all available reference waveforms.
Returns:
| Type | Description |
|---|---|
List[Dict[str, Any]]
|
List of dictionaries with reference information |
Source code in scpi_control/reference_waveform.py
delete_reference
¶
Delete a reference waveform.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Reference name or filename |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if deleted successfully, False otherwise |
Source code in scpi_control/reference_waveform.py
rename_reference
¶
Rename a reference waveform.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
old_name
|
str
|
Current reference name |
required |
new_name
|
str
|
New reference name |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if renamed successfully, False otherwise |
Source code in scpi_control/reference_waveform.py
calculate_difference
¶
Calculate difference between a waveform and reference.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
waveform
|
WaveformData object |
required | |
reference_data
|
Dict[str, Any]
|
Reference data dictionary from load_reference() |
required |
Returns:
| Type | Description |
|---|---|
Optional[ndarray]
|
Difference array (waveform - reference) or None if incompatible |
Source code in scpi_control/reference_waveform.py
calculate_correlation
¶
Calculate correlation coefficient between waveform and reference.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
waveform
|
WaveformData object |
required | |
reference_data
|
Dict[str, Any]
|
Reference data dictionary from load_reference() |
required |
Returns:
| Type | Description |
|---|---|
Optional[float]
|
Correlation coefficient (0.0 to 1.0) or None if incompatible |
Source code in scpi_control/reference_waveform.py
get_storage_size
¶
Get total size of reference storage in bytes.
Returns:
| Type | Description |
|---|---|
int
|
Total size in bytes |
Source code in scpi_control/reference_waveform.py
clear_all_references
¶
Delete all reference waveforms.
Returns:
| Type | Description |
|---|---|
int
|
Number of references deleted |
Source code in scpi_control/reference_waveform.py
See Also¶
- Oscilloscope - Main oscilloscope control class for SCPI communication
- Waveform - Waveform acquisition and data handling