/ seed_corr
seed_corr
1 #!/usr/bin/env bash 2 set -eou pipefail 3 trap 'e=$?; [ $e -ne 0 ] && echo "$0 exited in error"' EXIT 4 SCRIPTDIR="$(cd $(dirname $0); pwd)" 5 [ -v DRYRUN ] && DRYRUN=echo || DRYRUN= 6 7 usage(){ 8 exitstat=0 9 [ $# -gt 0 ] && echo "ERROR: $@" && exitstat=1 10 cat <<H 11 seed_corr.bash -mask XXX -o prefix -inputs a.nii.gz b.nii.gz 12 13 save \$prefix{.1d,_missing.txt,_corrmap_r.nii.gz,_corrmat_z.nii.gz} 14 H 15 16 exit $exitstat 17 } 18 19 while [ $# -ne 0 ]; do 20 case $1 in 21 -mask|-m) mask="$2"; shift 2;; 22 -input|-i) input="$2"; shift 2;; 23 -prefix|-o) prefix="$2"; shift 2;; 24 *) usage "dont know what to do with '$1'"; 25 esac 26 done 27 28 oneD=${prefix}.1d 29 missingTS=${prefix}_missing_ts.txt 30 corrmap=${prefix}_corrmap_r.nii.gz 31 corrmapz=${prefix}_corrmap_z.nii.gz 32 # dont need to rerun if we have final output 33 [ -r $corrmapz ] && echo "# have '$corrmapz'; skipping (rm to redo)" && exit 34 [ ! -r "$mask" ] && ! 3dinfo "$mask" 2>&1 >/dev/null && echo "# mask '$mask' does not exit" && exit 1 35 [ ! -r $input ] && echo "# 4d input '$input' does not exist" && exit 1 36 37 # make folder if it doesn't exist 38 outdir="$(dirname $prefix)" 39 [ -n "$outdir" -a ! -d "$outdir" ] && $DRYRUN mkdir -p "$outdir" 40 [ -n "$DRYRUN" ] && echo "# would make '$corrmapz'" && exit 41 42 ## actually do things! 43 # extract voxel mean timeseries of roi 44 3dmaskave -q -mask $mask $input > $oneD 45 # correlation (3d) - every voxel to extracted timeseries 46 ! 3dTcorr1D -prefix $corrmap $input $oneD && echo "$mask $inputs" > $missingTS 47 # z transform of r 48 3dcalc -a $corrmap -expr 'log((1+a)/(1-a))/2' -prefix $corrmapz