Statistical learning of human brain structure – The verical occipital fasciculus - a century old controversy – Resolved through computational neuroanatomy!



Statistical learning of human brain structure – The verical occipital fasciculus - a century old controversy – Resolved through computational neuroanatomy!

0 0


2015-10-27-dipy

Community seminar presentation about machine learning in MRI

On Github arokem / 2015-10-27-dipy

Statistical learning of human brain structure

Ariel Rokem, University of Washington eScience Institute

Follow along at http://arokem.github.io/2015-10-27-dipy/

My plan for today

Neuroimaging Statistical learning ideas applied to neuroimaging Open-source software that does it Basic science questions

Happy to go off-script!

Normal behavior is supported by brain connectivity

Image from Catani and ffytche (2015)

Not just passive cables

Brain connections change with development

Individual differences account for differences in behaviour

Adapt with learning

This has clinical significance

Magnetic Resonance Imaging (MRI)

Neural activity: functional MRI

Anatomy: structural MRI

...

Brain connectivity: diffusion MRI

Diffusion MRI

Isotropic diffusion

Diffusion MRI

Anisotropic diffusion

Diffusion MRI

Modeling diffusion

Basser, Mattielo and Le Bihan (1994)

Diffusion statistics

Mean diffusivity
Fractional anisotropy
Principal diffusion direction

From diffusion to tracks

From diffusion to tracks

From diffusion to tracks

DIPY: Diffusion MRI in Python

Part of the NIPY community

Started in 2009 by Eleftherios Garyfallidis

Contributors from at least six different countries and many different labs

Diffusion MRI: the challenge of validation

Algorithm 1
Algorithm 2

A statistical learning approach

In-vivo validation
Measurement #1
Measurement #2
Test-retest reliability
Model
Cross-validation
Rokem et al. (2015)

Dipy cross-validation API

gtab = gradient_table(...)

model = ReconstModel(gtab, ...)

fit = model.fit(data, ...) # => ReconstFit

prediction = fit.predict(gtab, ...)

For example

model = dti.TensorModel(gtab)

fit = model.fit(data1)

prediction = fit.predict(gtab)

RMSE = np.sqrt(\ np.mean((prediction - data2) ** 2), -1))

rRMSE = RMSE / np.sqrt(\ np.mean((data1 - data2) ** 2), -1))

Rokem et al. (2015)
Corpus callosum
Corticospinal tract
Superior longitudinal fasciculus
DTI
Crossing fiber model
Rokem et al. (2015)

When you've only measured once

k-fold cross-validation

# Use a k of 2

dti_pred = kfold_xval(dti_model, data, 2)

csd_pred = kfold_xval(csd_model, data, 2)

Algorithm 1
Algorithm 2

LiFE: Linear Fascicle Evaluation

Forward model from the tracks to the measured signal

Pestilli et al. (2014)

From diffusion to tracks

From tracks to diffusion

...
=
Pestilli et al. (2014)
Solve for
>>> X.shape (10e8, 10e6)
Pestilli et al. (2014)

fiber_model = life.FiberModel(gtab)

fit = fiber_model.fit(data, tracks)

prediction = fit.predict(gtab)

optimized_tracks = tracks[fit.beta>0]

The verical occipital fasciculus - a century old controversy

Yeatman et al. (2014)

The verical occipital fasciculus - a century old controversy

Yeatman et al. (2014)

Resolved through computational neuroanatomy!

Yeatman et al. (2014)

The VOF is strategically located

Takemura et al. (2014)

To transmit information between dorsal and ventral visual areas

Takemura et al. (2014)

Collaborators

Dipy:
Eleftherios Garyfallidis
Stefan Van der Walt
Bago Amirbekian

Collaborators

Stanford VISTA lab:
Brian Wandell
Franco Pestilli
Jason Yeatman (now at UW ILABS!)
Hiromasa Takemura
http://arokem.org
arokem@gmail.com
@arokem
github.com/arokem
Statistical learning of human brain structure Ariel Rokem, University of Washington eScience Institute Follow along at http://arokem.github.io/2015-10-27-dipy/