Filter by Year: 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | All Years

Placeholder Image

Breakout session

As a part of NeuroHackademy 2022, Melanie Ganz-Benjaminsen (University of Copenhagen), Taylor Salo (Florida International University), and Ariel Rokem (UW) provided a breakout session on BIDS and Liberty Hamilton (UT Austin) introduced receptive fields/encoding models.

CRN resources

The Center for Reproducible Neuroscience produces a variety of software resources (such as fmriprep and mriqc). In this tutorial, you will learn about some of them.

Cython and numba

Cython is a technology that allows us to easily bridge between python, and the underlying C representations. The main purpose of the library is to take code that is written in python, and, provided some additional amount of (mostly type) information, compile it to C, compile the C code, and bundle the C objects into […]

Placeholder Image

Deep learning

This lecture will introduce PyTorch, a common machine learning library, and will demonstrate the use of PyTorch to develop a multi-layered neural network.  

Docker for scientists

An overview of Docker and other containerization technologies: what containers are, why they’re useful, how to install them, and how to use them. Slides and materials available on GitHub: https://github.com/neurohackweek/docker-for-scientists.

Placeholder Image

Git from Scratch

In this lecture we will learn why git is important in data science, how to use git via its command line interface, and how to configure git to interact with GitHub.

Introduction to Machine Learning

This presentation covers introductory machine learning concepts, including out-of-sample prediction, cross-validation, the variance/bias trade-off, and major classes of ML techniques. Application of these concepts to neuroimaging data is illustrated using the scikit-learn package for Python. 90 minutes

Introduction to programming in Python

A brief overview of the Python programming language, spanning both elementary concepts (variables and data types, control flow, etc.) as well as somewhat more advanced ones (object-oriented programming, argument unpacking, etc.). Includes a short overview of the Jupyter Notebook/Lab environment used for much of the instruction during this course.

Placeholder Image

Introduction to Python

A brief overview of the Python programming language, with an emphasis on tools relevant to data scientists. An interactive Jupyter Notebook (which also doubles as the slides) is available here.

Placeholder Image

Introduction to Python: the Basics

This lecture will provide a ground-up introduction to Python. We will discuss Jupyter notebooks and how to use the JupyterHub, Python variables and types, and basic Python operations.

Introduction to the Geometry and Structure of the Human Brain

This talk will provide a hands-on introduction to the data structures, file formats, and tools used to represent and compute over anatomical and geometric properties of the human brain. Topics will include volumetric MRI data, cortical surface representations, and inter-subject comparison. 90 minutes

Machine learning with scikit-learn

This session will cover the basics of Scikit-Learn, a popular package containing a collection of tools for machine learning written in Python. See more at http://scikit-learn.org. Outline Main Goal: To introduce the central concepts of machine learning, and how they can be applied in Python using the Scikit-learn Package. Definition of machine learning Data representation in scikit-learn […]

Meta-analysis and reproducibility

This talk will discuss neuroimaging meta-analysis as a tool for examining consensus and reproducibility, provide examples of different meta-analytic applications, and review related software and resources.

NiBabel: Neuroimaging data and file structures in Python

This talk will introduce neuroimaging data and file structures using the Python library NiBabel. It will describe the general classes of neuroimaging data researchers are likely to interact with – volumetric, surface, tractography, connectivity – and Python interfaces for loading, modifying and writing the data. There will be some discussion of particular file formats, memory […]


This talk will introduce the Python library nilearn, highlighting its use in bringing machine learning analyses to the neuroimaging domain. 90 minutes

Optimization (ADSI)

This tutorial illustrates how many popular machine learning models can be formulated and solved through the lens of optimization. Through a combination of slides and exercises, we present intuition behind gradient descent, linear and logistic regression, regularization, and outlier detection. 90 minutes.

Panel discussion: Python ecosystem Q&A

An open discussion period for any/all questions regarding the Python language and the neuroimaging data science tools covered in this course. General questions regarding open-source software development (in any language), neuroinformatics, etc. are also welcome. 60 minutes.

Python packaging

In this tutorial, we will work through setting up a scientific Python package. This will provide an opinionated introduction to some of the ins and outs of Python packaging and package distribution.

Placeholder Image

Software testing

An introduction to software testing for scientific code. Materials available here; source code for all materials here.

Version control with git/GitHub

This talk will provide a hands-on introduction to git, the most popular version control software used today. We’ll showcase using the corresponding web portal GitHub, with an emphasis throughout on the importance of version control for collaboration and reproducibility in science. 90 minutes


This talk will introduce why workflow systems are essential for many scientific analyses. It will describe common concepts across workflow technologies used in biomedical research. It will then focus on the Nipype ecosystem as a set of tools to deliver robust and reproducible workflows for neuroimaging analysis. 90 minutes