diff options
| author | Aaron LI <aaronly.me@outlook.com> | 2017-02-16 20:04:40 +0800 | 
|---|---|---|
| committer | Aaron LI <aaronly.me@outlook.com> | 2017-02-17 01:16:46 +0800 | 
| commit | b72650fa52ecc48381335c4f7adf820cba2b779a (patch) | |
| tree | 7a9a51520a3ab77b6805304c722dfe08afa72434 /scripts | |
| parent | ad90767adfda621046c0af580b75780a7426087c (diff) | |
| download | chandra-acis-analysis-b72650fa52ecc48381335c4f7adf820cba2b779a.tar.bz2 | |
Finish test 'clean_evt2.py' and fix several issues!
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/acis.py | 1 | ||||
| -rwxr-xr-x | scripts/clean_evt2.py | 28 | ||||
| -rw-r--r-- | scripts/ds9.py | 13 | 
3 files changed, 25 insertions, 17 deletions
diff --git a/scripts/acis.py b/scripts/acis.py index fb918c8..91d9fcf 100644 --- a/scripts/acis.py +++ b/scripts/acis.py @@ -63,6 +63,7 @@ class ACIS:          else:              raise ValueError("unknown chip combination: %s" % detnam) +    @classmethod      def get_chips_str(self, filepath, sep=":"):          """          Return a string of the chips of interest according to the diff --git a/scripts/clean_evt2.py b/scripts/clean_evt2.py index c88daac..54647cf 100755 --- a/scripts/clean_evt2.py +++ b/scripts/clean_evt2.py @@ -87,8 +87,7 @@ def remove_sources(infile, outfile, srcfile, clobber=False):      logger.info("Done!\n") -def extract_lightcurve(infile, outfile, elow=300, ehigh=10000, -                       bintime=200, clobber=False): +def extract_lightcurve(infile, outfile, bintime=200, clobber=False):      """      Extract the light curve from regions away from the object.      """ @@ -101,13 +100,12 @@ def extract_lightcurve(infile, outfile, elow=300, ehigh=10000,      logger.warning("Select a large region containing most of the object, " +                     "but also leaving enough area outside as background; " +                     "and save as file: %s" % regfile) +    ds9_view(infile)      fsky = "exclude sky=region(%s)" % regfile -    fenergy = "energy=%s:%s" % (elow, ehigh)      fbintime = "bin time=::%s" % bintime      subprocess.check_call(["punlearn", "dmextract"])      subprocess.check_call([ -        "dmextract", -        "infile=%s[%s][%s][%s]" % (infile, fsky, fenergy, fbintime), +        "dmextract", "infile=%s[%s][%s]" % (infile, fsky, fbintime),          "outfile=%s" % outfile, "opt=ltc1", "clobber=%s" % clobber      ])      logger.info("Done!\n") @@ -121,15 +119,16 @@ def make_gti(infile, outfile, scale=1.2, clobber=False):      logger.info("Outfile: %s" % outfile)      chipsfile = os.path.splitext(outfile)[0] + ".chips" -    if clobber and (os.path.exists(outfile) or os.path.exists(chipsfile)): +    if (not clobber) and (os.path.exists(outfile) or +                          os.path.exists(chipsfile)):          raise OSError("'%s' or '%s' already exists" % (outfile, chipsfile))      outimg = os.path.splitext(outfile)[0] + "_lc.jpg"      lines = [          "from lightcurves import lc_clean", -        "lc_clean(%s)" % infile, -        "lc_clean(%s, scale=%s, outfile=%s)" % (infile, scale, outfile), -        "print_window(%s, ['format', 'jpg', 'clobber', 'True'])" % outimg +        "lc_clean('%s')" % infile, +        "lc_clean('%s', scale=%s, outfile='%s')" % (infile, scale, outfile), +        "print_window('%s', ['format', 'jpg', 'clobber', 'True'])" % outimg      ]      open(chipsfile, "w").write("\n".join(lines) + "\n")      subprocess.check_call(["chips", "-x", chipsfile]) @@ -171,7 +170,10 @@ def main():      setup_pfiles(["dmkeypar", "dmcopy", "celldetect", "dmextract"])      manifest = get_manifest() -    infile = args.infile if args.infile else manifest.getpath("evt2") +    if args.infile: +        infile = args.infile +    else: +        infile = manifest.getpath("evt2", relative=True)      chips = ACIS.get_chips_str(infile, sep="-")      logger.info("infile: %s" % infile)      logger.info("chips: %s" % chips) @@ -179,7 +181,7 @@ def main():      evt2_chips = "evt2_c{chips}_orig.fits".format(chips=chips)      evt2_rmsrc = "evt2_c{chips}_rmsrc.fits".format(chips=chips)      evt2_clean = "evt2_c{chips}_clean.fits".format(chips=chips) -    srcfile = "sources_celldetect.reg" +    srcfile = "sources_celld.reg"      lcfile = "ex_bkg.lc"      gtifile = os.path.splitext(lcfile)[0] + ".gti" @@ -191,7 +193,9 @@ def main():      filter_gti(evt2_rmsrc, evt2_clean, gtifile, clobber=args.clobber)      # Add cleaned evt2 to manifest -    manifest.setpath("evt2_clean", evt2_clean) +    key = "evt2_clean" +    manifest.setpath(key, evt2_clean) +    logger.info("Added '%s' to manifest: %s" % (key, manifest.get(key)))      # Remove useless intermediate files      os.remove(evt2_chips) diff --git a/scripts/ds9.py b/scripts/ds9.py index af25a42..e8c8e88 100644 --- a/scripts/ds9.py +++ b/scripts/ds9.py @@ -15,13 +15,16 @@ def ds9_view(filename, regfile=None, regformat="ciao", regsystem="physical",      """      cmd = [          "ds9", filename, -        "-regions", "format", regformat, -        "-regions", "system", regsystem, -        "-regions", regfile,          "-cmap", cmap, -        "-bin", "factor", binfactor, +        "-bin", "factor", str(binfactor),          "-scale", scale,      ] +    if regfile: +        cmd += [ +            "-regions", "format", regformat, +            "-regions", "system", regsystem, +            "-regions", regfile, +        ]      if smooth: -        cmd += ["-smooth", "yes", "-smooth", "radius", smooth] +        cmd += ["-smooth", "yes", "-smooth", "radius", str(smooth)]      subprocess.check_call(cmd)  | 
