Page 1 of 1

Extracellular stimulation and recording

Posted: Mon Sep 05, 2005 10:12 am
by ted
One approach to extracellular stimulation is to introduce, into the cable equation, a current term that is proportional to the second spatial derivative of the extracellular field. This is essentially the "activating function" method described by Rattay
Rattay F (1986): Analysis of models for external stimulation of axons.
IEEE Trans. Biomed. Eng. BME-33:(10) 974-977
It is the approach taken by McIntyre and Grill in their paper "Extracellular stimulation of central neurons: influence of stimulus waveform and frequency on neuronal output" JNP 88:1592-1604, 2002.

Another method is to assume that the extracellular medium is linear, in which case the coupling between stimulating electrode(s) and locations in space can be represented by transfer impedances. The extracellular potential at a point x,y,z produced by stimulus currents applied through any number of electrodes is then

Code: Select all

Vo(x,y,z) = SUMMA Z_j(x,y,z) I_j         Eq. 1
where I_j is the current delivered by the jth electrode, and Z_j(x,y,z) is the transfer impedance between the jth electrode and the point at (x,y,z) (i.e. the potential at x,y,z that results when 1 unit of current is applied to electrode j and the currents applied by all other electrodes is 0).

Of course, linearity also implies that the extracellular potential recorded by electrode j is composed of the weighted integral of the membrane current over the surface of the cell (weighted by local membrane area and transfer impedance between each point on the cell and the location of the recording electrode). For a spatially discretized model cell, this reduces to the weighted sum

Code: Select all

V_j = SUMMA Z_k I_k         Eq. 2
where V_j is the potential observed by electrode j, the k are the indices of the model's compartments, and the I_k are the _net_ currents (not current densities) contributed by each compartment in the model.

If the reactive (capacitive) component of Z can be ignored, then Eq. 1 and 2 are easily implemented via simple multiplications.

The approach outlined by Equations 1 and 2 is illustrated in this file ...
which contains complete working implementations of extracellular stimulation and recording of a single neuron model, and could serve as a starting point for a model that involves multiple cells.

To implement either of these approaches in NEURON, one must:
--determine the locations of the nonzero area nodes in a model (i.e. the segment centers). This is easy enough, if somewhat tedious, for a stylized (L, diam) specification of model geometry. For geometries defined by the pt3d method, interpolating node locations from the pt3d data is straightforward (see the zip file).
--force some variable (an activation function current, or e_extracellular) in each segment to follow an appropriate time course. This can be done with an analytical function computed by code in a Point Process, an event handler, or with the Vector class's play() method. See the above links for examples.

Re: Extracellular stimulation and recording

Posted: Wed Feb 14, 2018 2:11 pm
by aschneid42
Is there a example of how to implement this from Python, using NEURON as an extended module?

Oh I found it:

Re: Extracellular stimulation and recording

Posted: Thu Feb 15, 2018 9:37 am
by ted
Clever, but you missed this implementation of extracellular recording:
Parasuram H, Nair B, D`Angelo E, Hines M, Naldi G, Diwakar S (2016)
Computational modeling of single neuron extracellular electric potentials and network Local Field Potentials using LFPsim
Front. Comput. Neurosci. 10:65

Its source code is available from ModelDB ... del=190140

Re: Extracellular stimulation and recording

Posted: Sat Dec 07, 2019 8:07 pm
by JustasB
For those looking for a Python-based, MPI/parallel NEURON compatible version LFPsim described in Parasuram et. al. (2016), take a look at LFPsimpy.

Re: Extracellular stimulation and recording

Posted: Mon Dec 09, 2019 1:01 pm
by ted
LFPsimpy is a welcome addition to the tools that can be used to calculate extracellular potentials generated by the activity of model neurons!

Note to others who may read this thread:

LFPsim and LFPsimpy implement calculation of extracellular potentials generated by activity of model neurons. Neither of them implements extracellular stimulation of model neurons.