Actions

Neuroimaging

From ACL@NCU

AFNI know-how

Preprocessing

  1. Data import
    1. use to3d or dimon to convert raw images into AFNI BRIK format
    2. to3d_anat.py, to3d_func.py
    3. Data file organizations
    1. creating group list
      1. getid.py
    2. looking for the sequential order ID one or more subjects
      1. lookup_subj.py
      2. lookup_subj_many.py
  1. Deoblique
  • N.B.: EPI time series data should be time shifted with 3dTshift before rotating the volumes to a cardinal direction
3dWarp -deoblique

Individual level GLM

  • -stim_times_AM1 and -stim_times_AM2

Stim times AM.jpg

Group analysis[1]

  • Average group T1

Copy 3D+tlrc.BRIK & .HEAD into your "average" directory

3dmerge -doall 3d*+tlrc* 

(where "3d*+tlrc* is using enough wild cards to get all the 3D anatomy files you want to average)

The output name is mrg+tlrc.BRIK and mrg+tlrc.HEAD by default, but you can use the -prefix flag to specify an output prefix (other than mrg) that you prefer.


Multiple comparison

  • What smoothness parameters should one use for 3dClustSim for results of group analysis?

1. Nick: "You could use a single subject but it's better to take the average across subjects for a more reliable estimate.

That said, in my experience smoothness estimates don't vary that much across subjects if in the same study and everything else is equal (like scanning and preprocessing parameters). "[2]

2. Regarding blur estimates, expect to get estimates per subject and then average those together. You do not want the errts time series averaged down to zero before running 3dFWHMx, as that might play havoc with the estimates (the data might look VERY blurry, I don't know). But I would not expect averaging the errts datasets to increase the reliability of the blur estimation. Averaging over the errts and then over subjects is already (hopefully) generating a very robust estimate. (Rick Reynolds)[3]

Region-of-Interest (ROI)

  • Creating a half hemisphere mask
#left hemisphere selected
3dcalc -a mask_group+tlrc. -expr 'step(x-0)' -prefix test

#intersection with brain mask, and save in rh_mask+tlrc
3dcalc -a mask_group+tlrc. -b test+tlrc -expr 'step(a*b)' \
       -prefix rh_mask
  • Convert a multi-cluster mask to a union mask (each ROI with the same value)
3dcalc -a Clust_N_Control_p005_mask+tlrc -expr 'notzero(a)' -prefix Clust_N_Control_p005_maskp

Misc.

  • Converting a single t-value to z-value
ccalc -expr 'fitt_t2z(t, n)' 
t: tvalue
n: degrees of freedom
  • Converting t-value sub-brick to z-value sub-brick
3dcalc -a dset+tlrc[<t-map_id>] \
  -expr 'fitt_t2z(3, 10)' -prefix dset2 
  • listing all subbriks in a BRIK file and add numerical index
3dinfo -label <BRIK filename> | sed 's/|/\n/g' | nl
  • Segmentation (not recommended for quantitative use)
3dSeg 	-anat <anatfile> -mask AUTO \
	-classes 'CSF ; GM ; WM' -bias_classes 'GM ; WM' \
      	-bias_fwhm 25 -mixfrac UNI -main_N 5 \
      	-blur_meth BFT -prefix <output file>
  • Extracting grey matter mask from segmented brain
3dcalc -a Classes+tlrc'<GM>' -expr 'step(a)' -prefix TT_icbm452_GMseg
  • resample the mask to a coarse resolution
3dresample -dxyz 3 3 3 -rmode 'Cu' -inset TT_icbm452_GMseg+tlrc -prefix TT_icbm_GMseg3mm 
  • Create partial union mask for a group of anatomical masks
#partial union mask
3dmask_tool -frac 0.3 -input *_GMseg+tlrc.HEAD -prefix punion_0.3.mask
  • Look-up dicom raw data header (ID creation time in this case)
dicom_hdr <filename> | grep 'ID Instance Creation Time'
  • Use 3dTstat to carry out numerical computations on 1D files[4]
3dTstat -mean -stdev -prefix - fred.1D'[3..8]{5..9}'\' > tjed.1D
1dtranspose fred.1D | 1dplot -stdin

BrainVoyager QX know-how

Preprocessing

Individual level GLM

Group analysis

  • Created individual vmps[5]
  • Paired t-test on vmps[6]

Multiple comparison

Region-of-Interest (ROI)

FreeSurfurer tutorials

  • view data
tkmedit sub001 brain.finalsurfs.mgz -aux T1.mgz -surfs -aseg
  • syntax
    • sub001: Subject ID
    • brain.finalsurfs.mgz: skull-stripped volume primarily used for troubleshooting (found in $SUBJECTS_DIR/good_output/mri).
    • aux T1.mgz : pre-skull-stripped volume loaded as 2nd volume (in $SUBJECTS_DIR/good_output/mri)
    • surfs : loads all surfaces (orig, white, and pial, for left and right hemispheres)
    • aseg : loads automatic volume segmentation called aseg.mgz