-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOSS_TA_Package2.py
49 lines (38 loc) · 1.58 KB
/
OSS_TA_Package2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Jan 29 10:28:20 2018
@author: hagan
"""
from astropy.io import fits
import os
def str2bool(v):
return v.lower() in ("true")
def Write_TA_FITS(cv3Dir, preFileDir, outDir, frametime, subray):
f1= fits.open(preFileDir)
pipelineFile= fits.open(cv3Dir)
hdu = f1[0]
fitsdat=hdu.data
primaryHeaderPipeline=pipelineFile[0].header
primaryHeaderPipeline['FILENAME']=os.path.basename(outDir)
primaryHeaderPipeline['TFRAME']=frametime
primaryHeaderPipeline['NINT']= 1
primaryHeaderPipeline['SUBARRAY']=subray
(primaryHeaderPipeline['NAXIS3'],primaryHeaderPipeline['NAXIS2'],primaryHeaderPipeline['NAXIS1'])=fitsdat.shape
primaryHeaderPipeline['NGROUP']=primaryHeaderPipeline['NAXIS3']
primaryHeaderPipeline['INTTIME']=primaryHeaderPipeline['TFRAME']*primaryHeaderPipeline['NFRAME']*primaryHeaderPipeline['NGROUP']
primaryHeaderPipeline['EXPTIME']=primaryHeaderPipeline['INTTIME']*primaryHeaderPipeline['NINT']
primaryHeaderPipeline['NCOLS']=primaryHeaderPipeline['NAXIS1']
primaryHeaderPipeline['NROWS']=primaryHeaderPipeline['NAXIS2']
SCIext=fits.PrimaryHDU(data=fitsdat,header=primaryHeaderPipeline,uint='uint16')
SCIext.scale('int16',bscale=1,bzero=32768)
SCIext.header.insert(-3,('BSCALE', 1))
SCIext.writeto(outDir)
import sys
if __name__ == '__main__':
cv3Dir = sys.argv[1]
preFileDir = sys.argv[2]
outDir = sys.argv[3]
frametime = float(sys.argv[4])
subray=str2bool(sys.argv[5])
Write_TA_FITS(cv3Dir, preFileDir, outDir, frametime, subray)