Python in Neuroscience


Book Description

Python is rapidly becoming the de facto standard language for systems integration. Python has a large user and developer-base external to theneuroscience community, and a vast module library that facilitates rapid and maintainable development of complex and intricate systems. In this Research Topic, we highlight recent efforts to develop Python modules for the domain of neuroscience software and neuroinformatics: - simulators and simulator interfaces - data collection and analysis - sharing, re-use, storage and databasing of models and data - stimulus generation - parameter search and optimization - visualization - VLSI hardware interfacing. Moreover, we seek to provide a representative overview of existing mature Python modules for neuroscience and neuroinformatics, to demonstrate a critical mass and show that Python is an appropriate choice of interpreter interface for future neuroscience software development.




Neural Data Science


Book Description

A Primer with MATLAB® and PythonTM present important information on the emergence of the use of Python, a more general purpose option to MATLAB, the preferred computation language for scientific computing and analysis in neuroscience. This book addresses the snake in the room by providing a beginner's introduction to the principles of computation and data analysis in neuroscience, using both Python and MATLAB, giving readers the ability to transcend platform tribalism and enable coding versatility. - Includes discussions of both MATLAB and Python in parallel - Introduces the canonical data analysis cascade, standardizing the data analysis flow - Presents tactics that strategically, tactically, and algorithmically help improve the organization of code




Case Studies in Neural Data Analysis


Book Description

A practical guide to neural data analysis techniques that presents sample datasets and hands-on methods for analyzing the data. As neural data becomes increasingly complex, neuroscientists now require skills in computer programming, statistics, and data analysis. This book teaches practical neural data analysis techniques by presenting example datasets and developing techniques and tools for analyzing them. Each chapter begins with a specific example of neural data, which motivates mathematical and statistical analysis methods that are then applied to the data. This practical, hands-on approach is unique among data analysis textbooks and guides, and equips the reader with the tools necessary for real-world neural data analysis. The book begins with an introduction to MATLAB, the most common programming platform in neuroscience, which is used in the book. (Readers familiar with MATLAB can skip this chapter and might decide to focus on data type or method type.) The book goes on to cover neural field data and spike train data, spectral analysis, generalized linear models, coherence, and cross-frequency coupling. Each chapter offers a stand-alone case study that can be used separately as part of a targeted investigation. The book includes some mathematical discussion but does not focus on mathematical or statistical theory, emphasizing the practical instead. References are included for readers who want to explore the theoretical more deeply. The data and accompanying MATLAB code are freely available on the authors' website. The book can be used for upper-level undergraduate or graduate courses or as a professional reference. A version of this textbook with all of the examples in Python is available on the MIT Press website.




Neuronal Dynamics


Book Description

This solid introduction uses the principles of physics and the tools of mathematics to approach fundamental questions of neuroscience.




Python for Experimental Psychologists


Book Description

Programming is an important part of experimental psychology and cognitive neuroscience, and Python is an ideal language for novices. It sports a very readable syntax, intuitive variable management, and a very large body of functionality that ranges from simple arithmetic to complex computing. Python for Experimental Psychologists provides researchers without prior programming experience with the knowledge they need to independently script experiments and analyses in Python. The skills it offers include: how to display stimuli on a computer screen; how to get input from peripherals (e.g. keyboard, mouse) and specialised equipment (e.g. eye trackers); how to log data; and how to control timing. In addition, it shows readers the basic principles of data analysis applied to behavioural data, and the more advanced techniques required to analyse trace data (e.g. pupil size) and gaze data. Written informally and accessibly, the book deliberately focuses on the parts of Python that are relevant to experimental psychologists and cognitive neuroscientists. It is also supported by a companion website where you will find colour versions of the figures, along with example stimuli, datasets and scripts, and a portable Windows installation of Python.




An Introductory Course in Computational Neuroscience


Book Description

A textbook for students with limited background in mathematics and computer coding, emphasizing computer tutorials that guide readers in producing models of neural behavior. This introductory text teaches students to understand, simulate, and analyze the complex behaviors of individual neurons and brain circuits. It is built around computer tutorials that guide students in producing models of neural behavior, with the associated Matlab code freely available online. From these models students learn how individual neurons function and how, when connected, neurons cooperate in a circuit. The book demonstrates through simulated models how oscillations, multistability, post-stimulus rebounds, and chaos can arise within either single neurons or circuits, and it explores their roles in the brain. The book first presents essential background in neuroscience, physics, mathematics, and Matlab, with explanations illustrated by many example problems. Subsequent chapters cover the neuron and spike production; single spike trains and the underlying cognitive processes; conductance-based models; the simulation of synaptic connections; firing-rate models of large-scale circuit operation; dynamical systems and their components; synaptic plasticity; and techniques for analysis of neuron population datasets, including principal components analysis, hidden Markov modeling, and Bayesian decoding. Accessible to undergraduates in life sciences with limited background in mathematics and computer coding, the book can be used in a “flipped” or “inverted” teaching approach, with class time devoted to hands-on work on the computer tutorials. It can also be a resource for graduate students in the life sciences who wish to gain computing skills and a deeper knowledge of neural function and neural circuits.




Python Data Science Handbook


Book Description

For many researchers, Python is a first-class tool mainly because of its libraries for storing, manipulating, and gaining insight from data. Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all—IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other related tools. Working scientists and data crunchers familiar with reading and writing Python code will find this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models. Quite simply, this is the must-have reference for scientific computing in Python. With this handbook, you’ll learn how to use: IPython and Jupyter: provide computational environments for data scientists using Python NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python Pandas: features the DataFrame for efficient storage and manipulation of labeled/columnar data in Python Matplotlib: includes capabilities for a flexible range of data visualizations in Python Scikit-Learn: for efficient and clean Python implementations of the most important and established machine learning algorithms




Introduction to Deep Learning and Neural Networks with PythonTM


Book Description

Introduction to Deep Learning and Neural Networks with PythonTM: A Practical Guide is an intensive step-by-step guide for neuroscientists to fully understand, practice, and build neural networks. Providing math and PythonTM code examples to clarify neural network calculations, by book's end readers will fully understand how neural networks work starting from the simplest model Y=X and building from scratch. Details and explanations are provided on how a generic gradient descent algorithm works based on mathematical and PythonTM examples, teaching you how to use the gradient descent algorithm to manually perform all calculations in both the forward and backward passes of training a neural network. - Examines the practical side of deep learning and neural networks - Provides a problem-based approach to building artificial neural networks using real data - Describes PythonTM functions and features for neuroscientists - Uses a careful tutorial approach to describe implementation of neural networks in PythonTM - Features math and code examples (via companion website) with helpful instructions for easy implementation




Computational Neuroscience and Cognitive Modelling


Book Description

"For the neuroscientist or psychologist who cringes at the sight of mathematical formulae and whose eyes glaze over at terms like differential equations, linear algebra, vectors, matrices, Bayes’ rule, and Boolean logic, this book just might be the therapy needed." - Anjan Chatterjee, Professor of Neurology, University of Pennsylvania "Anderson provides a gentle introduction to computational aspects of psychological science, managing to respect the reader’s intelligence while also being completely unintimidating. Using carefully-selected computational demonstrations, he guides students through a wide array of important approaches and tools, with little in the way of prerequisites...I recommend it with enthusiasm." - Asohan Amarasingham, The City University of New York This unique, self-contained and accessible textbook provides an introduction to computational modelling neuroscience accessible to readers with little or no background in computing or mathematics. Organized into thematic sections, the book spans from modelling integrate and firing neurons to playing the game Rock, Paper, Scissors in ACT-R. This non-technical guide shows how basic knowledge and modern computers can be combined for interesting simulations, progressing from early exercises utilizing spreadsheets, to simple programs in Python. Key Features include: Interleaved chapters that show how traditional computing constructs are simply disguised versions of the spread sheet methods. Mathematical facts and notation needed to understand the modelling methods are presented at their most basic and are interleaved with biographical and historical notes for contex. Numerous worked examples to demonstrate the themes and procedures of cognitive modelling. An excellent text for postgraduate students taking courses in research methods, computational neuroscience, computational modelling, cognitive science and neuroscience. It will be especially valuable to psychology students.




Analyzing Neural Time Series Data


Book Description

A comprehensive guide to the conceptual, mathematical, and implementational aspects of analyzing electrical brain signals, including data from MEG, EEG, and LFP recordings. This book offers a comprehensive guide to the theory and practice of analyzing electrical brain signals. It explains the conceptual, mathematical, and implementational (via Matlab programming) aspects of time-, time-frequency- and synchronization-based analyses of magnetoencephalography (MEG), electroencephalography (EEG), and local field potential (LFP) recordings from humans and nonhuman animals. It is the only book on the topic that covers both the theoretical background and the implementation in language that can be understood by readers without extensive formal training in mathematics, including cognitive scientists, neuroscientists, and psychologists. Readers who go through the book chapter by chapter and implement the examples in Matlab will develop an understanding of why and how analyses are performed, how to interpret results, what the methodological issues are, and how to perform single-subject-level and group-level analyses. Researchers who are familiar with using automated programs to perform advanced analyses will learn what happens when they click the “analyze now” button. The book provides sample data and downloadable Matlab code. Each of the 38 chapters covers one analysis topic, and these topics progress from simple to advanced. Most chapters conclude with exercises that further develop the material covered in the chapter. Many of the methods presented (including convolution, the Fourier transform, and Euler's formula) are fundamental and form the groundwork for other advanced data analysis methods. Readers who master the methods in the book will be well prepared to learn other approaches.