Workflow for an Analysis

  • bash flow
  • FSL flow
  • ANTs flow
  • MRIcroGL flow
  • OsiriX flow
  • SPM 12 flow
flow

Workflow for an Analysis

Multiple pieces of software used

  • all different syntax
flow

It’s typical to have lots of software choices

flow

Carp, Joshua. “The secret lives of experiments: methods reporting in the fMRI literature.” Neuroimage 63.1 (2012): 289-300.

Our Goal:

Lower the bar to entry

  • all “one” code (R)
    • pipeline tool
    • also “native” R code

Complete pipeline

  • preprocessing and analysis
flow

R is a language and environment
for statistical computing
and graphics.
https://cran.r-project.org/

R is a base set of foundational functions

flow

With (> 11000) user-written packages

flow

What did R have for medical imaging?

What did R have for medical imaging?

flow

Bioinformatics Repository: Bioconductor
flow

  • centralized bioinformatics/genomics packages
  • large community/number of packages (> 1300)
  • published tutorials and workflows
  • additional requirements to CRAN (e.g. packages need vignettes)

Bioinformatics Repository: Bioconductor
flow

  • team of developers/maintainers
  • multiple grants of support

Python Framework: NiPy flow

  • integrates multiple neuroimaging software
  • standardizes the syntax
  • provides workflows
  • allows the user to take advantage of all of Python
    • pandas, scikit-learn, Jupyter notebooks

flow
An R Platform for
Medical Imaging Analysis

What is Neuroconductor?

  1. A community of developers and users of R packages for imaging
  2. A website https://neuroconductor.org/.
    • with tutorials and help
  3. A team helping developers and users (John, Adi Gherman, Ciprian Crainiceanu, Brian Caffo)
  4. A centralized repository of maintained packages

Goal: Centralize the packages (currently 62)

flow

Solution: Build a Bioconductor-like Solution using Current Tools

Git and GitHub

  • Git version control system: stores changes of files flow

  • GitHub is an online server of repositories

  • Distribute packages and install them via devtools::install_github

flow

Continuous Integration: Travis and Appveyor

  • Builds and checks R packages on Windows (Appveyor) and Linux/OS X (Travis CI)
  • Works well with GitHub

flow     flow

Development Pipeline:

Check the package for stability

  • check against other imaging software (e.g. FSL)

flow

Helping Developers

Benefits of Neuroconductor:

Allow imaging to use all R has to offer:

  • Statistics and Machine Learning
  • Versioning and testing
  • Reproducible reports and analyses
  • Shiny (web applications)
  • Genomics/Imaging analysis in one platform
    • Bioconductor

flow Neuroconductor Downsides

  1. More control over the workflow = more work
  2. Users need external software (versions/installation)
  3. No control over external software
    • if maintainer changes something, not much recourse
  4. Need the content (buy-in from the community)

Questions?

Example Packages

ANTsR

Based on ANTs: Advanced Normalization Tools

  • State-of-the-art image processing pipelines
  • Group has won challenges for imaging analysis
  • Still actively maintained and developed
  • Depends on the Insight ToolKit (ITK) medical image processing library

Using R as a Pipeline Tool: fslr

  • fslr package - call FSL from R

  • Requires FSL to be installed (only *nix systems)

flow

spm12r: Wrapper Functions for SPM

neurohcp: Human Connectome Project

malf.templates: Segmented T1-weighted Images

  • Data from the MICCAI 2012 Challenge on Multi-atlas Labelling Data
  • From OASIS project and the labeled data as provided by Neuromorphometrics, Inc. (http://Neuromorphometrics.com/)

Current limitations

  • R is cross platform, but some packages that depend on *nix system
  • Still in beta testing, but more likely to incorporate requests
  • Rcpp requires compiled code, (see below)
  • Licenses with data can be tricky
neurohacking

Image from: https://imgflip.com/i/22gplr

Training we are providing

Questions?