User Tools

Site Tools


biac:analysis:physiological:cigal_pdigm

Differences

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

Link to this comparison view

biac:analysis:physiological:cigal_pdigm [2022/01/20 14:45]
cmp12 [This topic does not exist yet]
biac:analysis:physiological:cigal_pdigm [2023/02/23 18:43]
Line 1: Line 1:
- 
-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> 
  
biac/analysis/physiological/cigal_pdigm.txt · Last modified: 2023/02/23 18:43 (external edit)