Skip to main content
Advertisement

< Back to Article

PyFibers: An open-source NEURON-Python package to simulate responses of model nerve fibers to electrical stimulation

Fig 5

Process of calculating the spatiotemporal profile of extracellular potentials applied to the model fiber by ScaledStim.run_sim(), which incorporates the spatial distribution of potentials in response to 1 mA stimulation (Ve(z)), the unit waveform (W(t)), and the stimulation amplitude (a).

If potentials from multiple sources and the corresponding waveforms are provided, steps A-D are performed for each combination of source/waveform/stimulation amplitude, and the results are summed across sources before proceeding. A) Path for non-branching fiber with an arbitrary trajectory in 3D space, with potentials (given by the colored dots) in space generated for a unit stimulus. B) Electrical potential at each section of the fiber. C) Unitless stimulation waveform, by convention defined with a maximum magnitude of 1. D) Matrix multiplication of spatial distribution of potentials (dim: nsections x 1) and waveform (sampled at every timestep to an array of: 1 x ntimesteps) to obtain Ve(z,t) for a unit stimulus (e.g., 1 mA). E) Ve(z,t) scaled by (signed) amplitude “a”. In this example, a = −1.5, so the final stimulus amplitude of the first phase of the symmetric biphasic pulse is −1.5 mA. F) Ve(z,t) applied to a cable model of a myelinated fiber.

Fig 5

doi: https://doi.org/10.1371/journal.pcbi.1013764.g005