ezmsg.simbiophys.oscillator#
Oscillator/sinusoidal signal generators.
Classes
- class SinGenerator(*args, settings=None, **kwargs)[source]#
Bases:
BaseClockDrivenUnit[SinGeneratorSettings,SinProducer]Generates sinusoidal waveforms synchronized to clock ticks.
Receives timing from INPUT_CLOCK (LinearAxis from Clock) and outputs sinusoidal AxisArray on OUTPUT_SIGNAL.
- Parameters:
settings (Settings | None)
- SETTINGS#
alias of
SinGeneratorSettings
- class SinGeneratorSettings(fs, n_time=None, n_ch=1, freq=1.0, amp=1.0, phase=0.0)[source]#
Bases:
ClockDrivenSettingsSettings for
SinGenerator.- Parameters:
fs (float)
n_time (int | None)
n_ch (int)
freq (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
amp (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
phase (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
-
freq:
Union[float,Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str]] = 1.0# The frequency of the sinusoid, in Hz. Scalar or per-channel array.
-
amp:
Union[float,Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str]] = 1.0# The amplitude of the sinusoid. Scalar or per-channel array.
-
phase:
Union[float,Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str]] = 0.0# The initial phase of the sinusoid, in radians. Scalar or per-channel array.
- __init__(fs, n_time=None, n_ch=1, freq=1.0, amp=1.0, phase=0.0)#
- Parameters:
fs (float)
n_time (int | None)
n_ch (int)
freq (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
amp (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
phase (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
- Return type:
None
- class SinProducer(*args, **kwargs)[source]#
Bases:
BaseClockDrivenProducer[SinGeneratorSettings,SinGeneratorState]Generates sinusoidal waveforms synchronized to clock ticks.
Each clock tick produces a block of sinusoidal data based on the sample rate (fs) and chunk size (n_time) settings.
- class SpiralGenerator(*args, settings=None, **kwargs)[source]#
Bases:
BaseClockDrivenUnit[SpiralGeneratorSettings,SpiralProducer]Generates 2D spiral motion synchronized to clock ticks.
Receives timing from INPUT_CLOCK (LinearAxis from Clock) and outputs 2D position AxisArray (x, y) on OUTPUT_SIGNAL.
The spiral pattern has both radius and angle varying over time: - Radius oscillates sinusoidally (breathing in/out) - Angle increases linearly (rotation)
- Parameters:
settings (Settings | None)
- SETTINGS#
alias of
SpiralGeneratorSettings
- class SpiralGeneratorSettings(fs, n_time=None, r_mean=150.0, r_amp=50.0, radial_freq=0.1, radial_phase=0.0, angular_freq=0.25, angular_phase=0.0)[source]#
Bases:
ClockDrivenSettingsSettings for
SpiralGenerator.Generates 2D position (x, y) following a spiral pattern where both the radius and angle change over time.
- The parametric equations are:
r(t) = r_mean + r_amp * sin(2*π*radial_freq*t + radial_phase) θ(t) = 2*π*angular_freq*t + angular_phase x(t) = r(t) * cos(θ(t)) y(t) = r(t) * sin(θ(t))
- Parameters:
- __init__(fs, n_time=None, r_mean=150.0, r_amp=50.0, radial_freq=0.1, radial_phase=0.0, angular_freq=0.25, angular_phase=0.0)#
- class SpiralProducer(*args, **kwargs)[source]#
Bases:
BaseClockDrivenProducer[SpiralGeneratorSettings,SpiralGeneratorState]Generates spiral motion synchronized to clock ticks.
Each clock tick produces a block of 2D position data (x, y) following a spiral pattern where both radius and angle change over time.
- class SpiralGeneratorSettings(fs, n_time=None, r_mean=150.0, r_amp=50.0, radial_freq=0.1, radial_phase=0.0, angular_freq=0.25, angular_phase=0.0)[source]#
Bases:
ClockDrivenSettingsSettings for
SpiralGenerator.Generates 2D position (x, y) following a spiral pattern where both the radius and angle change over time.
- The parametric equations are:
r(t) = r_mean + r_amp * sin(2*π*radial_freq*t + radial_phase) θ(t) = 2*π*angular_freq*t + angular_phase x(t) = r(t) * cos(θ(t)) y(t) = r(t) * sin(θ(t))
- Parameters:
- __init__(fs, n_time=None, r_mean=150.0, r_amp=50.0, radial_freq=0.1, radial_phase=0.0, angular_freq=0.25, angular_phase=0.0)#
- class SpiralProducer(*args, **kwargs)[source]#
Bases:
BaseClockDrivenProducer[SpiralGeneratorSettings,SpiralGeneratorState]Generates spiral motion synchronized to clock ticks.
Each clock tick produces a block of 2D position data (x, y) following a spiral pattern where both radius and angle change over time.
- class SpiralGenerator(*args, settings=None, **kwargs)[source]#
Bases:
BaseClockDrivenUnit[SpiralGeneratorSettings,SpiralProducer]Generates 2D spiral motion synchronized to clock ticks.
Receives timing from INPUT_CLOCK (LinearAxis from Clock) and outputs 2D position AxisArray (x, y) on OUTPUT_SIGNAL.
The spiral pattern has both radius and angle varying over time: - Radius oscillates sinusoidally (breathing in/out) - Angle increases linearly (rotation)
- Parameters:
settings (Settings | None)
- SETTINGS#
alias of
SpiralGeneratorSettings
- class SinGeneratorSettings(fs, n_time=None, n_ch=1, freq=1.0, amp=1.0, phase=0.0)[source]#
Bases:
ClockDrivenSettingsSettings for
SinGenerator.- Parameters:
fs (float)
n_time (int | None)
n_ch (int)
freq (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
amp (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
phase (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
-
freq:
Union[float,Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str]] = 1.0# The frequency of the sinusoid, in Hz. Scalar or per-channel array.
-
amp:
Union[float,Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str]] = 1.0# The amplitude of the sinusoid. Scalar or per-channel array.
-
phase:
Union[float,Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str]] = 0.0# The initial phase of the sinusoid, in radians. Scalar or per-channel array.
- __init__(fs, n_time=None, n_ch=1, freq=1.0, amp=1.0, phase=0.0)#
- Parameters:
fs (float)
n_time (int | None)
n_ch (int)
freq (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
amp (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
phase (float | Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
- Return type:
None
- class SinProducer(*args, **kwargs)[source]#
Bases:
BaseClockDrivenProducer[SinGeneratorSettings,SinGeneratorState]Generates sinusoidal waveforms synchronized to clock ticks.
Each clock tick produces a block of sinusoidal data based on the sample rate (fs) and chunk size (n_time) settings.
- class SinGenerator(*args, settings=None, **kwargs)[source]#
Bases:
BaseClockDrivenUnit[SinGeneratorSettings,SinProducer]Generates sinusoidal waveforms synchronized to clock ticks.
Receives timing from INPUT_CLOCK (LinearAxis from Clock) and outputs sinusoidal AxisArray on OUTPUT_SIGNAL.
- Parameters:
settings (Settings | None)
- SETTINGS#
alias of
SinGeneratorSettings