Identifying 'peaks' in a recorded vector

Anything that doesn't fit elsewhere.
Post Reply
vjs347
Posts: 9
Joined: Mon Oct 26, 2015 4:10 pm

Identifying 'peaks' in a recorded vector

Post by vjs347 » Mon Dec 21, 2015 12:37 pm

Hello Ted,

I am simulating a nerve fiber with train of impulses and recording the membrane potential along the nodes (in this case 100 nodes). The simulation runs for a long duration of 30-60 seconds. The amount of data recorded is very big. But for my analysis the only interest is in the time indices of peak AP's. I'm looking for something which can identify the peaks robustly with a peak height and peak width thresholds. I could save the data and then do this analysis on other platforms. But this involves a lot of memory and time.

Is a module available to do this? Or do I have to write my own? Having something like this on neuron would save a lot of storage space. If something like this is not available, please guide me on how this can be achieved.

Thanks!

vjs

ted
Site Admin
Posts: 5591
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Identifying 'peaks' in a recorded vector

Post by ted » Mon Dec 21, 2015 4:09 pm

I am not aware of anything that does exactly what you want. If you want to determine conduction latencies, suggest you use the NetCon class's record method, with the threshold for spike detection set to be about halfway between resting potential and peak spike amplitude (why do so many think it's useful to look for spike peak times?). If you really need to know the peak spike depolarizations, use NetCon.record to determine the intervals that contain spikes--there should be a spike between each adjacent pair of threshold crossings--and within each interval use the Vector class's max method to get the peak depolarization of the spike in that interval. Those hints should get you going. I have no idea what is meant by "peak height and peak width thresholds." If you need help developing code that does what you want, suggest striking up a collaboration with someone nearby (so you can be sure you're getting what you want) who can do it for you, in exchange for some combination of pay and/or academic credit (co-authorship on a paper?); everybody I know who has significant programming skills is already fully occupied.

Post Reply