Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 65 lines (56 sloc) 1.81 KB
#!/bin/bash
# run second level across runs
result_dir=$1
subj=$2
task=$3
session=''
if [ "$#" -lt 3 ]; then
echo "Usage: level2_volume.sh RESULT_DIR SUBJECT TASK [SESSION]"
fi
if [ "$#" -eq 4 ]; then
session="ses-${4}_"
fi
out_dir=${result_dir}/sub-${subj}/sub-${subj}_${session}task-${task}_level2
rm -rf $out_dir
runs=`ls -d ${result_dir}/sub-${subj}/sub-${subj}_${session}task-${task}_run-*_bold`
runs=($runs)
mkdir -p ${out_dir}/tmp
# mask
for i in "${!runs[@]}"; do
f=${runs[$i]}/stats/dof
dof=`cat $f`
base=`dirname $f`"/.."
fslmaths ${runs[$i]}/stats/varcope1 -bin -mul $dof ${out_dir}/tmp/${i}_dofmask
echo "1" >> ${out_dir}/design.txt
echo "1" >> ${out_dir}/group.txt
done
fslmerge -t ${out_dir}/dof ${out_dir}/tmp/*_dofmask.nii.gz
fslmaths ${out_dir}/dof -Tmin -bin ${out_dir}/mask
#merge
n_contrasts=`ls ${runs[0]}/stats/cope*|wc -l`
i=1
while [ "$i" -le "$n_contrasts" ]; do
fslmerge -t ${out_dir}/tmp/copes${i} ${result_dir}/sub-${subj}/sub-${subj}_${session}task-${task}_run-*_bold/stats/cope${i}.nii.gz
fslmerge -t ${out_dir}/tmp/varcopes${i} ${result_dir}/sub-${subj}/sub-${subj}_${session}task-${task}_run-*_bold/stats/varcope${i}.nii.gz
i=$(($i+1))
done
#design
echo "1" > ${out_dir}/contrast.txt
Text2Vest ${out_dir}/design.txt ${out_dir}/design.mat
Text2Vest ${out_dir}/contrast.txt ${out_dir}/design.con
Text2Vest ${out_dir}/group.txt ${out_dir}/design.grp
# run FLAME
i=1
while [ "$i" -le "$n_contrasts" ]; do
flameo --cope=${out_dir}/tmp/copes${i} \
--vc=${out_dir}/tmp/varcopes${i} \
--dvc=${out_dir}/dof \
--mask=${out_dir}/mask \
--ld=${out_dir}/cope${i}.feat \
--dm=${out_dir}/design.mat \
--cs=${out_dir}/design.grp \
--tc=${out_dir}/design.con \
--runmode=fe
i=$(($i+1))
done
# rm -rf ${out_dir}/tmp