aboutsummaryrefslogtreecommitdiffstats
path: root/astro/chandra
diff options
context:
space:
mode:
Diffstat (limited to 'astro/chandra')
-rwxr-xr-xastro/chandra/blanksky_add_time.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/astro/chandra/blanksky_add_time.py b/astro/chandra/blanksky_add_time.py
index a4d0cb6..8db3c2b 100755
--- a/astro/chandra/blanksky_add_time.py
+++ b/astro/chandra/blanksky_add_time.py
@@ -3,6 +3,17 @@
#
# Aaron LI
# 2015/06/16
+#
+# Changelogs:
+# 0.2.0, 2015/06/16, Aaron LI
+# * append the new time column to the *last*, rather than inserting
+# to the beginning
+# * explicitly update header from the new generated table
+#
+# BUGS:
+# * comments of columns will lost after modified by astropy.io.fits,
+# which is a bug with this package
+#
"""
Add a time column for the chandra blanksky event file.
@@ -10,7 +21,7 @@ The time data are generated with a uniform distribution
between TSTART and TSTOP.
"""
-__version__ = "0.1.0"
+__version__ = "0.2.0"
__date__ = "2015/06/16"
import sys
@@ -43,9 +54,16 @@ def add_time_column(fitsfile, blockname="EVENTS"):
counts = len(table.data)
time_data = np.random.uniform(tstart, tstop, counts)
time_col = fits.Column(name="time", format="1D", unit="s", array=time_data)
+ # NOTE: append the new time column to the *last*!
+ # Otherwise the TLMIN??/TLMAX?? keyword pairs, which record the
+ # minimum/maximum values of corresponding columns, will become
+ # *out of order*. Therefore the output FITS file causes weird problems
+ # with DS9 and DM tools.
newtable = fits.BinTableHDU.from_columns(
- fits.ColDefs([time_col]) + table.columns)
+ table.columns + fits.ColDefs([time_col]))
fitsfile[blockname].data = newtable.data
+ # update header
+ fitsfile[blockname].header.update(newtable.header)
return fitsfile