430 likes | 558 Views
fBIRN Image Processing Stream (FIPS). Overview. Goals First Level Analysis Steps FLAC Higher/Group Level Analysis Near-term Workflow. Long-Range Goals. Queryable Highly flexible Multi-site Calibration Custom software plug-ins Prepackaged analysis software plug-ins
E N D
Overview • Goals • First Level Analysis Steps • FLAC • Higher/Group Level Analysis • Near-term Workflow
Long-Range Goals • Queryable • Highly flexible • Multi-site Calibration • Custom software plug-ins • Prepackaged analysis software plug-ins • Portalized
Short-RangeGoals • Limited flexibility • FSL-only • Publishable • Start to solve data management problems
First Level (Run) Analysis • Slice-timing Correction (?) • Motion Correction • Spatial Smoothing • Intensity Normalization (Grand Mean) • Fit General Linear Model (GLM) • Regression Coefficients • Residual Variance • Contrasts of Regression Coefficients (Var) • t, F, z maps of contrasts • Clusters (GRF) • Spaces: Native, Talairach (FSL-MNI152) • ROI analysis/export
FLAC – First-Level Analysis Configuration • All pre-processing options (MC, slice timing, smoothing) • Hemodynamic model (SPM HRF, delay, dispersion, derivative) • Stimulus identity and timing (“Event Lumping”) • Nuisance regressors • Contrasts (would be better to do this later) • Data set independent! • Define ONCE!
Higher/Group Level Analysis • Select First Level Analysis (FLAC) • Select Contrast from First Level • Select Subjects (Query) • Group Model and Group Contrasts (GLM) • Talairach Space (FSL-MNI152) • Fit GLM • Regression Coefficients • Residual Variance • Contrasts of Regression Coefficients • t, z maps of contrasts • Clusters (GRF)
Short-term Workflow • “Local” Data Management Model • Uses (Evolving) Hierarchy • All data on SRB • All data mirrored locally • All analyses computed locally
First Level Analysis Workflow 0.Define and upload FLAC (once for all sessions) For each session: • Collect data for a session • Upload to session to SRB/HID • Synchronize LocalDB to SRB • Create stimulus timing files from E-Prime • Analyze (First Level) locally • Synchronize SRB to LocalDB (Upload) }Hierararchy Group Level Analysis Workflow -- TBD
Analyzing Data: fips-fla USAGE: fips-fla --flac FLACName : name of the FLAC as created with flac-checkin --subj SubjId : BIRN Subject ID (eg, 00900000103) --site SiteID : BIRN Site ID (eg, 006) --visit VisitNo : Visit number (eg, 1) --study StudyId : Study Id or number (eg, 1) --exp ExpId : Name of experiment (eg, sm) --db database : BIRN database: (eg, Human. Default from RC) --proj ProjectName : BIRN project (eg, fBIRNHumanPhantom. Default from RC) --projid ProjectID : BIRN project ID (eg, 000005 . Default from RC) --overwrite : overwrite previously analyzed results --help : a short story about a Spanish boy named ‘Manual’ Processes all runs in experiment
Phase I Data • Analyzed and on SRB • Motion Correction • Smoothing with FWHM=5mm • Intensity Normalized • BH, SM, and Rest – 15s ON, 15s OFF • SIRP and MMN • http://www.nmr.mgh.harvard.edu/~greve/fbirn/phase1
Database Analysis Parameters (FLAC) Site Data --Scanning protocol --Slice order --Skip Session1 Data --Raw Pixel Data --Stimulus Id and Timing --Analyzed Data Session2 Data --Raw Pixel Data --Stimulus Id and Timing --Analyzed Data
Create Analysis (FLAC) Database Analysis Parameters (FLAC) Site Data --Scanning protocol --Slice order --Skip Session1 Data --Raw Pixel Data --Stimulus Id and Timing --Analyzed Data Session2 Data --Raw Pixel Data --Stimulus Id and Timing --Analyzed Data
FLAC – First-Level Analysis Configuration • Save to create the configuration file • Import/upload • Data set independent! • Define ONCE!
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 Example: Happy and Sad Faces as defined by the experimenter. Sad.stf: 3.0 2 1 13.0 2 1 15.0 2 1 37.1 2 1 • Columns: • Onset Time • Duration • Weight Happy.stf: 10.0 2 1 30.0 2 1 28.7 6 1 43.1 2 1
Stimulus Identification and Timing 1 2 3 4 5 6 7 8 Experimenter 1 2 3 4 5 6 7 8 Subject Experimenter Subject SAD HAPPY SAD HAPPY Sad.stf: 3.0 2 1 13.0 2 1 15.0 2 1 37.1 2 1 SadSubj.stf: 3.0 2 1 13.0 2 1 28.7 6 1 37.1 2 1 Happy.stf: 10.0 2 1 30.0 2 1 28.7 6 1 43.1 2 1 HappySubj.stf: 10.0 2 1 15.0 2 1 30.0 2 1 43.1 2 1
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Subject SS.stf: 3.0 2 1 13.0 2 1 37.1 2 1 HH.stf: 10.0 2 1 28.7 6 1 43.1 2 1 HS.stf: 28.7 6 1 SH.stf: 15.0 2 1 H S H HH HS Experimenter S SH SS
Database Analysis Parameters (FLAC) Site Data --Scanning protocol --Slice order --Skip Session Data --Raw Pixel Data --Stimulus Id and Timing --Analyzed Data Session Data --Raw Pixel Data --Stimulus Id and Timing --Analyzed Data Analyze • Specify FLAC and Session • Session indicates: • where the data are • site (slice order, skip, …) • FLAC indicates: • relative names of raw data, timing files, etc • FLAC customized (full paths resolved, etc) • Design matrix created • GLM Estimation • Inference (contrasts, z, t) • Resample to Talairach space • Local: Upload/Synch with SRB
Group Analysis • Group Level Analysis Configuration (GLAC?) • Specify: • FLAC as input • FLAC contrast • Group model (eg, Age, IQ, diagnosis, etc) • Group contrasts • Can be done within FSL
Where we are now: • Local Analysis (ie, not on the SRB/Portal) • Scripts to define FLAC and analyze data • Data must be in proper hierarch – but no way to achieve this easily (need upload script)
Immediate Goals: • Finalize session hierarchy • Add XML to FSL output directory • Resolve stimulus ID and timing specification • Resolve site-dependent parameters • Update FIPS scripts • Local Analysis with SRB synch (?)
Intermediate Goals: • Portalize and/or incorporate into upload script • Group analysis Long-Rang Goals: • Generalize FLAC (ie, not dependent upon FSL) • Incorporate other analysis packages • Incorporate Calibration Recommendations
Data Hierarchy: Image Data VARIABLE NAMES ------------------------------------ LOCAL_SRB_HOME_BIRN/ DataBase/ ProjectName_ProjectId SubjectID/ Visit__SiteId_VisitNo/ Study__StudyId/ Experiment__Series/ Native/ Original__0001/ Analyze/ EXAMPLE -------------------------------------- /home/BIRN/ Human/ fBIRNHumanPhantom__000005/ 00900000103/ Visit__009_0001/ Study__0001/ sm__0003/ Native/ Original__0001/ Analyze/ ---- RC RC RC CL CL CL CL -- -- -- In Analyze/: f0001.img, f0002.img, … RC = ~/.fipsrc CL = Command-line
FIPS RC File (~/.fipsrc) setenv LOCAL_SRB_HOME_BIRN /space/birn/26/users/greve/srb-mirror setenv FIPS_FLAC_DIR ~/flac setenv FIPS_DEFAULT_DATABASE Human setenv FIPS_DEFAULT_PROJECT_NAME fBIRNHumanPhantom setenv FIPS_DEFAULT_PROJECT_ID 000005
Analyzing Data: fips-fla USAGE: fips-fla --flac FLACName : name of the FLAC as created with flac-checkin --subj SubjId : BIRN Subject ID (eg, 00900000103) --site SiteID : BIRN Site ID (eg, 006) --visit VisitNo : Visit number (eg, 1) --study StudyId : Study Id or number (eg, 1) --exp ExpId : Name of experiment (eg, sm) --db database : BIRN database: (eg, Human. Default from RC) --proj ProjectName : BIRN project (eg, fBIRNHumanPhantom. Default from RC) --projid ProjectID : BIRN project ID (eg, 000005 . Default from RC) --overwrite : overwrite previously analyzed results --help : a short story about a Spanish boy named ‘Manual’ Processes all runs in experiment
Data Hierarchy: FSL Output VARIABLE NAMES ------------------------------------ LOCAL_SRB_HOME_BIRN/ DataBase/ ProjectName_ProjectId SubjectID/ Visit__SiteId_VisitNo/ Study__StudyId/ Experiment__Series/ Analysis/ Original__0001/ FLACNAME.feat/ EXAMPLE -------------------------------------- /home/BIRN/ Human/ fBIRNHumanPhantom__000005/ 00900000103/ Visit__009_0001/ Study__0001/ sm__0003/ Analysis/ Original__0001/ sensorimotor.feat/ ---- RC RC RC CL CL CL CL -- -- -- In TaskData/ sensorimotor.stf RC = ~/.fipsrc CL = Command-line
Creating a FLAC • Create temporary dir • Copy one run of raw data (in analyze4d) - template • Copy timing files (if using) – name important • Run FSL Feat GUI (specify processing options) – do not actually analyze data. • flac-checkin (FIPS_FLAC_DIR) • Delete temporary dir • Do this once for each parameter set • Analyze all data with this FLAC flac-checkin --help
To Analyze Data • Copy data into local SRB mirror • Copy timing files into TaskData/ for each run. Use the same names as when defining the FLAC. Names stay the same across runs, subjects, etc. • Analyze with fips-fla, which will customize the FLAC for each data set • View with html browser or AFNI
Data Hierarchy: Timing Files VARIABLE NAMES ------------------------------------ LOCAL_SRB_HOME_BIRN/ DataBase/ ProjectName_ProjectId SubjectID/ Visit__SiteId_VisitNo/ Study__StudyId/ Experiment__Series/ Native/ Original__0001/ TaskData/ EXAMPLE -------------------------------------- /home/BIRN/ Human/ fBIRNHumanPhantom__000005/ 00900000103/ Visit__009_0001/ Study__0001/ sm__0003/ Native/ Original__0001/ TaskData/ ---- RC RC RC CL CL CL CL -- -- -- In TaskData/ sensorimotor.stf RC = ~/.fipsrc CL = Command-line
Timing Files (FSL: 3-column custom) Onset Time (sec), Duration (sec), Weight 15 15 1 45 15 1 75 15 1 105 15 1 135 15 1 165 15 1 195 15 1 225 15 1 One timing file for each event type.
Outstanding Issues • How to upload timing files to SRB • How to upload FLAC to SRB • Adding XML files to FSL output • Synching output with SRB • Slice-timing correction – site dependent • Delete/Skip first few volumes – site dependent
Future • FLAC creation without a template data set • All processing through portal – no need to have local mirror • Interface with group analysis • Generalize FLAC to other packages
First Level Analysis Workflow • “Local” Data Management Model • All data on SRB • All data mirrored locally • All analyses computed locally • Collect data for a session • Upload to session to SRB/HID • Synchronize LocalDB to SRB • Create stimulus timing files from E-Prime • Analyze (First Level) locally • Synchronize SRB to LocalDB (Upload) }Hierararchy