aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/chandra_acis.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/chandra_acis.py')
-rwxr-xr-xscripts/chandra_acis.py89
1 files changed, 0 insertions, 89 deletions
diff --git a/scripts/chandra_acis.py b/scripts/chandra_acis.py
deleted file mode 100755
index 6170b40..0000000
--- a/scripts/chandra_acis.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (c) 2017 Weitian LI <liweitianux@live.com>
-# MIT license
-#
-# Weitian LI
-# 2017-02-06
-
-"""
-Determine the Chandra ACIS type for the given observation.
-
-TODO: move these methods to module `acis.py`
-"""
-
-import argparse
-import subprocess
-import re
-
-from setup_pfiles import setup_pfiles
-
-
-def get_acis_type(filepath):
- """
- Determine the Chandra ACIS type (``I`` or ``S``) according the
- active ACIS chips.
-
- Parameters
- ----------
- filepath : str
- Path to the input FITS file
-
- Returns
- -------
- acis_type : str
- ``I`` if ACIS-I, ``S`` if ACIS-S, otherwise, ``ValueError`` raised.
- """
- subprocess.check_call(["punlearn", "dmkeypar"])
- detnam = subprocess.check_output([
- "dmkeypar", "infile=%s" % filepath, "keyword=DETNAM", "echo=yes"
- ]).decode("utf-8").strip()
- if re.match(r"^ACIS-0123", detnam):
- return "I"
- elif re.match(r"^ACIS-[0-6]*7", detnam):
- return "S"
- else:
- raise ValueError("unknown chip combination: %s" % detnam)
-
-
-def get_chips(filepath, sep=":"):
- """
- Get the corresponding chips of interest according to the active ACIS type.
-
- Parameters
- ----------
- filepath : str
- Path to the input FITS file
- sep : str, optional
- Separator to join the chip ranges, e.g., 0:3, 0-3
-
- Returns
- -------
- chips : str
- ``0:3`` if ACIS-I, ``7`` if ACIS-S, otherwise, ``ValueError`` raised.
- """
- acis_type = get_acis_type(filepath)
- if acis_type == "I":
- return sep.join(["0", "3"])
- elif acis_type == "S":
- return "7"
- else:
- raise ValueError("unknown ACIS type")
-
-
-def main():
- parser = argparse.ArgumentParser(description="Determine Chandra ACIS type")
- parser.add_argument("-b", "--brief", dest="brief",
- action="store_true", help="Be brief")
- parser.add_argument("infile", help="Input FITS file")
- args = parser.parse_args()
-
- setup_pfiles(["dmkeypar"])
- acis_type = get_acis_type(args.infile)
- if not args.brief:
- print("ACIS-type:", end=" ")
- print(acis_type)
-
-
-if __name__ == "__main__":
- main()