mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 19:29:44 +08:00
Updated SC1056 (markdown)
114
SC1056.md
114
SC1056.md
@@ -1,108 +1,22 @@
|
|||||||
#!/bin/bash
|
## Expected a '}'. If you have one, try a ; or \\n in front of it.
|
||||||
set -e
|
|
||||||
|
|
||||||
#Define your working directory
|
NEEDS WORK. Adding the boiler plate to avoid confusion.
|
||||||
export WDIR=/media/dongling/dongling/dpabi_FC/example_MNI
|
|
||||||
|
|
||||||
TR=2
|
### Problematic code:
|
||||||
remove_num=10
|
|
||||||
remain_num=166
|
|
||||||
Fwmh=4
|
|
||||||
|
|
||||||
for n in pat #car
|
```sh
|
||||||
do
|
true
|
||||||
{
|
```
|
||||||
|
|
||||||
for i in 17 #((i=1;i<=35;i++));
|
### Correct code:
|
||||||
do
|
|
||||||
{
|
|
||||||
num=$(echo $i|awk '{printf("%03d\n",$0)}')
|
|
||||||
|
|
||||||
funcDIR=${WDIR}/FunRaw/${n}_${num} #directory of func dicom files
|
```sh
|
||||||
strucDIR=${WDIR}/T1w/${n}_${num} #directory of T1w nii
|
true
|
||||||
|
```
|
||||||
|
### Rationale:
|
||||||
|
|
||||||
mkdir ${WDIR}/ROI/${n}_${num}
|
?
|
||||||
mkdir ${WDIR}/ROI/${n}_${num}/sub_roi
|
|
||||||
mkdir ${WDIR}/ROI/${n}_${num}/mni_roi
|
|
||||||
mkdir ${WDIR}/FunImg/${n}_${num}
|
|
||||||
|
|
||||||
niiDIR=${WDIR}/FunImg/${n}_${num} #save the func nii files
|
### Exceptions:
|
||||||
roiDIR=${WDIR}/ROI/${n}_${num} #save ROIs
|
|
||||||
|
|
||||||
#dcm2nii
|
?
|
||||||
dcm2nii -t y -d n -x y -o ${niiDIR} ${funcDIR}
|
|
||||||
|
|
||||||
#Alcohol part
|
|
||||||
cd ${niiDIR}
|
|
||||||
rename e*.nii.gz Afunc.nii.gz *
|
|
||||||
fslroi Afunc Afunc_t ${remove_num} ${remain_num}
|
|
||||||
echo 'The first 10 timepoints has been removed.'
|
|
||||||
|
|
||||||
#Slicetiming
|
|
||||||
slicetimer -i Afunc_t -o Afunc_ta -r 2 --odd
|
|
||||||
echo 'Slice Timing: Get consistent acquisition time.'
|
|
||||||
|
|
||||||
#Realignment
|
|
||||||
mcflirt -in Afunc_ta -refvol 0 -mats -plots -stats
|
|
||||||
echo 'Motion corrections: all timeseries were realigned to vol0'
|
|
||||||
|
|
||||||
#Coregister
|
|
||||||
cd ${strucDIR}
|
|
||||||
bet 2*.nii brain -f 0.3 -n -m -R -B
|
|
||||||
echo 'Skull stripped'
|
|
||||||
|
|
||||||
flirt -ref brain -in ${niiDIR}/Afunc_ta_mcf -omat func2T1w.mat
|
|
||||||
echo 'Func data has been coregistered to T1w img.'
|
|
||||||
|
|
||||||
#Normalize
|
|
||||||
flirt -ref ${FSLDIR}/data/standard/MNI152_T1_2mm_brain.nii.gz -in brain -omat T1w2MNI.mat
|
|
||||||
fnirt --in=brain --aff=T1w2MNI.mat --cout=T1w2MNI_warp --config=${WDIR}/T1_MNI152_2mm.cnf
|
|
||||||
echo 'T1w2MNI warp field has been acquired.'
|
|
||||||
|
|
||||||
cd ${niiDIR}
|
|
||||||
applywarp -r ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz -i Afunc_ta_mcf.nii --warp=${strucDIR}/T1w2MNI_warp --premat=${strucDIR}/func2T1w.mat --out=MNI_func
|
|
||||||
echo 'Func data has been normalized to MNI space.'
|
|
||||||
cd ${strucDIR}
|
|
||||||
applywarp -r ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz -i brain.nii.gz --warp=T1w2MNI_warp --out=MNI_brain
|
|
||||||
|
|
||||||
#Smooth
|
|
||||||
sigma = ${Fwmh}/sqrt(8*log(2))
|
|
||||||
fslmaths MNI_func -kernel gauss sigma -fmean mMNI_func
|
|
||||||
|
|
||||||
#Temporal filtering
|
|
||||||
#bandpass frequency:0.01-0.1Hz
|
|
||||||
#hp_sigma=50
|
|
||||||
#lp_sigma=5
|
|
||||||
#fslmaths mMNI_func -bptf 50 5 stf_MNI_func
|
|
||||||
|
|
||||||
#Acquire ROIs in Subject's Space
|
|
||||||
cd ${strucDIR}
|
|
||||||
run_first -i brain.nii.gz -t T1w2MNI.mat -n 60 -o sub_L_Caud -m /share/app/imaging/fsl/data/first/models_336_bin/L_Caud_bin.bmv
|
|
||||||
run_first -i brain.nii.gz -t T1w2MNI.mat -n 60 -o sub_R_Caud -m /share/app/imaging/fsl/data/first/models_336_bin/R_Caud_bin.bmv
|
|
||||||
|
|
||||||
run_first -i brain.nii.gz -t T1w2MNI.mat -n 60 -o sub_L_Accu -m /share/app/imaging/fsl/data/first/models_336_bin/L_Accu_bin.bmv
|
|
||||||
run_first -i brain.nii.gz -t T1w2MNI.mat -n 60 -o sub_R_Accu -m /share/app/imaging/fsl/data/first/models_336_bin/R_Accu_bin.bmv
|
|
||||||
|
|
||||||
run_first -i brain.nii.gz -t T1w2MNI.mat -n 60 -o sub_L_Puta -m /share/app/imaging/fsl/data/first/models_336_bin/05mm/L_Puta_05mm.bmv
|
|
||||||
run_first -i brain.nii.gz -t T1w2MNI.mat -n 60 -o sub_R_Puta -m /share/app/imaging/fsl/data/first/models_336_bin/05mm/R_Puta_05mm.bmv
|
|
||||||
mv sub* ${roiDIR}/sub_roi
|
|
||||||
|
|
||||||
echo "ROIs of" ${n}_${num} "in T1w space has been acquired"
|
|
||||||
|
|
||||||
#Sub to MNI
|
|
||||||
cd ${roiDIR}/sub_roi
|
|
||||||
applywarp -r ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz -i sub_L_Caud.nii.gz --warp=${strucDIR}/T1w2MNI_warp --out=MNI_L_Caud
|
|
||||||
applywarp -r ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz -i sub_R_Caud.nii.gz --warp=${strucDIR}/T1w2MNI_warp --out=MNI_R_Caud
|
|
||||||
applywarp -r ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz -i sub_L_Accu.nii.gz --warp=${strucDIR}/T1w2MNI_warp --out=MNI_L_Accu
|
|
||||||
applywarp -r ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz -i sub_R_Accu.nii.gz --warp=${strucDIR}/T1w2MNI_warp --out=MNI_R_Accu
|
|
||||||
applywarp -r ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz -i sub_L_Puta.nii.gz --warp=${strucDIR}/T1w2MNI_warp --out=MNI_L_Puta
|
|
||||||
applywarp -r ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz -i sub_R_Puta.nii.gz --warp=${strucDIR}/T1w2MNI_warp --out=MNI_R_Puta
|
|
||||||
|
|
||||||
mv MNI* ${roiDIR}/mni_roi
|
|
||||||
echo "ROIs of" ${n}_${num} "in MNI space has been acquired"
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
done
|
|
Reference in New Issue
Block a user