# Hands-on Reproducible and Scalable Brain Imaging Analysis with Nipype
Nipype is a Python-based scalable workflow engine with extensive support for
neuroimaging. The goals of this workshop are two-fold. First, to enable attendees
to become familiar with reproducible and scalable analysis with the [Nipype](http://nipy.org/nipype)
platform. Second, to spend time interacting and hacking with developers of
Nipype and other scientific software.
## Spatiotemporal coordinates
#### Location: Massachusetts Institute of Technology, Cambridge, Massachusetts, USA
#### Dates: March, 27 - 31, 2017
#### Times: 9am - 6pm (Friday we will finish at 4pm)
## REGISTRATION
Cost: $125 per person (Fees cover lunches and refreshments.)
Limited to 30 participants.
## Prerequisite courses
Attendees should have taken this on their own time prior to attending:
- (Required) [Unix shell](http://swcarpentry.github.io/shell-novice/)
- (Required) [Git version control](http://swcarpentry.github.io/git-novice/)
- (Required) [Basic Python and scientific Python (parts 1.1-1.3)](http://www.scipy-lectures.org/intro/index.html)
- (Preferred) [Neuroimaging basics](http://www.fmri4newbies.com/tutorials/)
## Additional Requirements
- Aware of different data types (e.g., NIfTI, CIFTI, mgz, DICOM, MINC)
used in brain imaging
- Used at least one neuroimaging package (e.g., AFNI, ANTS, FreeSurfer,
FSL, Nipy - Dipy, Nibabel, Nilearn, Nipy, SPM)
- A laptop or equivalent. We will have access to cloud computing resources for
this workshop.
## Review questions
At the end of the workshop we expect participants to be able to perform [various tasks listed in this document](http://nipy.org/workshops/2017-03-boston/review.html)
## Schedule (9am - 6pm)
### Day 1: Bootcamp - Introduction to reproducible scientific computation
Morning:
- Introduction to workshop
- Using version control for code and data
- Using reproducible container based environments
Afternoon:
- Using Python for scientific and numerical computing: [Numpy](http://nbviewer.jupyter.org/github/nipy/workshops/blob/master/170327-nipype/notebooks/numpy-advanced/numpy_advanced_py3.ipynb), [Scipy, Pandas, Matplotlib, Seaborn, Jupyter](http://nbviewer.jupyter.org/github/nipy/workshops/blob/master/170327-nipype/notebooks/scientific-python/scientific_python.ipynb)
- Using Python for neuroimaging: [Nibabel and Nilearn](http://nbviewer.jupyter.org/github/nipy/workshops/blob/master/170327-nipype/notebooks/nibabel_nilearn/nibabel_nilearn.ipynb)
- Capturing execution information for reuse
### Day 2: Mastering Nipype basics
Morning:
- Using Nipype for analysis
- Converting DICOMS to a BIDS dataset
- [Adapting and running a simple workflow on a BIDS dataset](http://nbviewer.jupyter.org/github/nipy/workshops/blob/master/170327-nipype/notebooks/basic-bids/basic_data_input_bids.ipynb)
- Debugging Nipype errors
Afternoon:
- Scaling workflows using multicore machines and HPC clusters
- Writing new [workflows](http://nbviewer.jupyter.org/github/nipy/workshops/blob/master/170327-nipype/notebooks/new-workflows-and-interfaces/advanced_workflows.ipynb) and [interfaces](http://nbviewer.jupyter.org/github/nipy/workshops/blob/master/170327-nipype/notebooks/new-workflows-and-interfaces/advanced_interfaces.ipynb)
- Writing regression tests
- Introspecting workflow output and provenance
### Day 3: Using Nipype for anatomical processing
Morning:
- Introducing [Mindboggle](http://www.mindboggle.info/)
- Processing anatomical data (T1, T2, dMRI)
Afternoon:
- Project and sprint pitches
- Hacktime and code sprints
- Unconference session
### Day 4: Using Nipype for functional processing
Morning:
- Introducing [CPAC](https://fcp-indi.github.io/)
- Processing fmri data (task + resting): [fMRIPrep](https://github.com/nipy/workshops/blob/gh-pages/2017-03-boston/lectures/fmriprep/FMRIPREP.pdf)
Afternoon:
- Hacktime and code sprints
- Unconference session
### Day 5: Reports and collaborations
Morning:
- Hacktime and code sprints
- Project reports
Afternoon:
- Neuroscout, [Neurosynth](http://www.neurosynth.org/), [Neurovault](http://neurovault.org/)
- Reproducible research using [ReproNim](http://www.reproducibleimaging.org/)
and [Stanford Center for Reproducible Neuroscience](http://reproducibility.stanford.edu/)
platforms
- Future of Nipype
## Developers in attendance:
- Alejandro De La Vega, University of Texas, Austin
- Anisha Keshavan, University of California, San Francisco
- Arno Klein, Child Mind Institute, New York
- Cameron Craddock, Child Mind Institute, New York
- Chris Markiewicz, Stanford University, Stanford
- Dorota Jarecka, MIT, Cambridge
- Jean-Baptiste Poline, University of California, Berkeley
- Krzysztof (Chris) Gorgolewski, Stanford University, Stanford
- Mathias Goncalves, MIT, Cambridge
- Oscar Esteban, Stanford University, Stanford
- Satrajit Ghosh, MIT, Cambridge
- Smruti Padhy, MIT, Cambridge
- Tal Yarkoni, University of Texas, Austin
- Yaroslav Halchenko, Dartmouth College
## Support
The workshop is supported by supported by the National Institute Of Biomedical
Imaging And Bioengineering of the National Institutes of Health under Award
Number R01EB020740. The content is solely the responsibility of the authors and
does not necessarily represent the official views of the National Institutes of
Health.