#! 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