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:
- 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:
- 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.