Open jasmainak opened 5 years ago
@blakecaldwell can you help me in this issue by adding more details what is needed? You can edit the issue description and perhaps add an image? Perhaps link to publication or an already existing implementation somewhere?
@cjayb I'm reopening this since CSD is not yet implemented
API settled upon after discussion with @ntolley and Ayo was the following:
csd = net.lfp_array[‘array1’][trial_idx].get_csd(method=’laplacian’, interpolation=’spline’)
net.lfp_array[‘array1’][trial_idx].plot(…, csd=csd)
I just re-discovered this issue after finishing #517. Have we moved past this or should we make the above-mentioned features + API the next PR?
I think it would be good for users to have access to the CSD array somehow. I can imagine it being a common use-case and also makes it easier to write tests.
Also in terms of implementation, we should start using the "f-matrix" even for the basic implementation, as in here. That way, it will be easier to extend to the other methods.
Our conversation at dinner made me think of this.
We technically have a CSD plot in what of the examples (just not smoothed/interpolated). Should we consider this closed?
I'd like to have at least one of the interpolated versions so that it can be overlaid with LFP. It's not too hard to implement, just need a motivated student to complete it :)
Background
The ability to calculate LFP for simulated electrodes in the model (#150) allow for time vs. depth laminar CSD plots to be generated. Laminar CSD (electrodes arranged vertically) is the primary goal of this feature because laminar CSD is commonly used in animal studies where a laminar probe is inserted into the cortext to measure extracellular potentials. In the experimental animal studies, CSD is calculated from the bandpass filtered LFP data (low-frequency portion of extracellular potentials) to identify underlying neuronal activity at specific cortical layers. Such activity is identified as a "sink" (net influx of current into cell) or "source" (efflux into extracellular space) in the temporal-spatial domain.
Figure 5 from Sherman et al. 2016 shows laminar CSD plots of an anesthetized mouse and an awake monkey.
CSD can be calculated via
The sign may be adjusted to make a current sinks negative and sources positive.
Goal
Create laminar CSD plots from simulated data that are comparable to Figure 5 in Sherman et al. 2016
Requirements
The CSD of the first and last channels cannot be computed using the 2nd spatial derivative. The Vaknin method is used to derive approximate CSD signals at these points
numpy.diff()
above