Giter Site home page Giter Site logo

nurip_jssc_supplementary's Introduction

NURIP: Neural Interface Processor

This is a public repository for a reduced software model of the application-specific integrated circuit presented in the following paper: Gerard O'Leary, David M. Groppe, Taufik A. Valiante, Naveen Verma and Roman Genov, "NURIP: Neural Interface Processor for Brain-State Classification and Programmable-Waveform Neurostimulation," IEEE Journal of Solid-State Circuits, 2018. DOI: 10.1109/JSSC.2018.2869579

Note that the EU epilepsy database was used for performance analysis (subscripion required: http://epilepsy-database.eu/). Ihle M, Feldwisch-Drentrup H, Teixeira CA, Witon A, Schelter B, Timmer J, Schulze-Bonhage A., "EPILEPSIAE - a European epilepsy database," Comput Methods Programs Biomed. 2012

Step 1: Feature Extraction. Based on feature selection experimentation it is generally the case that EDMSE features are most informative for classification purposes, and are considerably more straightforward to configure when compared to the PLV and CFC features. A matlab implementation of the EDMSE feature is provided. See: G O'Leary, I Taras, DM Stuart, J Koerner, DM Groppe, TA Valiante, R. Genov, "GPU-Accelerated Parameter Selection for Neural Connectivity Analysis Devices," 2018 IEEE Biomedical Circuits and Systems Conference (BioCAS) J Koerner, G O’Leary, TA Valiante, R Genov, "Neuromodulation Biomarker Selection using GPU-Parallelized Genetic Algorithms," 2019 IEEE Biomedical Circuits and Systems Conference (BioCAS)

Step 2: SVM Training. The SVM implementation within the Scikit-Learn python toolbox was used. An RBF kernel was utilized with nu and gamma hyperparameters selected on a per-patient basis. Typical values were 0.1 and 1e-6, respectively. See: https://scikit-learn.org/stable/auto_examples/svm/plot_rbf_parameters.html

Step 3: Forward chaining validation. For EEG analysis is it critical to perform validation using forward chaining (as opposed to methods such as LOOCV) to avoid classifier bias and to avoid optimistic performance results which do not translate to real world online settings. See: https://towardsdatascience.com/time-series-nested-cross-validation-76adba623eb9 Validation notes: A 5 minute "cooloff period" is used when reporting the false positive rate. A moving average is taken of the raw SVM output which was determined on a per patient basis. The window length was calculated by taking the longest moving average which still resulted in a true positive for the first seizure. Note that there is a tradeoff between the length of this window, and the classifier latency (which was typically on the order of 10 seconds).

As a starting point, the run_edmse.m script must be set up to performs feature extraction on your EEG dataset. You will need to populate the LOAD_EEG() function to return a multi-channel EEG signal and corresponding metadata (e.g. seizure onsef and offsets). The output EDMSE_*.mat files will then serve as a training set for the classifier example provided in the python folder.

nurip_jssc_supplementary's People

Contributors

integerard avatar

Stargazers

Anush Mutyala avatar

Watchers

 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.