This repository is a companion to the textbook Case Studies in Neural Data Analysis, by Mark Kramer and Uri Eden. In the textbook, we use MATLAB to analyze examples of neuronal data. The material here is very similar, except that we use Python (instead of MATLAB).
Our intended audience is the "practicing neuroscientist" - e.g., the students, researchers, and clinicians collecting neuronal data in the hospital or lab. The material can get pretty math-heavy, but we've tried to outline the main concepts as directly as possible, with hands-on implementations of all concepts. We focus on only two main types of data: spike trains and electric fields (such as the local field potential [LFP], or electroencephalogram [EEG]). If you're interested in other data (e.g., calcium imaging, or BOLD), you may still find the examples indirectly useful (for example, demonstrations of how to compute and interpret a power spectrum of a signal).
There are two ways to interact with these notebooks. First, you could run it locally in Jupyter. This is an excellent choice because you'll be able to read, edit and execute the Python code directly in your browser and you can save any changes you make or notes that you want to record. The second way is to open this notebook in Binder and interact with the notebooks through a JupyterHub server. Binder provides an easy interface to interact with this material; read about it in eLife here. In any case, we encourage you to execute each line of code in the files!
We assume you have installed Python and can get it running on your computer. Some useful references to do so include,
If this is your first time working with Python, using conda is probably a good choice. Conda is a package and environment manager that makes it really easy to get up and running in Python. In particular, we recommend installing Miniconda - a light version of the software distribution Anaconda - and using conda to add software as needed.
We'd like to thank all of the students, collaborators, and funders who have helped make this possible!