biac:analysis:physiological
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
biac:analysis:physiological [2011/11/22 14:26] – gadde | biac:analysis:physiological [2024/06/21 15:44] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Physiological Correction Methods ====== | ====== Physiological Correction Methods ====== | ||
- | Currently this assumes that you have recorded your physiological responses through Cigal. | + | ===== Generate resampled TSV from raw GE physio files automatically copied from the scanners |
+ | |||
+ | Stock GE physio is hardcoded by GE to be 25Hz for respiration and 100Hz for pulse. | ||
- | ===== 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. | ||
< | < | ||
- | physio_run.py --help | + | [cmp12@blade17 20211218_03399]$ / |
- | </ | + | usage: convert_GEphysio.py [-h] --xmlh XMLFNAME [--json JSONFNAME] --physdir |
+ | | ||
+ | | ||
- | < | + | create 100Hz resampled TSV from raw GE physio data |
- | Usage: | + | |
- | physio_run.py / | + | |
- | Program to produce formatted physiological data: | + | optional arguments: |
- | Data will be corrected | + | -h, --help |
- | BXH and PDIGM required | + | |
- | | + | |
- | | + | --physdir PHYSDIR |
+ | | ||
+ | | ||
+ | --delay DELAYTIME | ||
+ | | ||
- | Options: | ||
- | -h, --help | ||
- | -f string, --format=string | ||
- | output format ( afni ) | ||
</ | </ | ||
- | '' | + | Provide a valid BXH ( and JSON if possible ) and a path to your subject physio folder to convert_GEphysio.py function. |
- | The outputs | + | This function |
- | ===== physio_create.py ===== | + | If matching respiration and pulse files are found theoretical scan triggers on each TR will be created and the respiration and pulse data will be resampled |
- | + | ||
- | The underlying tool used by '' | + | |
- | + | ||
- | This tool uses various fields from the bxh and pdigm file to output " | + | |
- | + | ||
- | The python tool will call cigal functions directly to do the corrections, | + | |
< | < | ||
- | physio_create.py --help | + | / |
</ | </ | ||
- | < | + | By default you will get a 100Hz resampled TSV with headers and timing. |
- | physio_create.py --bxh / | + | |
- | 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, | ||
- | - npm = time, | ||
- | - afni = cardiac.txt, | ||
+ | The **--bidsout** flag will output a TSV without headers and a BIDS sidecar with appropriate column labels and sampling frequency. | ||
- | Options: | ||
- | -h, --help | ||
- | -b FILE, --bxh=FILE | ||
- | -p FILE, --pdigm=FILE | ||
- | pdigm file for run | ||
- | -f string, --format=string | ||
- | output format ( fsl, | ||
- | --hz sampling rate is hz ( 100 ) | ||
- | -o PATH, --outpath=PATH | ||
- | location to store output files | ||
- | </ | + | The **--afnislicetime** flag will output two 1D slicetiming files to be used with RetroTS.py and afni_proc.py directly. |
- | ===== AFNI details ===== | + | === Using afni === |
- | This section details the steps that the tool '' | + | You can create regressors for afni preprocessing from output files above using RetroTS.py |
- | Create the AFNI formated physiological text data. | + | < |
- | < | + | python3 |
- | + | ||
- | This would create my " | + | |
- | <code matlab> | + | -n #slices |
- | addpath / | + | -v TR in seconds |
- | Opt.Respfile = '/ | + | |
- | Opt.Cardfile = '/ | + | |
- | Opt.VolTR = 1.5 | + | |
- | Opt.Nslices = 34 | + | |
- | Opt.PhysFS = 100 | + | |
- | RetroTS(Opt) | ||
</ | </ | ||
- | The output of runnning the MATLAB script | + | RetroTS |
- | Convert your data to 4D nifti if you haven' | ||
- | <code bash> | ||
- | Create the afni script which you will use to actually run the 3dretroicor functionality: | + | === setup afni despike, retroicor and slicetime correction === |
- | <code bash> | + | |
- | ss_method ' | + | |
- | The result of the above command would be a tcsh script, which would run the despiking and 3dretroicor correction only. Run it: | ||
- | <code bash> | ||
- | There will be a resulting folder with all the afni data inside. | + | < |
- | < | + | python3 / |
- | # | + | |
- | bxh2analyze | + | |
+ | | ||
+ | -tcat_remove_first_trs 2 \ | ||
+ | -tshift_opts_ts | ||
+ | | ||
+ | | ||
+ | -verb 1 | ||
</ | </ | ||
- | Run the resting state pipeline: | + | The above will produce an afni script to throw out 2 timepoints, perform a despike, retroicor physio regression and slice time correction based on the RetroTS output and the physio TSV/json above. |
- | <code bash> | + | |
+ | Convert the afni corrected output back to nii.gz to be used for other pre-processing if not using AFNI for all steps | ||
- | ===== FSL Feat ===== | + | < |
+ | bxh2analyze --niigz -s pb03.sub-00104_run-4_ricor_phys.r01.tshift+orig.HEAD sub-00104_run-4_physiocorrected | ||
+ | </ | ||
+ | |||
- | 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. | ||
- | More information can be seen here: | ||
- | [[http:// | ||
- | 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 ). | ||
+ | ====== CIGAL pdigm specific processing ====== | ||
+ | [[biac: | ||
biac/analysis/physiological.txt · Last modified: 2024/06/21 15:44 by 127.0.0.1