User Tools

Site Tools


biac:analysis:physiological

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

biac:analysis:physiological [2011/12/08 20:46]
petty [AFNI details]
biac:analysis:physiological [2014/08/04 16:03]
Line 1: Line 1:
-====== Physiological Correction Methods ====== 
- 
-Currently this assumes that you have recorded your physiological responses through Cigal. ​ Also, these types of corrections should be done **before** any type of slice-time correction or pre-processing. 
- 
-===== physio_run.py ===== 
-There is currently a tool for running AFNI-based correction of functional image data using physiological data.  In the future it may support FSL-based correction. 
- 
-<​code>​ 
-physio_run.py --help 
-</​code>​ 
- 
-<​code>​ 
-Usage: ​ 
-physio_run.py /​path/​to/​run4.bxh /​path/​to/​pdigm5_12345_4_2 OUTPUTPREFIX [ -f FORMAT ] 
- 
-Program to produce formatted physiological data: 
-    Data will be corrected and recreated from the pdigm file based on information from run data 
-    BXH and PDIGM required 
-    OUTPUTPREFIX is the prefix for the physio-corrected output 
-    FORMAT: what pipeline to use, only supports '​afni'​ for now (default) 
- 
-Options: 
-  -h, --help ​           show this help message and exit 
-  -f string, --format=string 
-                        output format ( afni ) 
-</​code>​ 
- 
-''​physio_run.py''​ runs ''​physio_create.py''​ under the hood to write physiological data in the format AFNI requires (see below for how to run ''​physio_create.py''​ yourself to create data usable by FSL), and then runs various AFNI tools to actually create the physio-corrected image data. 
- 
-The outputs will be OUTPUTPREFIX.bxh,​ OUTPUTPREFIX.nii.gz,​ OUTPUTPREFIX_cardiac.txt and OUTPUTPREFIX_respiration.txt. ​ OUTPUTPREFIX.bxh can be used as the input for ''​resting_pipeline.py''​. 
- 
-===== physio_create.py ===== 
- 
-The underlying tool used by ''​physio_run.py''​ to create the regressors is ''​physio_create.py''​. ​ It takes an input image along with your cigal pdigm file to create various types of corrected text files to be used for physio corrections in a number of different packages. 
- 
-This tool uses various fields from the bxh and pdigm file to output "​corrected"​ (physiological) data/​regressors. ​ "​Corrected"​ here means accounting for potential time-locking issues, different TR in the cigal recording verses the actual data acquisition,​ ddqs, etc. 
- 
-The python tool will call cigal functions directly to do the corrections,​ then output new text data in the format requested. 
- 
-<​code>​ 
-physio_create.py --help 
-</​code>​ 
- 
-<​code>​ 
-physio_create.py --bxh /​path/​to/​run4.bxh --pdigm /​path/​to/​pdigm5_12345_4_2 -f fsl --outpath /here/ --hz 100 
- 
-Program to produce formatted physiological data: 
-    Data will be corrected and recreated from the pdigm file based on information from run data 
-    BXH and PDIGM required 
-    OUTPATH defaults to PWD 
-    HZ sampling rate 
-    FORMAT: defaults to fsl 
-        - fsl = cardio,​resp,​TR pulse ( 3 column file )  
-        - npm = time,​cardio,​resp ( 3 column file ) 
-        - afni = cardiac.txt,​ respiration.txt,​ script.m 
- 
- 
-Options: 
-  -h, --help ​           show this help message and exit 
-  -b FILE, --bxh=FILE ​  bxh file for run 
-  -p FILE, --pdigm=FILE 
-                        pdigm file for run 
-  -f string, --format=string 
-                        output format ( fsl,​npm,​afni ) 
-  --hz                  sampling rate is hz ( 100 ) 
-  -o PATH, --outpath=PATH 
-                        location to store output files 
- 
-</​code>​ 
- 
-===== AFNI details ===== 
- 
-This section details the steps that the tool ''​physio_run.py''​ (described above) does for you automatically. 
- 
-Create the AFNI formated physiological text data. 
-<code bash>​physio_create.py -b Data/​Func/​20111025_12345/​run004.bxh -p Data/​Behav/​12345/​pdigm5_12345_4_2 -f afni --hz 100 </​code>​ 
- 
-This would create my "​cardiac.txt"​ and "​respiration.txt",​ and a MATLAB script script.m that will create the regressors, and has the following contents: 
- 
-<code matlab> 
-addpath /​usr/​local/​packages/​MATLAB/​afni/​ 
-Opt.Respfile = '/​path/​to/​respiration.txt'​ 
-Opt.Cardfile = '/​path/​to/​cardiac.txt'​ 
-Opt.VolTR = 1.5 
-Opt.Nslices = 34 
-Opt.PhysFS = 100 
-Opt.SliceOrder = '​alt+z'​ 
-%please choose the correct order if not running interleaved:​ **'​alt+z'​**/'​alt-z'/'​seq+z'/'​seq-z'​ 
- 
-RetroTS(Opt) 
-</​code>​ 
- 
-The output of runnning the MATLAB script will be **"​oba.slibase.1D"​**,​ which is a text file containing regressors to remove from your data on a slice-by-slice basis. 
- 
-Convert your data to 4D nifti if you haven'​t already done so: 
-<code bash>​bxh2analyze --niigz -s input.bxh run004</​code>​ 
- 
-Create the afni script which you will use to actually run the 3dretroicor functionality:​ 
-<code bash>​afni_proc.py -subj_id 12345 -dsets run004.nii.gz -blocks despike -do_block ricor -tcat_remove_first_trs 0 -ricor_regs *.slibase.1D -ricor_regs_nfirst 0 -ricor_regre 
-ss_method '​per-run'</​code>​ 
- 
-The result of the above command would be a tcsh script, which would run the despiking and 3dretroicor correction only.  Run it: 
-<code bash>​tcsh -xef proc.12345 |& tee output.proc.12345</​code>​ 
- 
-There will be a resulting folder with all the afni data inside. ​ You can convert the afni HEAD/BRIK to a nifti file, then proceed to whatever you're doing afterwards: 
-<code bash> 
-#convert afni to nii, create bxh 
-bxh2analyze --niigz -s 12345.results/​pb02.12345.r01.ricor+orig.BRIK physiocorrected 
-</​code>​ 
- 
-Run the resting state pipeline: 
-<code bash>​resting_pipeline.py -f physiocorrected.bxh -s 0,​1,​2,​3,​4,​5,​6,​7 -p func --sliceorder odd</​code>​ 
- 
- 
-===== FSL Feat ===== 
- 
-We've gotten the FSL beta functions for physiological correction, which we'll test. 
- 
-They are based on the same algorithms used in afni with retroicor. ​ Once things are functioning,​ they'​ll be installed on the cluster. 
- 
-More information can be seen here: 
-[[http://​www.fmrib.ox.ac.uk/​Members/​jon/​physiological-noise-correction]] 
- 
-The beta options will allow you to plug in the resulting regressors directly into Feat.  After pre-processing you can use the **res4d.nii.gz** files for further analysis ( filtered_func_data would not have the physio regressor removed ). 
- 
- 
- 
  
biac/analysis/physiological.txt · Last modified: 2014/08/04 16:03 (external edit)