radiens_core.models.signals
Signal selection, signal data array models, and signal enums.
| CLASS | DESCRIPTION |
|---|---|
KeyIndex |
Channel index space. |
SigSelect |
Signal selection specifying channels per signal type. |
SignalArrays |
Container for signal data arrays, one per signal type. |
SignalSpec |
Semantic signal selection specification. |
SignalType |
Signal type. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
FlexSignalSpec |
|
FlexSignalType |
|
Attributes
FlexSignalSpec
module-attribute
SignalSpec, or a shorthand for one.
"all" selects every amplifier channel, and a list or tuple selects amplifier channels
by native index. A dict keyed by amp, ain, din and dout selects across
signal types; each value is a list of native indices, "all", or "selected".
FlexSignalType
module-attribute
FlexSignalType = SignalType | SignalTypeStr
SignalType that also accepts a string name (case-insensitive).
Classes
KeyIndex
Bases: IntEnum
Channel index space.
| ATTRIBUTE | DESCRIPTION |
|---|---|
NTV |
Native index, counted within the signal type (
|
DATA |
Dataset index, counted within the signal type (
|
SYS |
System index, counted across all signal types (
|
SigSelect
Bases: BaseModel
Signal selection specifying channels per signal type.
| ATTRIBUTE | DESCRIPTION |
|---|---|
amp |
Amplifier channel indices, in the index space given by |
gpio_ain |
Analog input channel indices, in the same space. |
gpio_din |
Digital input channel indices, in the same space. |
gpio_dout |
Digital output channel indices, in the same space. |
key_idx |
Index space the arrays are written in.
TYPE:
|
SignalArrays
Bases: BaseModel
Container for signal data arrays, one per signal type.
| ATTRIBUTE | DESCRIPTION |
|---|---|
amp |
2D array (channels, samples) for amplifier data. |
gpio_ain |
2D array (channels, samples) for analog input data. |
gpio_din |
2D array (channels, samples) for digital input data. |
gpio_dout |
2D array (channels, samples) for digital output data. |
time_range |
The range the samples cover; sample 0 is at
TYPE:
|
SignalSpec
Bases: BaseModel
Semantic signal selection specification.
Use factory methods for clean channel selection:
spec = SignalSpec.amp([0, 1, 2, 3]) spec = SignalSpec.ain("all") spec = SignalSpec.multi(amp=[0, 1], din="all")
| ATTRIBUTE | DESCRIPTION |
|---|---|
sig_type |
Primary signal type.
TYPE:
|
channels |
Native channel indices ( |
multi_select |
Map of signal types to channel selections.
TYPE:
|
| METHOD | DESCRIPTION |
|---|---|
ain |
Select analog input channels by native index, or |
all_amp |
Convenience: all amplifier channels. |
amp |
Select amplifier channels by native index, or |
din |
Select digital input channels by native index, or |
dout |
Select digital output channels by native index, or |
is_multi |
Check if this is a multi-type specification. |
multi |
Select channels from multiple signal types. |
to_sig_select |
Convert to SigSelect for API calls. |
Functions
ain
classmethod
ain(channels: list[int] | str = 'all') -> SignalSpec
Select analog input channels by native index, or "all" / "selected".
amp
classmethod
amp(channels: list[int] | str = 'all') -> SignalSpec
Select amplifier channels by native index, or "all" / "selected".
din
classmethod
din(channels: list[int] | str = 'all') -> SignalSpec
Select digital input channels by native index, or "all" / "selected".
dout
classmethod
dout(channels: list[int] | str = 'all') -> SignalSpec
Select digital output channels by native index, or "all" / "selected".
multi
classmethod
multi(
amp: list[int] | str | None = None,
ain: list[int] | str | None = None,
din: list[int] | str | None = None,
dout: list[int] | str | None = None,
) -> SignalSpec
Select channels from multiple signal types.
to_sig_select
to_sig_select(channel_metadata: ChannelMetadata) -> SigSelect
Convert to SigSelect for API calls.