===== FIRST Segmentation =====
Assuming you've already converted your data into nifti, and flipped to LAS, the following code will run all of the available segmentations with FIRST.
* its also possible to run individual regions
== run FIRST ==
run_first_all INPUT_T1 BOUNDARY_CORRECTION_THRESH OUT_PREFIX
ex: /code/run_first_all T1_flip 3 12345
##the run_first_all script in the /code/ directory has been changed to use a brainmask
The boundary correction threshold is a zscore of how strict your want FIRST to be concerning the borders of your ROIs.
* all ROIs are run individually, so this threshold will not remove overlapping ROIs.
* FIRST will run all subcortical regions individually, then merge them into a single 4D file.
* The 1st image in the file contains all segmentations with corresponding [[http://www.fmrib.ox.ac.uk/fsl/first/cma_subcortical_label.html|label values]].
* The overlap has been labeled by adding the values from the individual regions together (ex: region A = 10, region B = 11 ... overlap = 21)
----
{{:mirecc:mireccanat:mirecc_first_seg.jpg|:mirecc:mireccanat:mirecc_first_seg.jpg}}
----
== re-create FIRST boundary corrected ROIs ==
the boundary corrected ROIs need to be regenerated from the remaining first VTK meshes.
#!/bin/bash
SUBJ=$1
FIRSTDIR=/path/to/first/segmentations/$SUBJ/firstSeg
OUTDIR=~/path/to/put/regenerated/segmentations/$SUBJ
######for first volumes
for region in R_Amyg L_Amyg R_Accu L_Accu R_Hipp L_Hipp R_Caud L_Caud; do
##recreate the individual first volumes from remaining VTK
first_utils --meshToVol -i $FIRSTDIR/T1_flip -m $FIRSTDIR/${SUBJ:9}-${region}_first.vtk -o ${OUTDIR}/tmp_${region}
##boundary correct the volumes using the same correction originally used while running FIRST
first_utils --singleBoundaryCorr -i ${OUTDIR}/tmp_${region} -r $FIRSTDIR/T1_flip -p 4 -o ${OUTDIR}/tmp_${region}_corr4
done
##create ROIs, by adding the L and R together (optional)
##here the R will always equal 2 because the mask has been multiplied by 2 before adding the the L side
fslmaths ${OUTDIR}/tmp_R_Amyg_corr4 -mul 2 -add ${OUTDIR}/tmp_L_Amyg_corr4 $OUTDIR/amyg_first
fslmaths ${OUTDIR}/tmp_R_Accu_corr4 -mul 2 -add ${OUTDIR}/tmp_L_Accu_corr4 $OUTDIR/accu_first
fslmaths ${OUTDIR}/tmp_R_Caud_corr4 -mul 2 -add ${OUTDIR}/tmp_L_Caud_corr4 $OUTDIR/caud_first
fslmaths ${OUTDIR}/tmp_R_Hipp_corr4 -mul 2 -add ${OUTDIR}/tmp_L_Hipp_corr4 $OUTDIR/hipp_first
##remove the temporary files written above
rm ${OUTDIR}/tmp_*
== measure volumes ==
* since we know that the L always = 1, and the R always = 2 (from the above code), volumes can be measure with the fslstats command.
* this can be done via the command line, or in script form
##creates and empty txt file
touch $OUTDIR/first_vols.txt
for input in amyg_first hipp_first accu_first caud_first; do
echo "$OUTDIR/$input L" >> $OUTDIR/first_vols.txt
fslstats $OUTDIR/$input -u 1.1 -V >> $OUTDIR/first_vols.txt
echo "$OUTDIR/$input R" >> $OUTDIR/first_vols.txt
fslstats $OUTDIR/$input -l 1.1 -V >> $OUTDIR/first_vols.txt
done