waveform_editor.derived_waveform.DerivedWaveform

class waveform_editor.derived_waveform.DerivedWaveform(yaml_str, name, config, dd_version=None)

Bases: BaseWaveform

__init__(yaml_str, name, config, dd_version=None)

Methods

__init__(yaml_str, name, config[, dd_version])

get_metadata(dd_version)

Parses the name of the waveform and returns the IDS metadata for this waveform.

get_value([time])

Evaluate the derived waveform expression at specified times.

get_yaml_string()

Returns the current YAML expression string.

prepare_expression()

Parse the YAML expression, extract dependencies, transform it for evaluation, and compile it.

rename_dependency(old_name, new_name)

Rename a dependency waveform in the expression.

get_metadata(dd_version)

Parses the name of the waveform and returns the IDS metadata for this waveform. The name must be formatted as follows: <IDS-Name>/<IDS-path>

For example: ec_launchers/beam(2)/phase/angle

Parameters:
dd_version

Data dictionary version to create metadata for.

Returns:

The metadata of the IDS node, or None if it could not find it.

get_value(time: ndarray | None = None) tuple[numpy.ndarray, numpy.ndarray]

Evaluate the derived waveform expression at specified times.

Parameters:
time: ndarray | None = None

Array of time points. Defaults to 1000 points between config.start and config.end.

Returns:

Tuple containing the time and the derived waveform values.

get_yaml_string()

Returns the current YAML expression string.

prepare_expression()

Parse the YAML expression, extract dependencies, transform it for evaluation, and compile it.

rename_dependency(old_name, new_name)

Rename a dependency waveform in the expression.

Parameters:
old_name

Original dependency name.

new_name

New dependency name.


Last update: 2026-05-21