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 76 lines (65 sloc) 1.99 KB
#!/bin/bash
base_dir=$1
subj=$2
task=$3
if [[ "$subj" != "sub-"* ]]; then
subj=sub-${subj}
fi
result_dir=${base_dir}/${subj}/MNINonLinear/Results
cd $result_dir
runs=`ls -d *task-${task}_run-*`
runs=($runs)
n_contrasts=`ls ${result_dir}/${runs[0]}/level1.feat/stats/cope*.dtseries.nii|wc -l`
out_dir=${result_dir}/level2_${task}
rm -rf $out_dir
mkdir -p ${out_dir}/tmp
cd ${out_dir}/tmp
# make fake nifti
for run in "${runs[@]}"; do
echo $run
for f in ${result_dir}/${run}/level1.feat/stats/*.dtseries.nii; do
name=`basename $f`
wb_command -cifti-convert -to-nifti $f ${run}_${name%.dtseries.nii}.nii.gz
CIFTItemplate=$f
done
done
# mask
for run in "${runs[@]}"; do
f=${result_dir}/${run}/level1.feat/stats/dof
dof=`cat $f`
base=`dirname $f`"/.."
fslmaths ${run}_varcope1 -bin -mul $dof ${run}_dofmask
echo "1" >> ${out_dir}/design.txt
echo "1" >> ${out_dir}/group.txt
done
fslmerge -t ${out_dir}/tmp/dof *_dofmask.nii.gz
fslmaths ${out_dir}/tmp/dof -Tmin -bin ${out_dir}/mask
#merge
i=1
while [ "$i" -le "$n_contrasts" ]; do
fslmerge -t ${out_dir}/tmp/copes${i} *_cope${i}.nii.gz
fslmerge -t ${out_dir}/tmp/varcopes${i} *_varcope${i}.nii.gz
i=$(($i+1))
done
#FLAME
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
i=1
while [ "$i" -le "$n_contrasts" ]; do
flameo --cope=${out_dir}/tmp/copes${i} \
--vc=${out_dir}/tmp/varcopes${i} \
--dvc=${out_dir}/tmp/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
for f in ${out_dir}/*.nii.gz ${out_dir}/cope*.feat/*.nii.gz; do
wb_command -cifti-convert -from-nifti $f $CIFTItemplate ${f%.nii.gz}.dtseries.nii -reset-timepoints 1 1
done
rm -rf ${out_dir}/tmp