Signal Processing¶
processing ¶
Signal processing subpackage.
Re-exports all public symbols so from owi.metadatabase.shm.processing import X
continues to work unchanged.
Classes¶
ConfigDiscovery ¶
Bases: ABC
Discover farm configuration files from a filesystem path.
Functions¶
discover
abstractmethod
¶
Return a turbine-to-config-path mapping.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_configs
|
str | Path
|
Filesystem path to a directory of configuration files or a single configuration file. |
required |
turbines
|
Sequence[str] | None
|
Optional subset of turbine identifiers to retain from the discovered files. |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, Path]
|
Mapping from turbine identifier to configuration file path. |
Source code in src/owi/metadatabase/shm/processing/discovery.py
JsonStemConfigDiscovery
dataclass
¶
Bases: ConfigDiscovery
Discover JSON configuration files by stem name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
suffix
|
str
|
File suffix treated as a valid configuration file. |
'.json'
|
Examples:
Functions¶
discover ¶
Return available JSON config files keyed by turbine name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_configs
|
str | Path
|
Directory containing configuration files or a single JSON config path. |
required |
turbines
|
Sequence[str] | None
|
Optional subset of turbine stems to retain from the discovered files. |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, Path]
|
Mapping from turbine stem to configuration path. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the path does not resolve to usable JSON files or the requested turbine subset is empty. |
Source code in src/owi/metadatabase/shm/processing/discovery.py
DelimitedSignalKeyParser
dataclass
¶
Parse delimited signal-property keys.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
signal_prefixes
|
tuple[str, ...]
|
Raw key prefixes that belong to direct signal properties. |
required |
separator
|
str
|
Separator between the signal identifier and the property name. |
'/'
|
Examples:
>>> parser = DelimitedSignalKeyParser(signal_prefixes=("WF", "X/", "Y/", "Z/"))
>>> parser.parse("WF_WTG_TP_STRAIN/status")
SignalEventKey(signal_name='WF_WTG_TP_STRAIN', property_name='status')
>>> parser.parse("acceleration/yaw_transformation") is None
True
Functions¶
matches ¶
Return True when the raw key belongs to a direct signal.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
raw_key
|
str
|
Raw configuration key to test. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
Whether the key starts with one of the configured signal prefixes. |
Source code in src/owi/metadatabase/shm/processing/parsing.py
parse ¶
Parse a raw key into a signal/property pair.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
raw_key
|
str
|
Raw configuration key containing a signal name and property name
separated by :attr: |
required |
Returns:
| Type | Description |
|---|---|
SignalEventKey or None
|
Parsed key, or None when the key does not match or lacks a separator. |
Source code in src/owi/metadatabase/shm/processing/parsing.py
SignalEventKey
dataclass
¶
Parsed signal-property key.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
signal_name
|
str
|
Canonical signal identifier. |
required |
property_name
|
str
|
Property name carried by the raw configuration key. |
required |
ConfiguredSignalConfigProcessor ¶
Bases: SignalConfigProcessor
Signal processor backed by an explicit farm spec.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_configs
|
str | Path
|
Directory or JSON file containing farm signal configuration events. |
required |
processor_spec
|
SignalProcessorSpec
|
Explicit processor specification that defines parsing, derivation, and discovery behavior. |
required |
turbines
|
Sequence[str] | None
|
Optional subset of turbine stems to process during discovery. |
None
|
Examples:
>>> from owi.metadatabase.shm.processing import DelimitedSignalKeyParser, SignalProcessorSpec
>>> spec = SignalProcessorSpec(
... farm_name="Demo",
... signal_key_parser=DelimitedSignalKeyParser(signal_prefixes=("WF_",)),
... derived_signal_strategies={},
... )
>>> processor = ConfiguredSignalConfigProcessor(path_configs='.', processor_spec=spec)
>>> result = processor.process_events([{"WF_SIG/status": "ok"}])
>>> result.to_legacy_data()[0]["WF_SIG"]["status"][0]["status"]
'ok'
Source code in src/owi/metadatabase/shm/processing/processor.py
Functions¶
process_events ¶
Transform raw configuration events into typed signal records.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
events
|
Sequence[Mapping[str, Any]]
|
Ordered raw configuration events loaded from one farm config. |
required |
Returns:
| Type | Description |
|---|---|
SignalProcessingResult
|
Typed signal and derived-signal records that can be converted to the archive-compatible uploader payload shape. |
Examples:
>>> from owi.metadatabase.shm.processing import (
... ConfiguredSignalConfigProcessor,
... DelimitedSignalKeyParser,
... SignalProcessorSpec,
... )
>>> spec = SignalProcessorSpec(
... farm_name="Demo",
... signal_key_parser=DelimitedSignalKeyParser(signal_prefixes=("WF_",)),
... derived_signal_strategies={},
... )
>>> processor = ConfiguredSignalConfigProcessor(path_configs='.', processor_spec=spec)
>>> result = processor.process_events([{"WF_SIG/status": "ok"}])
>>> result.to_legacy_data()[0]["WF_SIG"]["status"][0]["status"]
'ok'
Source code in src/owi/metadatabase/shm/processing/processor.py
signal_preprocess_data ¶
Process one configuration file into archive-compatible mappings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_config
|
str | Path
|
JSON configuration file to load and process. |
required |
Returns:
| Type | Description |
|---|---|
tuple[LegacySignalMap, LegacySignalMap]
|
Main-signal and derived-signal mappings ready for uploader seams. |
Source code in src/owi/metadatabase/shm/processing/processor.py
signals_process_data ¶
Process all discovered configuration files under path_configs.
The processed results are stored on :attr:signals_data and
:attr:signals_derived_data, keyed by turbine stem.
Source code in src/owi/metadatabase/shm/processing/processor.py
build_processor_spec ¶
Return the explicit processor spec passed to the constructor.
Returns:
| Type | Description |
|---|---|
SignalProcessorSpec
|
The specification supplied at construction time. |
Source code in src/owi/metadatabase/shm/processing/processor.py
from_yaml_spec
classmethod
¶
Construct a configured processor from a YAML-backed processor spec.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_configs
|
str | Path
|
Directory or JSON file containing farm configuration events. |
required |
processor_spec_path
|
str | Path
|
Path to a YAML processor specification file. |
required |
turbines
|
Sequence[str] | None
|
Optional subset of turbine stems to process during discovery. |
None
|
Returns:
| Type | Description |
|---|---|
ConfiguredSignalConfigProcessor
|
Processor loaded with the given YAML spec. |
Source code in src/owi/metadatabase/shm/processing/processor.py
DefaultSignalConfigProcessor ¶
Bases: ConfiguredSignalConfigProcessor
Built-in specialization of the generic signal processor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_configs
|
str | Path
|
Directory or JSON file containing default wind-farm configuration events. |
required |
turbines
|
Sequence[str] | None
|
Optional subset of turbine stems to process during discovery. |
None
|
processor_spec
|
SignalProcessorSpec | None
|
Optional override for the built-in default processor specification. |
None
|
Source code in src/owi/metadatabase/shm/processing/processor.py
Functions¶
build_processor_spec ¶
Return the explicit processor spec passed to the constructor.
Returns:
| Type | Description |
|---|---|
SignalProcessorSpec
|
The specification supplied at construction time. |
Source code in src/owi/metadatabase/shm/processing/processor.py
process_events ¶
Transform raw configuration events into typed signal records.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
events
|
Sequence[Mapping[str, Any]]
|
Ordered raw configuration events loaded from one farm config. |
required |
Returns:
| Type | Description |
|---|---|
SignalProcessingResult
|
Typed signal and derived-signal records that can be converted to the archive-compatible uploader payload shape. |
Examples:
>>> from owi.metadatabase.shm.processing import (
... ConfiguredSignalConfigProcessor,
... DelimitedSignalKeyParser,
... SignalProcessorSpec,
... )
>>> spec = SignalProcessorSpec(
... farm_name="Demo",
... signal_key_parser=DelimitedSignalKeyParser(signal_prefixes=("WF_",)),
... derived_signal_strategies={},
... )
>>> processor = ConfiguredSignalConfigProcessor(path_configs='.', processor_spec=spec)
>>> result = processor.process_events([{"WF_SIG/status": "ok"}])
>>> result.to_legacy_data()[0]["WF_SIG"]["status"][0]["status"]
'ok'
Source code in src/owi/metadatabase/shm/processing/processor.py
signal_preprocess_data ¶
Process one configuration file into archive-compatible mappings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_config
|
str | Path
|
JSON configuration file to load and process. |
required |
Returns:
| Type | Description |
|---|---|
tuple[LegacySignalMap, LegacySignalMap]
|
Main-signal and derived-signal mappings ready for uploader seams. |
Source code in src/owi/metadatabase/shm/processing/processor.py
signals_process_data ¶
Process all discovered configuration files under path_configs.
The processed results are stored on :attr:signals_data and
:attr:signals_derived_data, keyed by turbine stem.
Source code in src/owi/metadatabase/shm/processing/processor.py
from_yaml_spec
classmethod
¶
Construct a configured processor from a YAML-backed processor spec.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_configs
|
str | Path
|
Directory or JSON file containing farm configuration events. |
required |
processor_spec_path
|
str | Path
|
Path to a YAML processor specification file. |
required |
turbines
|
Sequence[str] | None
|
Optional subset of turbine stems to process during discovery. |
None
|
Returns:
| Type | Description |
|---|---|
ConfiguredSignalConfigProcessor
|
Processor loaded with the given YAML spec. |
Source code in src/owi/metadatabase/shm/processing/processor.py
SignalConfigProcessor ¶
Bases: ABC
ABC-backed base class for wind-farm signal config processors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_configs
|
str | Path
|
Directory or JSON file containing farm signal configuration events. |
required |
turbines
|
Sequence[str] | None
|
Optional subset of turbine stems to process during discovery. |
None
|
Notes
Subclasses provide the farm-specific :class:SignalProcessorSpec used by
the generic processing pipeline.
Source code in src/owi/metadatabase/shm/processing/processor.py
Functions¶
build_processor_spec
abstractmethod
¶
Return the farm-specific processor specification.
Returns:
| Type | Description |
|---|---|
SignalProcessorSpec
|
Specification controlling signal key parsing, derived-signal strategies, and postprocessors. |
Source code in src/owi/metadatabase/shm/processing/processor.py
process_events ¶
Transform raw configuration events into typed signal records.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
events
|
Sequence[Mapping[str, Any]]
|
Ordered raw configuration events loaded from one farm config. |
required |
Returns:
| Type | Description |
|---|---|
SignalProcessingResult
|
Typed signal and derived-signal records that can be converted to the archive-compatible uploader payload shape. |
Examples:
>>> from owi.metadatabase.shm.processing import (
... ConfiguredSignalConfigProcessor,
... DelimitedSignalKeyParser,
... SignalProcessorSpec,
... )
>>> spec = SignalProcessorSpec(
... farm_name="Demo",
... signal_key_parser=DelimitedSignalKeyParser(signal_prefixes=("WF_",)),
... derived_signal_strategies={},
... )
>>> processor = ConfiguredSignalConfigProcessor(path_configs='.', processor_spec=spec)
>>> result = processor.process_events([{"WF_SIG/status": "ok"}])
>>> result.to_legacy_data()[0]["WF_SIG"]["status"][0]["status"]
'ok'
Source code in src/owi/metadatabase/shm/processing/processor.py
signal_preprocess_data ¶
Process one configuration file into archive-compatible mappings.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_config
|
str | Path
|
JSON configuration file to load and process. |
required |
Returns:
| Type | Description |
|---|---|
tuple[LegacySignalMap, LegacySignalMap]
|
Main-signal and derived-signal mappings ready for uploader seams. |
Source code in src/owi/metadatabase/shm/processing/processor.py
signals_process_data ¶
Process all discovered configuration files under path_configs.
The processed results are stored on :attr:signals_data and
:attr:signals_derived_data, keyed by turbine stem.
Source code in src/owi/metadatabase/shm/processing/processor.py
ProcessedDerivedSignalRecord
dataclass
¶
Typed in-memory representation of one processed derived signal.
Examples:
>>> record = ProcessedDerivedSignalRecord()
>>> record.ensure_source_name("strain/bending_moment", {"suffix": "N"})
>>> record.set_parent_signals(["SIG_A", "SIG_B"])
>>> record.add_calibration("01/01/1972 00:00", {"yaw_offset": 2.0})
>>> sorted(record.to_legacy_dict())
['calibration', 'data', 'parent_signals']
Functions¶
ensure_source_name ¶
Initialize immutable source metadata for the derived signal.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source_name
|
str
|
Event key that produced the derived signal. |
required |
extra_fields
|
Mapping[str, Any] | None
|
Optional metadata merged into the legacy |
None
|
Source code in src/owi/metadatabase/shm/processing/records.py
set_parent_signals ¶
Set parent signals when they are first known.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parent_signals
|
Sequence[str]
|
Ordered parent signal identifiers for the derived signal. |
required |
Source code in src/owi/metadatabase/shm/processing/records.py
add_calibration ¶
Append a derived-signal calibration row.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
timestamp
|
str
|
Event timestamp associated with the calibration. |
required |
calibration_fields
|
Mapping[str, Any]
|
Calibration fields emitted by the derived-signal strategy. |
required |
Source code in src/owi/metadatabase/shm/processing/records.py
to_legacy_dict ¶
Return the uploader-facing legacy mapping.
Returns:
| Type | Description |
|---|---|
LegacyRecord
|
Archive-compatible mapping consumed by uploader payload builders. |
Source code in src/owi/metadatabase/shm/processing/records.py
ProcessedSignalRecord
dataclass
¶
ProcessedSignalRecord(
scalar_fields=dict(),
status_rows=list(),
offset_rows=list(),
cwl_rows=list(),
)
Typed in-memory representation of one processed signal.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scalar_fields
|
dict[str, Any]
|
Arbitrary scalar properties stored on the signal. |
dict()
|
status_rows
|
list[dict[str, Any]]
|
Collected status event rows. |
list()
|
offset_rows
|
list[dict[str, Any]]
|
Collected offset event rows. |
list()
|
cwl_rows
|
list[dict[str, Any]]
|
Collected CWL event rows. |
list()
|
Examples:
>>> record = ProcessedSignalRecord()
>>> record.add_status("01/01/1972 00:00", "ok")
>>> record.to_legacy_dict()["status"][0]["status"]
'ok'
Functions¶
set_scalar ¶
Store a scalar property on the signal.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
property_name
|
str
|
Scalar field name from the raw configuration event. |
required |
value
|
Any
|
Value to persist on the signal record. |
required |
Source code in src/owi/metadatabase/shm/processing/records.py
add_status ¶
Append a status row.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
timestamp
|
str
|
Event timestamp associated with the status. |
required |
status
|
Any
|
Status value to store. |
required |
Source code in src/owi/metadatabase/shm/processing/records.py
add_status_alias ¶
Append a status row that carries a legacy alias name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
timestamp
|
str
|
Event timestamp associated with the alias. |
required |
alias_name
|
str
|
Legacy signal name that points at this record. |
required |
Source code in src/owi/metadatabase/shm/processing/records.py
add_offset ¶
Append an offset row.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
timestamp
|
str
|
Event timestamp associated with the offset. |
required |
offset
|
Any
|
Offset value to store. |
required |
Source code in src/owi/metadatabase/shm/processing/records.py
add_cwl ¶
Append a CWL row.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
timestamp
|
str
|
Event timestamp associated with the CWL value. |
required |
cwl
|
Any
|
CWL value to store. |
required |
Source code in src/owi/metadatabase/shm/processing/records.py
to_legacy_dict ¶
Return the uploader-facing legacy mapping.
Returns:
| Type | Description |
|---|---|
LegacyRecord
|
Archive-compatible mapping consumed by uploader payload builders. |
Source code in src/owi/metadatabase/shm/processing/records.py
SignalProcessingResult
dataclass
¶
Processed signal and derived-signal records.
Examples:
>>> signal = ProcessedSignalRecord()
>>> signal.add_status("01/01/1972 00:00", "ok")
>>> result = SignalProcessingResult(signals={"SIG": signal}, derived_signals={})
>>> result.to_legacy_data()[0]["SIG"]["status"][0]["status"]
'ok'
Functions¶
to_legacy_data ¶
Return archive-compatible dicts for uploader seams.
Returns:
| Type | Description |
|---|---|
tuple[LegacySignalMap, LegacySignalMap]
|
Main-signal and derived-signal mappings in the uploader-facing archive shape. |
Source code in src/owi/metadatabase/shm/processing/records.py
SignalProcessorSpec
dataclass
¶
SignalProcessorSpec(
farm_name,
signal_key_parser,
derived_signal_strategies,
config_discovery=JsonStemConfigDiscovery(),
postprocessors=(),
time_field="time",
default_initial_time="01/01/1972 00:00",
)
Farm-specific configuration for signal processing.
The YAML structure expected by this spec is designed to be flexible enough to cover a wide range of use cases while remaining human-friendly and avoiding excessive nesting. The top-level keys are:
farm_name: A human-readable farm identifier used by the caller.signal_key_parser: A configuration for the signal key parser, which recognizes direct signal-property keys in the input data.derived_signal_strategies: A mapping from raw event keys to derived-signal strategies, which define how to generate derived signals based on specific events in the input data.config_discovery: A strategy used to discover configuration files on disk, allowing the processor to locate and load necessary configurations for processing signals.postprocessors: A list of pure normalization hooks applied after all events are processed, enabling additional transformations or clean-up steps on the processed signals.time_field: The event field used to update the active timestamp during processing.default_initial_time: The timestamp assigned to the first event when the payload omits one, ensuring that all events have a valid timestamp for processing.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
farm_name
|
str
|
Human-readable farm identifier used by the caller. |
required |
signal_key_parser
|
DelimitedSignalKeyParser
|
Parser that recognizes direct signal-property keys. |
required |
derived_signal_strategies
|
Mapping[str, DerivedSignalStrategy]
|
Mapping from raw event keys to derived-signal strategies. |
required |
config_discovery
|
ConfigDiscovery
|
Strategy used to discover configuration files on disk. |
JsonStemConfigDiscovery()
|
postprocessors
|
tuple[SignalPostprocessor, ...]
|
Pure normalization hooks applied after all events are processed. |
()
|
time_field
|
str
|
Event field used to update the active timestamp. |
'time'
|
default_initial_time
|
str
|
Timestamp assigned to the first event when the payload omits one. |
'01/01/1972 00:00'
|
Examples:
>>> spec = SignalProcessorSpec(
... farm_name="Demo Farm",
... signal_key_parser=DelimitedSignalKeyParser(signal_prefixes=("WF_",)),
... derived_signal_strategies={},
... )
>>> spec.default_initial_time
'01/01/1972 00:00'
YAML example ~~~~~~~~~~~~
.. code-block:: yaml farm_name: Demo Farm signal_key_parser: kind: delimited signal_prefixes: ["WF_"] derived_signal_strategies: {} config_discovery: kind: json_stem postprocessors: [] time_field: time default_initial_time: '01/01/1972 00:00'
DerivedSignalStrategy ¶
Bases: ABC
Strategy for translating one event into derived-signal updates.
Implementations keep farm-specific derived-signal semantics outside the generic processor loop.
Functions¶
emit_updates
abstractmethod
¶
Build derived-signal updates for one event payload.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
event_key
|
str
|
Raw event key that selected the strategy. |
required |
payload
|
Mapping[str, Any]
|
Mapping stored under the raw event key. |
required |
Returns:
| Type | Description |
|---|---|
list[DerivedSignalUpdate]
|
Derived-signal mutations emitted for the event. |
Source code in src/owi/metadatabase/shm/processing/strategies.py
LevelBasedDerivedSignalStrategy
dataclass
¶
LevelBasedDerivedSignalStrategy(
suffixes,
signal_name_builder=_default_level_signal_name,
parent_signals_builder=_parent_signals_from_level,
calibration_fields_builder=_yaw_calibration_fields,
data_builder=None,
levels_key="levels",
)
Bases: DerivedSignalStrategy
Expand a level-based event into derived signals.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
suffixes
|
tuple[str, ...]
|
Suffixes appended to each level identifier. |
required |
signal_name_builder
|
SignalNameBuilder
|
Callback used to derive the final signal name for a level/suffix pair. |
_default_level_signal_name
|
parent_signals_builder
|
ParentSignalsBuilder
|
Callback that returns parent signal identifiers for a level. |
_parent_signals_from_level
|
calibration_fields_builder
|
CalibrationFieldsBuilder
|
Callback that returns calibration data for a level. |
_yaw_calibration_fields
|
data_builder
|
DerivedDataBuilder | None
|
Optional callback for extra metadata stored under |
None
|
Examples:
>>> strategy = LevelBasedDerivedSignalStrategy(
... suffixes=("FA",),
... parent_signals_builder=lambda payload, level: tuple(payload[level]),
... calibration_fields_builder=lambda payload, level: {"yaw_offset": payload["yaw_offset"]},
... )
>>> updates = strategy.emit_updates(
... "acceleration/yaw_transformation",
... {"levels": ["SIG_A"], "yaw_offset": 2.0, "SIG_A": ["PARENT_1", "PARENT_2"]},
... )
>>> updates[0].signal_name
'SIG_A_FA'
>>> updates[0].parent_signals
('PARENT_1', 'PARENT_2')
Functions¶
emit_updates ¶
Build derived-signal updates for a level-based payload.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
event_key
|
str
|
Raw event key that triggered the strategy. The value is accepted for interface parity and is not used directly by the default implementation. |
required |
payload
|
Mapping[str, Any]
|
Mapping that must contain the configured |
required |
Returns:
| Type | Description |
|---|---|
list[DerivedSignalUpdate]
|
One update per level and configured suffix. |
Source code in src/owi/metadatabase/shm/processing/strategies.py
Functions¶
default_signal_processor_spec ¶
Return the built-in default processor spec for wind-farm signal configs.
Returns:
| Type | Description |
|---|---|
SignalProcessorSpec
|
Pre-loaded default specification. |
Examples:
>>> spec = default_signal_processor_spec()
>>> tuple(spec.derived_signal_strategies)
('acceleration/yaw_transformation', 'strain/bending_moment')
Source code in src/owi/metadatabase/shm/processing/spec.py
get_default_signal_processor_spec_path ¶
Return the packaged YAML path for the built-in default processor spec.
Returns:
| Type | Description |
|---|---|
Path
|
Absolute path to |
Source code in src/owi/metadatabase/shm/processing/spec.py
load_default_signal_processor_spec ¶
Load the built-in default processor spec from its YAML document.
Returns:
| Type | Description |
|---|---|
SignalProcessorSpec
|
Processor specification loaded from the packaged YAML file. |
Source code in src/owi/metadatabase/shm/processing/spec.py
load_signal_processor_spec ¶
Load a signal processor spec from a YAML document.
The YAML document must conform to the structure expected by
SignalProcessorSpec.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str | Path
|
Path to the YAML document describing the processor spec. |
required |
Returns:
| Type | Description |
|---|---|
SignalProcessorSpec
|
Parsed processor specification. |