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.




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.




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




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




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.




MATLAB for Neuroscientists


Book Description

MATLAB for Neuroscientists serves as the only complete study manual and teaching resource for MATLAB, the globally accepted standard for scientific computing, in the neurosciences and psychology. This unique introduction can be used to learn the entire empirical and experimental process (including stimulus generation, experimental control, data collection, data analysis, modeling, and more), and the 2nd Edition continues to ensure that a wide variety of computational problems can be addressed in a single programming environment. This updated edition features additional material on the creation of visual stimuli, advanced psychophysics, analysis of LFP data, choice probabilities, synchrony, and advanced spectral analysis. Users at a variety of levels—advanced undergraduates, beginning graduate students, and researchers looking to modernize their skills—will learn to design and implement their own analytical tools, and gain the fluency required to meet the computational needs of neuroscience practitioners. - The first complete volume on MATLAB focusing on neuroscience and psychology applications - Problem-based approach with many examples from neuroscience and cognitive psychology using real data - Illustrated in full color throughout - Careful tutorial approach, by authors who are award-winning educators with strong teaching experience




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