1 / 35

fBIRN Image Processing Stream (FIPS) Douglas N. Greve MGH Martinos Center

fBIRN Image Processing Stream (FIPS) Douglas N. Greve MGH Martinos Center. FIPS Design Goals. Massive fMRI Analysis All Levels Query-Driven Facilitate Collaboration Calibration. A work in progress …. BIRN Data Hierarchy. Root (SRB). Directory Structure Naming Convention XML

bono
Download Presentation

fBIRN Image Processing Stream (FIPS) Douglas N. Greve MGH Martinos Center

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. fBIRN Image Processing Stream(FIPS)Douglas N. GreveMGH Martinos Center

  2. FIPS Design Goals • Massive fMRI Analysis • All Levels • Query-Driven • Facilitate Collaboration • Calibration A work in progress …

  3. BIRN Data Hierarchy Root (SRB) • Directory Structure • Naming Convention • XML • Human Upload Script • SRB • FIPS “Database” • Well-Defined Rules Project Subject/BIRNId Study Visit Series/Run Analysis K-Reconstruction PixelData/XML

  4. Analysis Levels • Preprocessing – MC, STC, B0, Smoothing, Brain Extraction, Registration • First Level – Estimate amplitude of HDR, Significance • Higher Levels • Visit, Subject, Group, Cross-Group, … • Fixed, Random, Mixed Effects • Stimulus Schedule – EPrime • FIPS Database and Web page • QA – All Levels (nothing in FIPS yet) • Mostly FSL-based

  5. Analysis Configuration Centralized vs Customized • Centralized/Global • Preprocessing and First-Level • High-Level Instructions • Do a few times • Assures same analysis

  6. Automatic Analysis Customization • Low-Level Sources of Variance • Run, Visit, Subject, Site • Intended – Stimulus Schedule • Unintended, Known – Slice Timing • Unintended, Unknown – Smoothness, HDR, B0 • Remove or Account for Automatically • Insulate the user • Starts with data upload – STC, EPrime; GIGO • Global Analysis Configuration (FLAC, PPC) • Customize – Schedules, STC, Smoothing-To

  7. Query-Driven Analysis Cross-Group • Specify Match Criteria • Eg, All subjects from Minn • Male, Left Handed, Schz • Hypothesis • Automatic Level Traversal Group1 Subj1 Visit1 Run1 First-Level PreProc Raw

  8. Facilitate Collaboration • Sharing of: • Raw Data • Analysis • Storage • Computation • Global Configurations (Centralized) • Stimulus Schedules • PPC • FLAC • Done a few times – bring all expertise to bear

  9. Status … • Software Exists! www.nmr.mgh.harvard.edu/~greve/fbirn/fips • And people are using it. • Tue, 830-930AM, Laguna Room • Mostly wrappers around FSL • EPrime  Stimulus Schedules • PreProc – • FSL: MC, STC, Smooth • Smoothing-To • Some Modularization • First Level – FSL

  10. … Status • Visit Level – FSL Fixed Effects • Subject Level – Not Yet • Group Level (Talairach Space) • OSGM FSL RFx, FFx, MFx • Where? DB? • XGroup Level – Not Yet. Where? DB? • Queryability • FIPS DB (need real DB) • Automatic Traversal • Local Processing Only • ROI – Some FreeSurfer Integration

  11. Current Issues • Databasing – extracting info for designs • QA and Repair • Modularization • Centralized Configurations • Provenance/Distribution/Testing • Multi-Stage Registration • Format – currently Analyze, want NIFTI • Computational Power/Cluster

  12. Configure First-Level Analysis Stimulus Timing Scanner Human Upload FLAC Library EPrime First-Level Analysis Hierarchy (Local SRB) FIPS Database PixelData ImageWrapper.xml fips-process.xml Stimulus Schedules FIPS Overview

  13. Local Human Upload and Data Hierarchy • $LOCAL_SRB_HOME_BIRN/ • ProjectName_ProjectId • SubjectID/ • Visit__SiteId_VisitNo/ • Study__StudyId/ • ExperimentSeries/ • Native/ • Original__0001/ • Analyze_7.5/ /space/BIRN/ fBIRNPhaseII__000010/ 00900000103/ Visit__009_0001/ Study__0001/ sm3/ Native/ Original__0001/ Analyze_7.5/ In Analyze_7.5/: Pixel Data: f0001.img, f0002.img, … (analyze format + .mat) ImageWrapper.xml – geometry, voxel size, slice order fips-process.xml – paradigm, run, site, BIRN Id, etc (redundant) XML files contain data-specific information.

  14. fips-process.xml • paradigm – eg, SIRP • run number within paradigm • All hierarchy information (BIRNID, etc) • Analysis Level (none, FirstLevel) • Stored with Raw and Analyzed data

  15. FIPS Resource File: ~/.fipsrc setenv LOCAL_SRB_HOME_BIRN /space/mojave/1/users/swallace/SRB setenv MY_FIPS_DIR /birn/users/share/fips/db setenv FIPS_FLAC_DIR /birn/users/share/fips/flac LOCAL_SRB_HOME_BIRN: root of Local SRB MY_FIPS_DIR: Local FIPS Database (low storage) FIPS_FLAC_DIR: Place were FLACs are saved (low storage)

  16. FIPS Database • fips-build-db • Finds all fips-process.xml files 9 levels down • Creates a table in $MY_FIPS_DIR • Creates html in $MY_FIPS_DIR • $MY_FIPS_DIR not in the hierarchy (~/.fipsrc)

  17. Analysis Parameters Data-Independent Data-Specific • Event Definitions • HRF • Smoothing Level • Use Slice Timing or not • Contrasts • Slice Timing (XML) • Discarded Acqs (XML) • Stimulus Schedules Lower-level, Hidden, Nuisance. Handled at upload, within-hierarchy. ImageWrapper.xml, fips-process.xml Higher-level, Share, Save in DB, Queryable, extra-hierarchy. FLAC.

  18. Stimulus Schedules and Data Hierarchy • $LOCAL_SRB_HOME_BIRN/ • ProjectName_ProjectId • SubjectID/ • Visit__SiteId_VisitNo/ • Study__StudyId/ • ExperimentSeries/ • Native/ • Original__0001/ • StimulusSchedules/ /space/BIRN/ fBIRNPhaseII__000010/ 00900000103/ Visit__009_0001/ Study__0001/ sm3/ Native/ Original__0001/ StimulusSchedules/ In StimulusSchedules/: Happy.stf, Sad.stf, … fips-import-sched – program to copy stimulus schedules for a data set into the correct place in the hierarchy.

  19. Stimulus Schedule Issues • More automation needed. • Combine with upload? • Predefined within analysis? • Flexible enough for post hoc event definitions? • Keep in SRB Hierarchy or save in DB? • Note: SIRP and MM schedules for Phase II in fips/etc (thanks Bryon!)

  20. Analysis Parameters Data-Independent Data-Specific • Event Definitions • HRF • Smoothing Level • Use Slice Timing or not • Contrasts • Slice Timing (XML) • Discarded Acqs (XML) • Stimulus Schedules Lower-level, Hidden, Nuisance. Handled at upload. Higher-level, Share, Save in DB, Queryable.

  21. First Level Analysis Configuration (FLAC) • Motion Correction • Slice-timing Correction • Spatial Smoothing • Intensity Normalization (Grand Mean) • Fit General Linear Model (GLM) • Event Types and Schedules • HRF Type and Parameters, Derivatives • Contrasts of Regression Coefficients • Register to Standard Space • Configure ONCE

  22. Creating the FLAC • fips-fla-config – program that uses FSL’s FEAT GUI to configure • first-level analyses. Saves FLAC to FLAC “library”. • fips-fla-config --flac sirp-stc-smth5mm –paradigm SIRP • –projectname fBIRNPhaseII • --flac: name of the FLAC to be used in later calls • --paradigm: as specified during upload • --projectname: as specified during the upload • Creates: $MY_FLAC_DIR/fBIRNPhaseII/SIRP/sirp-stc-smth5mm • sirp-stc-smth5mm is a text file crated by FSL. • FLAC “Library” $MY_FLAC_DIRnot in the hierarchy (~/.fipsrc) • DO THIS ONCE!

  23. What fips-fla-config is doing • Creates temporary staging directory • Copies the data and schedules from a template subject (confusing but required by FEAT) • Runs FSL’s FEAT GUI • User specifies the config (including schedules) • User saves to “design.fsf” • Renames design.fsf and copies to FLAC Library

  24. Configuring the First-Level Analysis using FSL-FEAT

  25. Analyzing Data: fips-fla USAGE: fips-fla --projectname name : eg, fBIRNPhaseII --paradigm name : eg, SIRP --flac FLACName : eg, sirp-stc-smth5mm Analyzes all matching data sets, unless: --birnid id : eg, 00042105 --siteid id : eg, 0006 --visitid id : eg, L0001 --studyname name : eg, bay4-trio --run nthrun --visitname name --studyid id

  26. FLA and Data Hierarchy • $LOCAL_SRB_HOME_BIRN/ • ProjectName_ProjectId • SubjectID/ • Visit__SiteId_VisitNo/ • Study__StudyId/ • ExperimentSeries/ • Analysis/ • Original__0001/ • FLACName.feat/ /space/BIRN/ fBIRNPhaseII__000010/ 00900000103/ Visit__009_0001/ Study__0001/ sirp3/ Analysis/ Original__0001/ sirp-stc-smth5mm.feat/ In FLACName.feat/: FSL Analysis results, fips-process.xml. Rebuild DB (fips-build-db) to see results in HTML.

  27. What fips-fla is doing • Finds a matching data set • Copies FLAC file (FSL FEAT format) • Customizes for that data set (eg, slice order) • Runs FEAT scripts (does “everything”) • Runs a check to catch errors • Creates a new fips-process.xml (changes “Analysis Level” to “FirstLevel”)

  28. First-Level Analysis Visualization • FSL-created HTML File • fips-view • AFNI • FreeSurfer (tkmedit) • Slicer

  29. First Level Analysis Workflow 0.Define and upload FLAC (once for all sessions) For each session: • Collect data for a session • Local Upload • (Re)Build FIPS DB • Upload stimulus timing files (if necessary) • Analyze (First Level) • Rebuild FIPS DB • Visualize

  30. FIPS and MBIRN/FreeSurfer • Visualization • ROI Definition and Analysis • fips-fsreg – register functional to anatomical • fips-feat2surf – sample results on surface • fips-fsroi – maps ROIs to functional space • fips-fsroisum – summarizes ROIs

  31. Outstanding Issues • Higher-Level Analysis (where in hierarchy?) • Analyze on Upload (stimulus timing files) • Include FLAC in DB? • Portalize • Continue to use FEAT?

  32. Stimulus Identification and Timing 1 2 3 4 5 6 7 8 Time t=0 t=3.0 t=10.0 t=15.0 t=30.0 t=28.7 t=37.1 t=43.1 t=13.0 SAD HAPPY Sad.stf: 3.0 2 1 13.0 2 1 15.0 2 1 37.1 2 1 Happy.stf: 10.0 2 1 30.0 2 1 28.7 6 1 43.1 2 1 • Columns: • Onset Time • Duration • Weight

More Related