aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/ciao_genregs.sh307
1 files changed, 0 insertions, 307 deletions
diff --git a/scripts/ciao_genregs.sh b/scripts/ciao_genregs.sh
deleted file mode 100755
index 7ab3f41..0000000
--- a/scripts/ciao_genregs.sh
+++ /dev/null
@@ -1,307 +0,0 @@
-#!/bin/sh
-##
-## Generate regions for 'radial spectra analysis' (rspec.reg),
-## and regions for 'surface brightness profile' extraction.
-##
-## Author: Weitian LI
-## Created: 2013/10/12
-##
-VERSION="v2.1"
-UPDATED="2017-02-06"
-##
-## Changelogs:
-## v2.1, 2017-02-06, Weitian LI
-## * Specify regions format and system for ds9
-## v2.0, 2015/06/03, Aaron LI
-## * Updated script description
-## * Replaced 'grep' with '\grep', 'ls' with '\ls'
-## * ds9 colormap changed from 'sls' to 'he'
-## * Copy needed pfiles to current working directory, and
-## set environment variable $PFILES to use these first.
-## v1.0, 2013/10/12, Weitian LI
-## split from 'ciao_expcorr_sbp_v3.sh'
-##
-
-unalias -a
-export LC_COLLATE=C
-
-SCRIPT_PATH=`readlink -f $0`
-SCRIPT_DIR=`dirname ${SCRIPT_PATH}`
-XCENTROID_SCRIPT="chandra_xcentroid.sh"
-GEN_SPCREG_SCRIPT="chandra_genspcreg.sh"
-GEN_SBPREG_SCRIPT="chandra_gensbpreg.sh"
-
-## err code {{{
-ERR_USG=1
-ERR_DIR=11
-ERR_EVT=12
-ERR_BKG=13
-ERR_REG=14
-ERR_ASOL=21
-ERR_BPIX=22
-ERR_PBK=23
-ERR_MSK=24
-ERR_BKGTY=31
-ERR_SPEC=32
-ERR_DET=41
-ERR_ENG=42
-ERR_CIAO=100
-## error code }}}
-
-## usage {{{
-case "$1" in
- -[hH]*|--[hH]*)
- printf "usage:\n"
- printf " `basename $0` evt=<evt2_clean> reg_in=<reg_in> bkgd=<bkgd_spec> ds9=<Yes|no>\n"
- printf "\nversion:\n"
- printf " ${VERSION}, ${UPDATED}\n"
- exit ${ERR_USG}
- ;;
-esac
-## usage }}}
-
-## link needed files {{{
-BKGD_FILE=`\ls ../bkg/bkgcorr_bl*.pi 2> /dev/null | head -n 1`
-if [ -r "${BKGD_FILE}" ]; then
- ln -svf ${BKGD_FILE} .
-fi
-ASOL_FILE=`\ls ../pcad*_asol?.fits 2> /dev/null`
-if [ -r "${ASOL_FILE}" ]; then
- ln -svf ${ASOL_FILE} .
-fi
-CELL_REG_FILE=`\ls ../evt/celld*.reg 2> /dev/null | \grep -v 'orig'`
-if [ -r "${CELL_REG_FILE}" ]; then
- ln -svf ${CELL_REG_FILE} .
-fi
-# }}}
-
-## default parameters {{{
-## clean evt2 file
-DFT_EVT=`\ls evt2*_clean.fits 2> /dev/null`
-## the repro dir
-DFT_BASEDIR=".."
-# default `asol file'
-ASOL="`\ls pcadf*_asol1.fits 2> /dev/null | head -n 1`"
-
-## energy range
-# format: `E_START:E_END:E_WIDTH'
-DFT_ENERGY=700:7000:100
-E_START=`echo ${DFT_ENERGY} | awk -F':' '{ print $1 }'`
-E_END=`echo ${DFT_ENERGY} | awk -F':' '{ print $2 }'`
-
-## log file
-DFT_LOGFILE="genreg_`date '+%Y%m%d'`.log"
-
-## background spectra
-DFT_BKGD=`\ls bkgcorr_bl*.pi | head -n 1`
-## default parameters }}}
-
-## functions {{{
-getopt_keyval() {
- until [ -z "$1" ]
- do
- key=${1%%=*} # extract key
- val=${1#*=} # extract value
- keyval="${key}=\"${val}\""
- echo "## getopt: eval '${keyval}'"
- eval ${keyval}
- shift # shift, process next one
- done
-}
-## functions }}}
-
-## check ciao init and set path to solve conflit with heasoft {{{
-if [ -z "${ASCDS_INSTALL}" ]; then
- printf "ERROR: CIAO NOT initialized\n"
- exit ${ERR_CIAO}
-fi
-
-## XXX: heasoft's `pget' etc. tools conflict with some CIAO tools
-printf "set \$PATH to avoid conflicts between HEAsoft and CIAO\n"
-export PATH="${ASCDS_BIN}:${ASCDS_CONTRIB}:${PATH}"
-printf "## PATH: ${PATH}\n"
-## check ciao&heasoft}}}
-
-## parameters {{{
-getopt_keyval "$@"
-
-##log file
-LOGFILE="not_exist"
-
-##check evt file
-
-if [ -r "${evt}" ]; then
- EVT=${evt}
-elif [ -r "${DFT_EVT}" ]; then
- EVT=${DFT_EVT}
-else
- read -p "clean evt2 file: " EVT
- if [ ! -r "${EVT}" ]; then
- printf "ERROR: cannot access given \`${EVT}' evt file\n"
- exit ${ERR_EVT}
- fi
-fi
-
-##check ori sbp region
-if [ -r "${reg_in}" ]; then
- REG_IN="${reg_in}"
-else
- read -p "input region file: " REG_IN
- if [ ! -r "${REG_IN}" ]; then
- printf "ERROR: cannot access given \`${REG_IN}' evt file\n"
- exit ${ERR_REG}
- fi
-fi
-
-# check give basedir
-if [ -d "${basedir}" ]; then
- BASEDIR=${basedir}
-elif [ -d "${DFT_BASEDIR}" ]; then
- BASEDIR=${DFT_BASEDIR}
-else
- read -p "> basedir (contains asol files): " BASEDIR
- if [ ! -d "${BASEDIR}" ]; then
- printf "ERROR: given \`${BASEDIR}' NOT a directory\n"
- exit ${ERR_DIR}
- fi
-fi
-# remove the trailing '/'
-BASEDIR=`echo ${BASEDIR} | sed 's/\/*$//'`
-
-#background spectrum
-if [ -r "${bkgd}" ] ;then
- BKGD=${bkgd}
-elif [ -r "${DFT_BKGD}" ] ; then
- BKGD="${DFT_BKGD}"
- #ln -svf ${DFT_BKGD} .
-else
- read -p ">background spectrum file: " BKGD
- if [ ! -d ${BKGD} ] ; then
- printf "ERROR on background spectrum file"
- exit ${ERR_BKG}
- fi
-fi
-
-## ds9: flag to determine whether to use ds9 check centroid and regions
-if [ ! -z "${ds9}" ]; then
- case "${ds9}" in
- [nN][oO]|[fF]*)
- F_DS9="NO"
- ;;
- *)
- F_DS9="YES"
- ;;
- esac
-else
- F_DS9="YES"
-fi
-## parameters }}}
-
-## prepare parameter files (pfiles) {{{
-CIAO_TOOLS="dmkeypar dmcopy dmcoords"
-
-# 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 }}}
-
-## determine ACIS type {{{
-# consistent with `ciao_procevt'
-punlearn dmkeypar
-DETNAM=`dmkeypar ${EVT} DETNAM echo=yes`
-if echo ${DETNAM} | \grep -q 'ACIS-0123'; then
- printf "## \`DETNAM' (${DETNAM}) has chips 0123\n"
- printf "## ACIS-I\n"
- ACIS_TYPE="ACIS-I"
- CCD="0:3"
- NEW_DETNAM="ACIS-0123"
- ROOTNAME="c0-3_e${E_START}-${E_END}"
-elif echo ${DETNAM} | \grep -q 'ACIS-[0-6]*7'; then
- printf "## \`DETNAM' (${DETNAM}) has chip 7\n"
- printf "## ACIS-S\n"
- ACIS_TYPE="ACIS-S"
- CCD="7"
- NEW_DETNAM="ACIS-7"
- ROOTNAME="c7_e${E_START}-${E_END}"
-else
- printf "ERROR: unknown detector type: ${DETNAM}\n"
- exit ${ERR_DET}
-fi
-## ACIS type }}}
-
-## filter by energy band
-printf "filter out events in energy band: \`${E_START}:${E_END}' ...\n"
-EVT_E="evt2_${ROOTNAME}.fits"
-if [ ! -r "${EVT_E}" ]; then
- punlearn dmcopy
- dmcopy infile="${EVT}[energy=${E_START}:${E_END}]" outfile="${EVT_E}" clobber=yes
-fi
-
-printf "======== X-RAY CENTROID =======\n"
-CMD="${SCRIPT_DIR}/${XCENTROID_SCRIPT} evt=${EVT} reg=${REG_IN} conv=yes 2>&1 | tee xcentroid.dat"
-printf "CMD: $CMD\n"
-${SCRIPT_DIR}/${XCENTROID_SCRIPT} evt=${EVT} reg=${REG_IN} conv=yes 2>&1 | tee xcentroid.dat
-X=`\grep '(X,Y)' xcentroid.dat | tr -d ' XY():' | awk -F',' '{ print $2 }'`
-Y=`\grep '(X,Y)' xcentroid.dat | tr -d ' XY():' | awk -F',' '{ print $3 }'`
-CNTRD_WCS_REG="centroid_wcs.reg"
-CNTRD_PHY_REG="centroid_phy.reg"
-printf "## X centroid: ($X,$Y)\n"
-if [ "${F_DS9}" = "YES" ]; then
- printf "check the X centroid ...\n"
- ds9 ${EVT_E} -regions format ciao \
- -regions system physical \
- -regions ${CNTRD_PHY_REG} \
- -cmap he -bin factor 4
-fi
-X0=$X
-Y0=$Y
-X=`\grep -i 'point' ${CNTRD_PHY_REG} | head -n 1 | tr -d 'a-zA-Z() ' | awk -F',' '{ print $1 }'`
-Y=`\grep -i 'point' ${CNTRD_PHY_REG} | head -n 1 | tr -d 'a-zA-Z() ' | awk -F',' '{ print $2 }'`
-if [ "x${X}" != "x${X0}" ] || [ "x${Y}" != "x${Y0}" ]; then
- printf "## X CENTROID CHANGED -> ($X,$Y)\n"
- # update ${CNTRD_WCS_REG}
- printf "update ${CNTRD_WCS_REG} ...\n"
- rm -f ${CNTRD_WCS_REG}
- punlearn dmcoords
- dmcoords infile="${EVT}" asolfile="${ASOL}" option=sky x=${X} y=${Y}
- RA=`pget dmcoords ra`
- DEC=`pget dmcoords dec`
- echo "point(${RA},${DEC})" > ${CNTRD_WCS_REG}
-fi
-printf "======== X-RAY CENTROID FINISHED =======\n\n"
-
-SPC_REG=rspec.reg
-SBP_REG=sbprofile.reg
-
-printf "======== GENERATE SBPROFILE REGIONS =======\n"
-CMD="${SCRIPT_DIR}/${GEN_SBPREG_SCRIPT} ${EVT} ${EVT_E} ${X} ${Y} ${BKGD} ${SBP_REG}"
-printf "CMD: ${CMD}\n"
-${SCRIPT_DIR}/${GEN_SBPREG_SCRIPT} ${EVT} ${EVT_E} ${X} ${Y} ${BKGD} ${SBP_REG}
-if [ "${F_DS9}" = "YES" ]; then
- printf "check SBP regions ...\n"
- ds9 ${EVT_E} -regions format ciao \
- -regions system physical \
- -regions ${SBP_REG} \
- -cmap he -bin factor 4
-fi
-printf "======== GENERATE SBPROFILE REGIONS FINISHED =======\n\n"
-
-printf "======== GENERATE SPECTRUM REGIONS =======\n"
-CMD="${SCRIPT_DIR}/${GEN_SPCREG_SCRIPT} ${EVT} ${EVT_E} ${BKGD} ${X} ${Y} ${SPC_REG}"
-printf "CMD: ${CMD}\n"
-${SCRIPT_DIR}/${GEN_SPCREG_SCRIPT} ${EVT} ${EVT_E} ${BKGD} ${X} ${Y} ${SPC_REG}
-if [ "${F_DS9}" = "YES" ]; then
- printf "check SPC regions ...\n"
- ds9 ${EVT_E} -regions format ciao \
- -regions system physical \
- -regions ${SPC_REG} \
- -cmap he -bin factor 4
-fi
-printf "======== GENERATE SPECTRUM REGIONS FINISHED =======\n\n"
-
-exit 0