ds003604/code/dwi_qa/dwi_eddy.sh
2021-04-08 18:48:11 +00:00

43 lines
1.9 KiB (Stored with Git Annex)
Shell

#! bin/bash
# you must module load fsl(most up_to_date version) using fsl_load.sh in $BDL
root=/dors/gpc/JamesBooth/JBooth-Lab/BDL/ELP/bids_dwi_preproc/
cd $root
#subjects=$(ls | grep "sub-5*")
subjects="sub-5002 sub-5003" #your subject list
ses=ses-5
param=/gpfs51/dors2/gpc/JamesBooth/JBooth-Lab/BDL/ELP/Jin_code/dwi_preprocessing/acqparam.txt
index1=/gpfs51/dors2/gpc/JamesBooth/JBooth-Lab/BDL/ELP/Jin_code/dwi_preprocessing/index1.txt
index2=/gpfs51/dors2/gpc/JamesBooth/JBooth-Lab/BDL/ELP/Jin_code/dwi_preprocessing/index2.txt
index3=/gpfs51/dors2/gpc/JamesBooth/JBooth-Lab/BDL/ELP/Jin_code/dwi_preprocessing/index3.txt
# loop through subjects and folders
for sub in $subjects
do
echo $sub
cd $root/${sub}/${ses}
folder=$(ls | grep "dwi")
cd $root/${sub}/${ses}/$folder
files=$(ls | grep "dwi.nii")
for f in $files
do
shortnm=$(basename $f .nii)
# run fslroi to extract the b0 image
$FSLDIR/bin/fslroi $f ${shortnm}_bet.nii 0 1
# run bet
$FSLDIR/bin/bet ${shortnm}_bet.nii ${shortnm}_bet_brain.nii -m
# count number of volumes based on bvecs
bvals=$(cat ${shortnm}.bval)
volnum=$(( $(grep -o ' ' <<< "$bvals" | wc -l) + 1 ))
echo $volnum
# run eddy
if [[ "$volnum" -eq 69 ]]; then
$FSLDIR/bin/eddy --imain=$f --mask=${shortnm}_bet_brain_mask.nii --acqp=${param} --index=${index1} --bvecs=${shortnm}.bvec --bvals=${shortnm}.bval --out=eddy_corrected_${shortnm} --cnr_maps=true;
elif [[ "$volnum" -eq 70 ]]; then
$FSLDIR/bin/eddy --imain=$f --mask=${shortnm}_bet_brain_mask.nii --acqp=${param} --index=${index2} --bvecs=${shortnm}.bvec --bvals=${shortnm}.bval --out=eddy_corrected_${shortnm} --cnr_maps=true;
else
$FSLDIR/bin/eddy --imain=$f --mask=${shortnm}_bet_brain_mask.nii --acqp=${param} --index=${index3} --bvecs=${shortnm}.bvec --bvals=${shortnm}.bval --out=eddy_corrected_${shortnm} --cnr_maps=true;
fi
done # for files
done #for subjects