/ coverage_mask
coverage_mask
1 #!/usr/bin/env bash 2 set -eou pipefail 3 usage(){ 4 cat <<HEREDOC 5 USAGE: 6 coverage_mask outputmask.nii.gz input1.nii.gz [input2.nii.gz input3.nii.gz ....] 7 8 make mask of coverage. 9 1) idv masks: include any voxel with any non-zero value in the individual inputfiles 10 2) include only voxels in all idv masks. 11 12 This is a wrapper for 3dTstat -absmax ...; 3dMean -mask_inter ... 13 You may want 3dTstat -absmax ..; 3dMean -count ... # for a more descriptive coverage map 14 15 Input is expected to be timeseries. If you already have mask per run, you dont need this! 16 Consider: 17 3dMean -prefix \$outfile -count inputs* 18 HEREDOC 19 exit 1 20 } 21 22 [ $# -lt 2 ] && usage 23 24 outfile="$1"; shift 25 [ -r $outfile ] && echo -e "# already have output file.\n\t rm '$outfile' #to redo" && exit 0 26 tmpd=$(mktemp -d /tmp/mkmask_XXXX) 27 let i=1 28 for f in "$@"; do 29 3dTstat -absmax -prefix $tmpd/mask_$i.nii.gz $f 30 let ++i 31 done 32 3dMean -prefix $outfile -mask_inter $tmpd/mask_*.nii.gz 33 rm -r $tmpd