building tools for neuroimaging

52
Building Tools for Neuroimaging the intersection of high performance computing, web technology, and fun in graduate school Vanessa Sochat Research Computing Talk October 21, 2015

Upload: vanessa-sochat

Post on 12-Jan-2017

368 views

Category:

Science


2 download

TRANSCRIPT

Page 1: Building Tools for Neuroimaging

Building Tools for Neuroimagingthe intersection of high performance computing, web

technology, and fun in graduate school

Vanessa SochatResearch Computing Talk

October 21, 2015

Page 2: Building Tools for Neuroimaging

Outline

BackgroundWhy do researchers need tools?

Page 3: Building Tools for Neuroimaging

Outline

BackgroundWhy do researchers need tools?

ProjectsSpanning HPC, web technology, and neuroscience

Page 4: Building Tools for Neuroimaging

Outline

BackgroundWhy do researchers need tools?

ProjectsSpanning HPC, web technology, and neuroscience

VisionReproducibility, tools for researchers

Page 5: Building Tools for Neuroimaging

Outline

BackgroundWhy do researchers need tools?

ProjectsSpanning HPC, web technology, and neuroscience

VisionReproducibility, tools for researchers

Discussion

Page 6: Building Tools for Neuroimaging

Outline

BackgroundWhy do researchers need tools?

ProjectsSpanning HPC, web technology, and neuroscience

VisionReproducibility, tools for researchers

Discussion

Page 7: Building Tools for Neuroimaging

Why do researchers need tools?

Computational Tools

Page 8: Building Tools for Neuroimaging

Science has a reproducibility crisis

Page 9: Building Tools for Neuroimaging

Science has a reproducibility crisis

Page 10: Building Tools for Neuroimaging

This isn’t enough.

Page 11: Building Tools for Neuroimaging

Reproducibility Means:

http://data-archive.ac.uk/create-manage/life-cycle

DO IT AGAIN

Page 12: Building Tools for Neuroimaging

pipe dreamComputational

the reproducible researcher

web development

computer science skills

domain knowledge

HPC

data analysis skills

core ideal

organized

reproducibility ninja

Page 13: Building Tools for Neuroimaging

Incentives

Infrastructure andvisualization,undervalued

Page 14: Building Tools for Neuroimaging

Outline

BackgroundWhy do researchers need tools?

ProjectsSpanning HPC, web technology, and neuroscience

VisionReproducibility, tools for researchers

Discussion

Page 15: Building Tools for Neuroimaging

Databases and Methods

Page 16: Building Tools for Neuroimaging

NeuroVault

http://www.neurovault.org

Page 17: Building Tools for Neuroimaging

NeuroVault

Django applicationhosted on RODEO (TACC)Github/OpbeatCelery to manage tasksDevelopment: Vagrant → DockerContinuous Integration: Travis → Circle

Where do we put this?Where / how should data be stored?More complex visualization and analysis?

Page 18: Building Tools for Neuroimaging

Pybraincompare

Python moduleProduces web reports / visualizationsTemplate approachGithubD3, canvasContinuous Integration TravisDeployed in NeuroVault (NeuroSynth?)

https://github.com/vsoch/pybraincompare

Page 19: Building Tools for Neuroimaging

150,000+ Values with Canvas

Getting data from the user?Hosted on a static site?A better way than a queue?

Static applicationuses data extracted to flat filesCanvas queue to render 1000 points/time

Page 20: Building Tools for Neuroimaging

150K+ Spatial View

Page 21: Building Tools for Neuroimaging

Reproducibility

Page 22: Building Tools for Neuroimaging

MyConnectome

http://results.myconnectome..org

Page 23: Building Tools for Neuroimaging

MyConnectome

http://results.myconnectome..org

Page 24: Building Tools for Neuroimaging

MyConnectome

http://results.myconnectome..org

Page 25: Building Tools for Neuroimaging

MyConnectome

Vagrant virtual machine (local or AWS)hosted on Amazon Web ServicesGithubPython, Bash, R, Vagrant

Data downloadingStandard format for “deployable” repo?Access to web interfaceElastic Load Balancing

Page 26: Building Tools for Neuroimaging

Banner-Maker

vbmis.com/bmi/project/banner

D3 (JavaScript) / CSS / HTMLFlask Application

Where do we put this?

Page 27: Building Tools for Neuroimaging

Experiments

Page 28: Building Tools for Neuroimaging

Experiments

Page 29: Building Tools for Neuroimaging

Research and Data Analysis

Page 30: Building Tools for Neuroimaging

Noisecloud

http://www.vbmis.com/bmi/noisecloud

Page 31: Building Tools for Neuroimaging

Noisecloud

http://www.vbmis.com/bmi/noisecloud

Page 32: Building Tools for Neuroimaging

Noisecloud

Matlab codeGithubWordpresshosted on bluehost personal (vbmis)MySQL / phpAPILinked to manuscript

Where do we put this?

Page 33: Building Tools for Neuroimaging
Page 34: Building Tools for Neuroimaging

PythonHPC environment to do analysisHTML / CSS / JavaScript / json / phphosted on personal bluehost (vbmis)Github

Challenge: integration of computationServing a static resource from thatHow to make this real time?

Page 35: Building Tools for Neuroimaging

Cognitive Phenotypes

Django application (MySQL)(was) hosted on AWSGithub

Where do we put this?Users and permissionsIntegration with Mechanical Turk

Page 36: Building Tools for Neuroimaging

Web Resources

Page 37: Building Tools for Neuroimaging

Font-Brain

https://github.com/vsoch/font-brain

Real web font (“font-awesome”)Integration into web, documentvision: modern tools for neuroscientists

researcher web design toolsstandard visualizations for reproducibility

Page 38: Building Tools for Neuroimaging

Clinical Tools

Page 39: Building Tools for Neuroimaging

Shiny application in web interfaceJavaScript / HTML / CSSMySQL Database (Stanford)hosted by research computingShiny Server

Where do I put this?Can deployment be easy?

Page 40: Building Tools for Neuroimaging

Recovery Log

https://github.com/vsoch/drain-log

Page 41: Building Tools for Neuroimaging

Recovery Log

https://github.com/vsoch/drain-log

Clinical toolhosted on github pagesRenders a static data file (visualization/table)

This impacted my standard of careWhy doesn’t Stanford have tools like this?

Page 42: Building Tools for Neuroimaging

Prostate

Shiny ( R ) applicationhosted on shinyapps.io

Where do we put this?Free hosting not reasonable

Page 43: Building Tools for Neuroimaging

NeuroImaging Tools

Page 44: Building Tools for Neuroimaging

Brain-Browser

https://youtu.be/KsJ5LOfZHNg

NodeJS applicationruns from command line with “bb”

Page 45: Building Tools for Neuroimaging

Niftindex

https://github.com/vsoch/niindex

php / .htaccessHTML/JavaScriptdeployed on personal (bluehost)

Can servers be customized for their data?

Page 46: Building Tools for Neuroimaging

Nifti-Drop

http://vsoch.github.io/nifti-drop/

Static brain image and NIDM results viewerhosted on github pagesUses FileReader (Chrome)

Interactive web tools for neuroscientistsHandling large data in browserReading, exporting standards

Page 47: Building Tools for Neuroimaging

Outline

BackgroundWhy do researchers need tools?

ProjectsSpanning HPC, web technology, and neuroscience

VisionReproducibility, tools for researchers

Discussion

Page 48: Building Tools for Neuroimaging

Reproducibility as a Service

Graduate Training:- building tools more highly valued- an emphasis is made on reproducible research

Reproducibility Center- may be domain specific- provide infrastructure for researchers to deploy tools- could provide “toolization” as a service

Page 49: Building Tools for Neuroimaging

Methods Results

Conclusions

1. Researchers need help visualizing, sharing

2. Places to deploy things, easily

3. Deploy an entire analysis instantly

4. Blur the line between desktop & browser

5. Have fun while doing it :) ***

Page 50: Building Tools for Neuroimaging

Outline

BackgroundWhy do researchers need tools?

ProjectsSpanning HPC, web technology, and neuroscience

VisionReproducibility, tools for researchers

Discussion

Page 51: Building Tools for Neuroimaging

Thank [email protected]

Page 52: Building Tools for Neuroimaging

Acknowledgements

INCF/ NidashSatra GhoshNolan NicholsJessica TurnerTom NicholsJB PolineDavid Keator

CollaboratorsTal Yarkoni

Nipy

FundingMicrosoft ResearchSGF and NSF

PoldracklabRuss PoldrackChris GorgolewskiCraig MoodieSanmi KoyejoPatrick BissettJoke DurnezIan EisenbergMac ShineJoe Wexler

BMIDaniel RubinRuss AltmanMark MusenRebecca SawyerMary JeanneNancySteven BagleyJohn DiMario