/ 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