aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/chandra_gensbpreg.sh150
1 files changed, 0 insertions, 150 deletions
diff --git a/scripts/chandra_gensbpreg.sh b/scripts/chandra_gensbpreg.sh
deleted file mode 100755
index 5fc1a60..0000000
--- a/scripts/chandra_gensbpreg.sh
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/bin/sh
-#
-# This script generate a series of regions for the extraction of
-# radial surface brightness profile (SBP).
-#
-# Regions geneartion algorithm:
-# (1) innermost 10 regions, we require a mininal of 5 pixel as well
-# as 50 counts within the 0.7-7.0 keV range.
-# (2) following regions: R_out = R_in * 1.2, and require SNR > 1.5.
-# SNR = ??? (TODO)
-#
-# Reference:
-# [1] region generate algorithm ??? (TODO)
-#
-# Author: Zhenghao ZHU
-# Created: ??? (TODO)
-#
-# Change logs:
-# 2017-02-26, Weitian LI
-# * Further simplify arguments handling
-# * Remove test support (-t) for simplification
-# * Rename 'stn' to 'SNR'
-# * Add ds9 view
-# v3.0, 2015/06/03, Weitian LI
-# * Copy needed pfiles to current working directory, and
-# set environment variable $PFILES to use these first.
-# * Added missing punlearn
-# * Removed the section of dmlist.par & dmextract.par deletion
-# v2.1, 2015/02/13, Weitian LI
-# * added '1' to denominators when calculate SNR to avoid division by zero
-# * added script description
-# v2.0, 2013/03/06, Weitian LI
-# * added the parameter `-t' to print SNR results for testing
-
-
-# minimal counts
-CNT_MIN=50
-
-# energy: 700-7000eV -- channel 49:479
-ERANGE=700:7000
-CH_LOW=49
-CH_HI=479
-
-# energy 9.5-12keV -- channel 651:822
-CH_BKG_LOW=651
-CH_BKG_HI=822
-
-if [ $# -ne 4 ]; then
- printf "usage:\n"
- printf " `basename $0` <evt> <bkg_pi> <reg_in> <reg_out>\n"
- exit 1
-fi
-
-EVT=$1
-BKGSPC=$2
-REG_IN=$3
-REG_OUT=$4
-
-X=`\grep -i 'point' ${REG_IN} | head -n 1 | tr -d 'a-zA-Z() ' | awk -F',' '{ print $1 }'`
-Y=`\grep -i 'point' ${REG_IN} | head -n 1 | tr -d 'a-zA-Z() ' | awk -F',' '{ print $2 }'`
-
-echo "EVT: ${EVT}"
-echo "ERANGE: ${ERANGE}"
-echo "Center: (${X},${Y})"
-echo "BKGSPC: ${BKGSPC}"
-echo ""
-
-## prepare parameter files (pfiles) {{{
-CIAO_TOOLS="dmstat dmlist dmextract"
-
-# Copy necessary pfiles for localized usage
-for tool in ${CIAO_TOOLS}; do
- pfile=`paccess ${tool}`
- [ -n "${pfile}" ] && punlearn ${tool} && cp -Lvf ${pfile} .
-done
-
-# Modify environment variable 'PFILES' to use local pfiles first
-export PFILES="./:${PFILES}"
-## pfiles }}}
-
-
-[ -f "${REG_OUT}" ] && mv -fv ${REG_OUT} ${REG_OUT}_bak
-RIN=0
-ROUT=0
-CNTS=0
-for i in `seq 1 10`; do
- printf "Generate region #$i @ cnts:${CNT_MIN} ...\n"
- ROUT=`expr $RIN + 5`
- TMP_REG="pie($X,$Y,$RIN,$ROUT,0,360)"
- punlearn dmlist
- CNTS=`dmlist "${EVT}[energy=${ERANGE}][sky=${TMP_REG}]" blocks | \grep 'EVENTS' | awk '{ print $8 }'`
- while [ `echo "$CNTS < $CNT_MIN" | bc -l` -eq 1 ]; do
- ROUT=`expr $ROUT + 1`
- TMP_REG="pie($X,$Y,$RIN,$ROUT,0,360)"
- punlearn dmlist
- CNTS=`dmlist "${EVT}[energy=${ERANGE}][sky=${TMP_REG}]" blocks | \grep 'EVENTS' | awk '{ print $8 }'`
- done
- TMP_REG="pie($X,$Y,$RIN,$ROUT,0,360)"
- echo "${TMP_REG}" >> ${REG_OUT}
- RIN=$ROUT
-done
-
-# last region width
-#REG_W=`tail -n 1 ${REG_OUT} | tr -d '()' | awk -F',' '{ print $4-$3 }'`
-
-RIN=$ROUT
-ROUT=`echo "scale=2; $ROUT * 1.2" | bc -l`
-
-SNR=10
-i=11
-SNR_FILE="sbp_snr.dat"
-[ -e ${SNR_FILE} ] && mv -fv ${SNR_FILE} ${SNR_FILE}_bak
-while [ `echo "${SNR} > 1.5" | bc -l` -eq 1 ]; do
- printf "Generate SBP region #$i \n"
- i=`expr $i + 1`
- TMP_REG="pie($X,$Y,$RIN,$ROUT,0,360)"
-
- # next region
- RIN=$ROUT
- ROUT=`echo "scale=2; $ROUT * 1.2" | bc -l`
- TMP_SPC=_tmpspc.pi
- punlearn dmextract
- dmextract infile="${EVT}[sky=${TMP_REG}][bin pi]" outfile=${TMP_SPC} wmap="[energy=300:12000][bin det=8]" clobber=yes
- punlearn dmstat
- INDEX_SRC=`dmstat "${TMP_SPC}[channel=${CH_BKG_LOW}:${CH_BKG_HI}][cols counts]" | \grep "sum:" | awk '{print $2}'`
- INDEX_BKG=`dmstat "${BKGSPC}[channel=${CH_BKG_LOW}:${CH_BKG_HI}][cols counts]" | \grep "sum:" | awk '{print $2}'`
-
- COUNT_SRC=`dmstat "${TMP_SPC}[channel=${CH_LOW}:${CH_HI}][cols counts]" | \grep "sum:" | awk '{print $2}'`
- COUNT_BKG=`dmstat "${BKGSPC}[channel=${CH_LOW}:${CH_HI}][cols counts]" | \grep "sum:" | awk '{print $2}'`
-
- #echo "CNT_SRC: ${COUNT_SRC}, IDX_SRC: ${INDEX_SRC}, CNT_BKG: ${COUNT_BKG}, IDX_BKG: ${INDEX_BKG}"
-
- # Add '1' to the denominators to avoid division by zero.
- SNR=`echo ${COUNT_SRC} ${INDEX_SRC} ${COUNT_BKG} ${INDEX_BKG} | awk '{ printf("%f", ($1 / ($2 + 1)) / ($3 / ($4 + 1))) }'`
- punlearn dmlist
- CNT=`dmlist "${EVT}[energy=${ERANGE}][sky=${TMP_REG}]" blocks | \grep 'EVENTS' | awk '{ print $8 }'`
- echo "CNT: ${CNT}"
- echo "CNT_MIN: ${CNT_MIN}"
- if [ `echo "${CNT} < ${CNT_MIN}" | bc -l` -eq 1 ]; then
- break
- fi
- echo "SNR: ${SNR}"
- echo "RIN: ${RIN}, ROUT: ${ROUT}"
- echo "SNR: ${SNR}" >> ${SNR_FILE}
- echo "${TMP_REG}" >> ${REG_OUT}
-done
-
-printf "check SBP regions ...\n"
-ds9 ${EVT} -regions format ciao -regions system physical \
- -regions ${REG_OUT} -cmap he -bin factor 4