Parameters for rBCBG model and simulation

class analyseur.rbcbg.parameters.SignalAnalysisParams(_1000ms: int = 1000, decimal_places: int = 3, decimal_places_ephys: int = 5, window: tuple[float, float]=(0, 10.0), sampling_period_ms: float = 1.0, sampling_period: float = 0.001, binsz_sqrt_rule: float = 3.3333333333333335, binsz_rice_rule: float = 2.5, binsz_10perbin: float = 0.01, binsz_100perbin: float = 0.1, binsz_1000perbin: float = 1.0, std_Gaussian_kernel: float = 2, freq_bands: dict = <factory>)[source]

SignalAnalysisParams

Default parameters for signal analysis

Parameter name

Value

_1000ms

1000 milliseconds

decimal_places

3

decimal_places_ephys

5

window

(0, 10) seconds

sampling_period

0.001 seconds

sampling_period_ms

1.0 milliseconds

binsz_sqrt_rule

3.333

binsz_rice_rule

2.5

binsz_10perbin

0.01

binsz_100perbin

0.1

binsz_1000perbin

1.0

Use Case

from analyseur.rbcbg.parameters import SignalAnalysisParams

siganal = SignalAnalysisParams()

class analyseur.rbcbg.parameters.SimulationParams(duration: float = 10000, dt: float = 1.0, modelID: int = 9, nuclei_ctx: list[str] = None, nuclei_bg: list[str] = None, nuclei_thal: list[str] = None)[source]

SimulationParams

Default parameters from rBCBG simulation

Parameter name

Value

duration

10000 milliseconds

dt

1.0 milliseconds

modelID

9

nuclei_ctx

[“CSN”, “PTN”, “CTX_E”, “CTX_I”]

nuclei_bg

[“FSI”, “STN”, “GPe”, “GPiSNr”,]

nuclei_thal

[“TRN”, “TH”]

Use Case

from analyseur.rbcbg.parameters import SimulationParams

simparams = SimulationParams()

analyseur.rbcbg.parameters.bin_size_by_rule(total_time=None, rule=None, frequency=None)[source]

Returns bin size by rule

  • Square Root Rule (rule=”Square Root”)
    • general purpose, quick estimate

  • Rice Rule (rule=”Rice Rule”)
    • suitable for larger datasets

  • Periodic (rule=”Periodic”)
    • for periodic signal

Formula

Definitions

Interpretation

duration, \(dur\)

total time in seconds

sampling period, \(T\)

sampling period in seconds

total samples, \(N = dur / T\)

total number of samples

Formula: Square Root Rule

\[ \begin{align}\begin{aligned}n_{bins} &= \sqrt(N) \\binsz &= \frac{dur}{n_{bins}}\end{aligned}\end{align} \]

Formula: Rice Rule

\[ \begin{align}\begin{aligned}n_{bins} &= 2 \sqrt[3](N) \\binsz &= \frac{dur}{n_{bins}}\end{aligned}\end{align} \]

Formula: Periodic Rule

Let the periodic signal be oscillating at \(\nu\) frequency, then

\[ \begin{align}\begin{aligned}T &= \frac{1}{\nu} \\binsz &= m \times T\end{aligned}\end{align} \]

where m is the number of periods. Generally, \(m=2\).

Use Case

from analyseur.rbcbg.parameters import bin_size_by_rule

dur = 10  # seconds
nu = 80  # Hz

binsz_sqrt = bin_size_by_rule(total_time=dur, rule="Square Root")

binsz_rice = bin_size_by_rule(total_time=dur, rule="Rice Rule")

binsz_osc = bin_size_by_rule(frequency=nu, rule="Periodic")