Next Meeting
Date
May 11th 2021, 11h-12h EDT
Meeting Link
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
- Create an account on Github (www.github.com)
- 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