diff options
author | Aaron LI <aaronly.me@outlook.com> | 2016-04-26 16:59:05 +0800 |
---|---|---|
committer | Aaron LI <aaronly.me@outlook.com> | 2016-04-26 16:59:05 +0800 |
commit | 682e5dd48ac854fc8a1cc49fd572663284903cf4 (patch) | |
tree | 86b57216756f18b416cf63756e673f8ddc563960 /ds9_image.sh | |
download | cexcess-682e5dd48ac854fc8a1cc49fd572663284903cf4.tar.bz2 |
Use git to manage the tools of excess_sample
Diffstat (limited to 'ds9_image.sh')
-rwxr-xr-x | ds9_image.sh | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/ds9_image.sh b/ds9_image.sh new file mode 100755 index 0000000..ab01631 --- /dev/null +++ b/ds9_image.sh @@ -0,0 +1,102 @@ +#!/bin/sh +# +# Use DS9 to visualize the ACIS image, with useful/handy +# arguments/options passed. +# Also touch the output image filename for easier save. +# +# Aaron LI +# 2016-04-16 +# + +# Default parameters +FILE_PATTERN="img_c*_fill.fits" +REG_FILE="r500.reg" +REG_FORMAT="ds9" +REG_FOV="skyfov.fits" + + +case "$1" in + -[hH]*) + echo "Usage:" + echo " `basename $0` <img_dir1> ..." + exit 1 + ;; +esac + + +analyze_path() { + # extract `obs id' and `source name' from path + echo "$@" | awk ' + # main part + { + if (NF==1) { + ## oi & name + input=($1 "/") + if (input ~ /_oi/) { + ## PATTERN: .../$name_oi$oi/... + idx_oi = match(input, /oi[0-9]+/) + 2; # "2" skip the "oi" + len_oi = RLENGTH - 2; + oi = substr(input, idx_oi, len_oi); + idx_name = match(input, /\/[a-zA-Z0-9.+-]+_oi/) + 1; + len_name = RLENGTH - 4; + name = substr(input, idx_name, len_name); + owner = "lwt"; + } + else { + ## PATTERN: .../$name/$oi/... + idx_oi = match(input, /\/[0-9]+\//) + 1; + len_oi = RLENGTH - 2; + oi = substr(input, idx_oi, len_oi); + idx_name1 = match(input, /\/[a-zA-Z0-9_.+-]+\/[0-9]+\//); + len_name1 = RLENGTH; + name1 = substr(input, idx_name1, len_name1); + idx_name = match(name1, /\/[a-zA-Z0-9_.+-]+\//) + 1; + len_name = RLENGTH - 2; + name = substr(name1, idx_name, len_name); + owner = "zzh"; + } + ## output + printf("input: %s\n", input) + printf("oi: %s\nname: %s\nowner: %s\n", oi, name, owner) + } + else { + printf("*** WARNING: invalid input: %s\n", $0) + } + } + # END { } + ' +} + + +INIT_DIR=`pwd -P` +while [ ! -z "$1" ]; do + imgdir="$1" + shift + cd ${imgdir} + echo "====== ${PWD} ======" + NAME=`analyze_path "${PWD}" | grep '^name:' | awk '{ print $2 }'` + FILE=`\ls ${FILE_PATTERN}` + [ -z "${FILE}" ] && continue + echo "FITS file: ${FILE}" + # + PNG_SUFFIX=`echo "${FILE%.fits}" | sed -e 's/_c7//' -e 's/_c0-3//'` + PNG_FILE="${NAME}_${PNG_SUFFIX}.png" + [ ! -f "${PNG_FILE}" ] && touch ${PNG_FILE} + echo "PNG file: ${PNG_FILE}" + # FoV region + if [ -f "${REG_FOV}" ]; then + DS9_REG_FOV="-regions color green -regions ${REG_FOV}" + fi + # + ds9 ${FILE} \ + -bin factor 1 \ + -smooth radius 4 -smooth yes \ + -scale asinh \ + -cmap sls \ + -geometry 1288x1026-0+0 \ + -regions format ${REG_FORMAT} \ + -regions color white -regions ${REG_FILE} ${DS9_REG_FOV} + # + cd ${INIT_DIR} +done + |