-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add CSD plot for comparing against animal studies #68
Comments
@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
Averaging LFP over multiple trials is typically done before computing CSD
CSD plots are created using a 2D spline over values at each electrode depth. Support various spline functions.
Users need to be able to easily adjust the X,Y scales to match simulated data with their experimental data
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
Implement iCSD method as an alternative to
numpy.diff()
aboveThe text was updated successfully, but these errors were encountered: