fbirn image processing stream (fips) douglas n. greve mgh martinos center

Post on 13-Jan-2016

32 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

fBIRN Image Processing Stream(FIPS)

Douglas N. GreveMGH Martinos Center

FIPS Design Goals

• Massive fMRI Analysis• All Levels• Query-Driven• Facilitate Collaboration• Calibration

A work in progress …

BIRN Data Hierarchy

• Directory Structure• Naming Convention• XML• Human Upload Script• SRB• FIPS “Database”• Well-Defined Rules

Root (SRB)

Analysis

K-Reconstruction

Project

Subject/BIRNId

Study

Visit

Series/Run

PixelData/XML

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

Analysis ConfigurationCentralized vs Customized

• Centralized/Global• Preprocessing and First-Level• High-Level Instructions• Do a few times• Assures same analysis

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

Query-Driven Analysis

• Specify Match Criteria• Eg, All subjects from Minn• Male, Left Handed, Schz• Hypothesis

• Automatic Level Traversal

Cross-Group

Group1

Run1

Visit1

Subj1

First-Level

PreProc

Raw

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

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

… 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

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

FIPS Overview

Scanner

Human Upload

Hierarchy(Local SRB)

ConfigureFirst-LevelAnalysis

FLAC Library

First-LevelAnalysis

FIPSDatabase

StimulusTiming

EPrime

PixelDataImageWrapper.xmlfips-process.xmlStimulus Schedules

Local Human Upload and Data Hierarchy

1. $LOCAL_SRB_HOME_BIRN/2. ProjectName_ProjectId3. SubjectID/4. Visit__SiteId_VisitNo/5. Study__StudyId/6. ExperimentSeries/7. Native/8. Original__0001/9. 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.

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

FIPS Resource File: ~/.fipsrc

setenv LOCAL_SRB_HOME_BIRN /space/mojave/1/users/swallace/SRBsetenv MY_FIPS_DIR /birn/users/share/fips/dbsetenv 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)

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)

Analysis Parameters

• Slice Timing (XML)• Discarded Acqs (XML)• Stimulus Schedules

Data-Specific

• Event Definitions • HRF• Smoothing Level• Use Slice Timing or not• Contrasts

Data-Independent

Lower-level, Hidden, Nuisance.Handled at upload, within-hierarchy.ImageWrapper.xml, fips-process.xml

Higher-level, Share, Save in DB, Queryable, extra-hierarchy. FLAC.

Stimulus Schedules and Data Hierarchy

1. $LOCAL_SRB_HOME_BIRN/2. ProjectName_ProjectId3. SubjectID/4. Visit__SiteId_VisitNo/5. Study__StudyId/6. ExperimentSeries/7. Native/8. Original__0001/9. 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.

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!)

Analysis Parameters

• Slice Timing (XML)• Discarded Acqs (XML)• Stimulus Schedules

Data-Specific

• Event Definitions • HRF• Smoothing Level• Use Slice Timing or not• Contrasts

Data-Independent

Lower-level, Hidden, Nuisance.Handled at upload.

Higher-level, Share, Save in DB, Queryable.

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 SpaceConfigure ONCE

Creating the FLACfips-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_DIR not in the hierarchy (~/.fipsrc)

DO THIS ONCE!

What fips-fla-config is doing

1. Creates temporary staging directory2. Copies the data and schedules from a template

subject (confusing but required by FEAT)3. Runs FSL’s FEAT GUI4. User specifies the config (including schedules)5. User saves to “design.fsf”6. Renames design.fsf and copies to FLAC Library

Configuring the First-Level Analysis using FSL-FEAT

Analyzing Data: fips-flaUSAGE: 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

FLA and Data Hierarchy

1. $LOCAL_SRB_HOME_BIRN/2. ProjectName_ProjectId3. SubjectID/4. Visit__SiteId_VisitNo/5. Study__StudyId/6. ExperimentSeries/7. Analysis/8. Original__0001/9. 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.

What fips-fla is doing

1. Finds a matching data set2. Copies FLAC file (FSL FEAT format)3. Customizes for that data set (eg, slice order)4. Runs FEAT scripts (does “everything”)5. Runs a check to catch errors6. Creates a new fips-process.xml (changes

“Analysis Level” to “FirstLevel”)

First-Level Analysis Visualization

• FSL-created HTML File• fips-view

•AFNI• FreeSurfer (tkmedit)• Slicer

First Level Analysis Workflow

1. Collect data for a session2. Local Upload 3. (Re)Build FIPS DB4. Upload stimulus timing files (if necessary)5. Analyze (First Level) 6. Rebuild FIPS DB7. Visualize

0. Define and upload FLAC (once for all sessions)

For each session:

FIPS and MBIRN/FreeSurfer

• Visualization• ROI Definition and Analysis

fips-fsreg – register functional to anatomicalfips-feat2surf – sample results on surfacefips-fsroi – maps ROIs to functional spacefips-fsroisum – summarizes ROIs

Outstanding Issues

• Higher-Level Analysis (where in hierarchy?)

• Analyze on Upload (stimulus timing files)

• Include FLAC in DB?

• Portalize

• Continue to use FEAT?

Stimulus Identification and Timing

1 73 42 5 6 8

HAPPYSAD

Happy.stf:

10.0 2 1

30.0 2 1

28.7 6 1

43.1 2 1

Sad.stf:

3.0 2 1

13.0 2 1

15.0 2 1

37.1 2 1

Time

t=0 t=3.0 t=10.0

t=13.0

t=15.0 t=30.0 t=28.7 t=37.1 t=43.1

Columns:1. Onset Time2. Duration3. Weight

top related