hnn_core.simulate_dipole#

hnn_core.simulate_dipole(net, tstop, dt=0.025, n_trials=None, record_vsec=False, record_isec=False, record_ca=False, postproc=False, verbose=True, baseline_correction=True)[source]#

Simulate a dipole given the experiment parameters.

Parameters:
netNetwork object

The Network object specifying how cells are connected.

tstopfloat

The simulation stop time (ms).

dtfloat, default=0.025

The integration time step of h.CVode (ms)

n_trialsint | None, default=None

The number of trials to simulate. If None (the default), the ‘N_trials’ value of the params used to create net is used (must be >0)

record_vsec‘all’ | ‘soma’ | False, default=False

Option to record voltages from all sections (‘all’), or just the soma (‘soma’).

record_isec‘all’ | ‘soma’ | False, default=False

Option to record synaptic currents from all sections (‘all’), or just the soma (‘soma’).

record_ca‘all’ | ‘soma’ | False, default=False

Option to record calcium concentration from all sections (‘all’), or just the soma (‘soma’).

postprocbool, default=False

Deprecated. If True, smoothing (dipole_smooth_win) and scaling (dipole_scalefctr) values are read from the Network’s parameter file, and applied to the dipole objects before returning (the default Network parameter file, hnn_core/param/default.json, uses a smoothing value of 30 ms and a scaling factor of 3000). Note that this setting only affects the dipole waveforms, and not somatic voltages, possible extracellular recordings etc. The preferred way is to use the smooth() and scale() methods after the simulation is run instead.

verbosebool, default=True

If True, print build steps and simulation progress to console.

baseline_correctionbool, default=True

Whether to apply the baseline correction after simulation (which correction is used depends on Network._model_variant). Defaults to True, applying the appropriate correction.

Returns:
dpls: list

List of dipole objects for each trials