Next Meeting

Date

May 11th 2021, 11h-12h EDT

Jitsi: https://meet.jit.si/hiball_hacking_hour

Poll

To register and signal your interest please fill out this poll : https://forms.gle/CxoKFXWvGviBW3bE7

Description

Hacking Hour is a regular, interative workshop series on coding and neuroimaging. To start with we’ll cover the basics of programming with Python and then move on to some basic applications to neuroimaging. No prior experience in Python or programming is required or expected. The workshop will use Google Colab, Jitsi, and, Github. Sessions are 1 hour long.

Getting started

  1. Create an account on Github (www.github.com)
  2. Create a Google account and access Google Colab (colab.research.google.com)

(Provisional) Curriculum

1. Python Basics I

Description: An introduction to basic data objects and types in Python.

Topics: Variables, Data Types, Lists, Strings, Dictionaries, Operators

Jupyter Notebook: notebooks/W1.ipynb

Slides: slides/W1.pdf

2. Python Basics II

Description: A continuation of the basic concepts of programming, focussing on flow of control and writing functions

Topics: Flow of Control, Functions

Jupyter Notebook: notebooks/W2.ipynb

3. Python Basics III

Description: More on iteration, discussion of the topic of variable scope, and an introduction to some common python functions.

Topics: Iteration with list comprehension, variable scope, Common Python functions (range, enumerate, len, etc.)

Jupyter Notebook: notebooks/W3.ipynb

Slides: slides/W3.pdf

4. Python Basics IV

Description: Introduction to the concept of objects and methods with applications using string manipulation and reading/writing files.

**Topics: ** Objects and methods, manipulating strings, reading/writing files

Jupyter Notebook: notebooks/W4.ipynb

5. Python Libraries I: Brain Volumes

Description: Intoduction to numpy arrays using brain images. We’ll introduce some very simple image processing to create brain masks and will use matplotlib to display our results.

Topics: numpy, nibabel, matplotlib

Jupyter Notebook: notebooks/W5.ipynb

6. Python Libraries II : Data & Visualization

Description: Introduction to doing data analysis with pandas and visualization with matplotlib.

Topics: pandas, matplotlib

Jupyter Notebook:

7. Python Libraries III: Intro. to Image Processing

Description:

Topics: numpy, scipy, skimage

7. Python Libraries IV: Intro. to Statistics

Description:

Topics: numpy, scipy, skimage

Jupyter Notebook:

8. Python Libraries V: Intro. to Machine Learning

Description:

Topics: sklearn

8. Software Design I :

Description: An overview of some best practices for writing software.

Topics: Documentation and modular code

Jupyter Notebook:

8. Software Design II : Version control with Github

Description: How to use Github to keep track of changes to your code.

Topics: Github

Jupyter Notebook:

8. Software Design III : Test driven development

Description:

Topics:

Jupyter Notebook:

7. Segmentation

Description:

Topics:

Jupyter Notebook:

8. Registration

Description:

Topics:

Jupyter Notebook:

Support or Contact

tffunck@gmail.com