GithubHelp home page GithubHelp logo

mallorydazza / burst-detection Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neurowsatl/burst-detection

0.0 0.0 0.0 270 KB

A series of scripts that can be used to classify activity patterns in neural spike trains

Python 100.00%

burst-detection's Introduction

The Extended Hill-Valley Method is a spike train classification algorithm that will detect bursts and tonic spiking in neural activity.

_do_analysis.py
This is the script that was used to analyze a sample set of spike trains that were used to illustrate the performance of the algorithm. The script loads data from data files and analyzes the data using three methods: 1) Extended Hill-Valley, 2) Poisson Surprise, and 3) Cumulative Moving Average. After analyzing the spike trains with the three methods, the script uses the Jaccard index to compare the performance of each method to a set of burst and tonic spiking events that were detected by visual inspection.

lib_final_ehv.py
The main function used to run the Extended Hill-Valley analysis method is do_ehv(data, **kwargs). Briefly, the algorithm generates a smoothed, history-dependent analysis signal that results in hills and valleys as the frequency of neural activity increases and decreases, respectively. The algorithm is designed to accentuate differences between low, moderate, and high firing frequencies. Bursts and tonic spiking activity is detected based on the characteristics of sequential hills and valleys based on a ratio of their height to width.

ALGORITHM PARAMETERS
Convolution & Smoothing Parameters
widthConv                 Width of exponential decay convolution function
tau                       Rate of decay of convolution function
amp                       Amplitude of convolution function

widthGauss                Width of Gaussian smoothing kernel

Burst Detection
burst_peak_ratio          Minimum ratio used to qualify height-to-width ratio as burst
burst_exclusion           Threshold used to exclude burst as analysis signal fluctuates between hills & valleys
burst_perc_peak           Lower threshold used to determine whether burst event can be terminated

Tonic Spiking Detection
tonic_perc_peak           Minimum ratio used to qualify initial height-to-width ratio as tonic spiking
tonic_peak_ratio          Lower threshold used to determine whether tonic spiking event can be terminated
tonic_std_max             Threshold on variability (measured by standard deviation) of successive peaks and troughs to determine whether
                          to terminate tonic spiking event.

Other Parameters
peaks_adj_thresh          Threshold used to determine whether to scale peaks and troughs if amplitude of analysis signal is too big


Other libraries in the repository include a script to do burst detection using the Cumulative Moving Average method and the Poisson Surprise method.

burst-detection's People

Contributors

neurowsatl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.