This commit is contained in:
Roman Krivonos
2024-07-07 16:07:39 +03:00
parent 2552bdb552
commit d7ddc5dc43
31 changed files with 13798 additions and 56949 deletions

View File

@@ -30,9 +30,12 @@ enkey = sys.argv[1]
fn="detcnts.{}.fits".format(enkey)
print("Reading {}".format(datadir+fn))
d = fits.getdata(datadir+fn)
df=pd.DataFrame(np.array(d).byteswap().newbyteorder())
#d = fits.getdata(datadir+fn)
#df=pd.DataFrame(np.array(d).byteswap().newbyteorder())
with fits.open(datadir+fn) as data:
df = pd.DataFrame(data[1].data)
print(df.columns)
#interp_a = np.interp(50, [0,100], [0, 1])

View File

@@ -1,30 +1,30 @@
./01_bgdmodel.py E01
./01_bgdmodel.py E02
./01_bgdmodel.py E03
./01_bgdmodel.py E04
./01_bgdmodel.py E05
./01_bgdmodel.py E06
./01_bgdmodel.py E07
./01_bgdmodel.py E08
./01_bgdmodel.py E09
./01_bgdmodel.py E10
./01_bgdmodel.py E11
./01_bgdmodel.py E12
./01_bgdmodel.py E13
./01_bgdmodel.py E14
./01_bgdmodel.py E15
#./01_bgdmodel.py E01
#./01_bgdmodel.py E02
#./01_bgdmodel.py E03
#./01_bgdmodel.py E04
#./01_bgdmodel.py E05
#./01_bgdmodel.py E06
#./01_bgdmodel.py E07
#./01_bgdmodel.py E08
#./01_bgdmodel.py E09
#./01_bgdmodel.py E10
#./01_bgdmodel.py E11
#./01_bgdmodel.py E12
#./01_bgdmodel.py E13
#./01_bgdmodel.py E14
#./01_bgdmodel.py E15
./01_bgdmodel.py A01
./01_bgdmodel.py A02
./01_bgdmodel.py A03
./01_bgdmodel.py A04
./01_bgdmodel.py A05
./01_bgdmodel.py A06
./01_bgdmodel.py A07
./01_bgdmodel.py A08
./01_bgdmodel.py A09
./01_bgdmodel.py A10
./01_bgdmodel.py A11
#./01_bgdmodel.py A01
#./01_bgdmodel.py A02
#./01_bgdmodel.py A03
#./01_bgdmodel.py A04
#./01_bgdmodel.py A05
#./01_bgdmodel.py A06
#./01_bgdmodel.py A07
#./01_bgdmodel.py A08
#./01_bgdmodel.py A09
#./01_bgdmodel.py A10
#./01_bgdmodel.py A11
./01_bgdmodel.py B01
./01_bgdmodel.py B02

View File

@@ -63,10 +63,13 @@ fn="detcnts.{}.fits".format(enkey)
with open(proddir+fn.replace(".fits",".ignored_scw.pkl"), 'rb') as fp:
ignored_scw = pickle.load(fp)
d = fits.getdata(datadir+fn)
df=pd.DataFrame(np.array(d).byteswap().newbyteorder())
#d = fits.getdata(datadir+fn)
#df=pd.DataFrame(np.array(d).byteswap().newbyteorder())
#print(df.columns)
with fits.open(datadir+fn) as data:
df = pd.DataFrame(data[1].data)
crab_crd = SkyCoord(crab_ra, crab_dec, frame=FK5(), unit="deg")
plotme=False
@@ -94,7 +97,7 @@ totx=[]
toty=[]
for i,rec in df.iterrows():
obsid = rec['OBSID'].decode("utf-8")
obsid = rec['OBSID']#.decode("utf-8")
if(obsid in ignore_scws):
print("Remove {}".format(obsid))
df.drop(index=i, inplace=True)

View File

@@ -1,30 +1,30 @@
./01_crabmodel.py E01
./01_crabmodel.py E02
./01_crabmodel.py E03
./01_crabmodel.py E04
./01_crabmodel.py E05
./01_crabmodel.py E06
./01_crabmodel.py E07
./01_crabmodel.py E08
./01_crabmodel.py E09
./01_crabmodel.py E10
./01_crabmodel.py E11
./01_crabmodel.py E12
./01_crabmodel.py E13
./01_crabmodel.py E14
./01_crabmodel.py E15
#./01_crabmodel.py E01
#./01_crabmodel.py E02
#./01_crabmodel.py E03
#./01_crabmodel.py E04
#./01_crabmodel.py E05
#./01_crabmodel.py E06
#./01_crabmodel.py E07
#./01_crabmodel.py E08
#./01_crabmodel.py E09
#./01_crabmodel.py E10
#./01_crabmodel.py E11
#./01_crabmodel.py E12
#./01_crabmodel.py E13
#./01_crabmodel.py E14
#./01_crabmodel.py E15
./01_crabmodel.py A01
./01_crabmodel.py A02
./01_crabmodel.py A03
./01_crabmodel.py A04
./01_crabmodel.py A05
./01_crabmodel.py A06
./01_crabmodel.py A07
./01_crabmodel.py A08
./01_crabmodel.py A09
./01_crabmodel.py A10
./01_crabmodel.py A11
#./01_crabmodel.py A01
#./01_crabmodel.py A02
#./01_crabmodel.py A03
#./01_crabmodel.py A04
#./01_crabmodel.py A05
#./01_crabmodel.py A06
#./01_crabmodel.py A07
#./01_crabmodel.py A08
#./01_crabmodel.py A09
#./01_crabmodel.py A10
#./01_crabmodel.py A11
./01_crabmodel.py B01
./01_crabmodel.py B02

View File

@@ -26,10 +26,10 @@ from numpy import arange
from ridge.utils import *
from ridge.config import *
plotme=False
plotme=True
enkey = sys.argv[1]
outkey = sys.argv[2]
#outkey = "ALL"
#outkey = sys.argv[2]
outkey = "ALL"
fn="detcnts.{}.fits".format(enkey)
@@ -83,8 +83,11 @@ base0=[]
c0=[]
texp0=[]
d = fits.getdata(datadir+fn)
df = pd.DataFrame(np.array(d).byteswap().newbyteorder())
#d = fits.getdata(datadir+fn)
#df = pd.DataFrame(np.array(d).byteswap().newbyteorder())
with fits.open(datadir+fn) as data:
df = pd.DataFrame(data[1].data)
# BKG
if(outkey == 'BKG'):
@@ -100,7 +103,7 @@ if(outkey=='ALL'):
for i, row in df.iterrows():
orbit=row['REV']
obsid=row['OBSID'].decode("UTF-8")
obsid=row['OBSID']#.decode("UTF-8")
if not (orbit > revmin and orbit < revmax):
print("Skip orbit",orbit,row['OBSID'])
@@ -170,7 +173,6 @@ for r in range(rev_min,rev_max):
ind = np.nonzero(orbits == r)
if not (len(resid_arr[ind])>10):
continue
#print(r,np.mean(resid_arr[ind]), len(resid_arr[ind]))
distr_val.append(np.mean(resid_arr[ind]))
distr_rev.append(r)
@@ -183,13 +185,14 @@ filtered_data = sigma_clip(dval, sigma=sigma, maxiters=10, return_bounds=True)
filtered_arr=filtered_data[0]
filtered_min=filtered_data[1]
filtered_max=filtered_data[2]
print("Sigma clipping: min {:.2e} max {:.2e}".format(filtered_min,filtered_max))
print("length orig: {} taken: {} filtered: {}".format(len(dval),len(dval[filtered_arr.mask==False]),len(dval[filtered_arr.mask==True])))
sg_mean, sg_med, sg_std = sigma_clipped_stats(distr_val, sigma=sigma, maxiters=10)
sg_sem = sem(dval[filtered_arr.mask==False])
print("Sigma clipping: mean {:.2f} med {:.2f} std {:.2f} ".format(sg_mean, sg_med, sg_std))
print("Sigma clipping: mean {:.2e} med {:.2e} std {:.2e} ".format(sg_mean, sg_med, sg_std))
print(len(drev[filtered_arr.mask==True]))
@@ -208,7 +211,7 @@ if(plotme):
with open(proddir+fn.replace(".fits",".ignored_rev.resid.pkl"), 'wb') as fp:
pickle.dump(drev[filtered_arr.mask==True], fp, protocol=pickle.HIGHEST_PROTOCOL)
print("Removed REVs:",ignored_rev)
print("Removed REVs:",drev[filtered_arr.mask==True])
indices = sorted(
@@ -256,3 +259,22 @@ with fits.open(proddir+fout, mode='update') as hdus:
coldefs = fits.ColDefs([
fits.Column(name='REV', format='J', unit='', array=drev),
fits.Column(name='RESID', format='D', unit='cts/s', array=dval),
fits.Column(name='MASK', format='L', unit='', array=filtered_arr.mask),
])
fout = fn.replace(".fits",".{}.resid_by_rev.fits".format(outkey))
hdu = fits.BinTableHDU.from_columns(coldefs, name='GRXE')
hdu.header['MISSION'] = ('INTEGRAL', '')
hdu.header['TELESCOP'] = (outkey, '')
hdu.header['INSTITUT'] = ('IKI', 'Affiliation')
hdu.header['AUTHOR'] = ('Roman Krivonos', 'Responsible person')
hdu.header['EMAIL'] = ('krivonos@cosmos.ru', 'E-mail')
#hdu.add_checksum()
print(hdu.columns)
hdu.writeto(proddir+fout, overwrite=True)
with fits.open(proddir+fout, mode='update') as hdus:
hdus[1].add_checksum()

View File

@@ -48,24 +48,24 @@
#./02_grxe_resid.py B20 ALL
#./02_grxe_resid.py B21 ALL
./02_grxe_resid.py B01 BKG
./02_grxe_resid.py B02 BKG
./02_grxe_resid.py B03 BKG
./02_grxe_resid.py B04 BKG
./02_grxe_resid.py B05 BKG
./02_grxe_resid.py B06 BKG
./02_grxe_resid.py B07 BKG
./02_grxe_resid.py B08 BKG
./02_grxe_resid.py B09 BKG
./02_grxe_resid.py B10 BKG
./02_grxe_resid.py B11 BKG
./02_grxe_resid.py B12 BKG
./02_grxe_resid.py B13 BKG
./02_grxe_resid.py B14 BKG
./02_grxe_resid.py B15 BKG
./02_grxe_resid.py B16 BKG
./02_grxe_resid.py B17 BKG
./02_grxe_resid.py B18 BKG
./02_grxe_resid.py B19 BKG
./02_grxe_resid.py B20 BKG
./02_grxe_resid.py B21 BKG
./02_grxe_resid.py B01
./02_grxe_resid.py B02
./02_grxe_resid.py B03
./02_grxe_resid.py B04
./02_grxe_resid.py B05
./02_grxe_resid.py B06
./02_grxe_resid.py B07
./02_grxe_resid.py B08
./02_grxe_resid.py B09
./02_grxe_resid.py B10
./02_grxe_resid.py B11
./02_grxe_resid.py B12
./02_grxe_resid.py B13
./02_grxe_resid.py B14
./02_grxe_resid.py B15
./02_grxe_resid.py B16
./02_grxe_resid.py B17
./02_grxe_resid.py B18
./02_grxe_resid.py B19
./02_grxe_resid.py B20
./02_grxe_resid.py B21

View File

@@ -139,7 +139,15 @@ with open(proddir+'detcnts.B21.ignored_rev.resid.pkl', 'rb') as fp:
print(ignored_rev)
ign=ignored_rev.tolist()
"""
if(1091 in ign):
print("Removed")
else:
print("Taken")
sys.exit()
"""
nsim=1000
for skey in skeys:
@@ -147,23 +155,35 @@ for skey in skeys:
print("{} not found in {}".format(skey,list(skyreg.keys())))
sys.exit()
for enkey in ebands0.keys():
bkg_fn="detcnts.{}.BKG.resid.fits".format(enkey,inkey)
syserr, bkg_sem = get_syserror(proddir+bkg_fn)
#bkg_fn="detcnts.{}.BKG.resid.fits".format(enkey,inkey)
#syserr, bkg_sem = get_syserror(proddir+bkg_fn)
fn="detcnts.{}.{}.resid.fits".format(enkey,inkey)
d = fits.getdata(proddir+fn)
df=pd.DataFrame(np.array(d).byteswap().newbyteorder())
#print(df.columns)
#d1 = fits.getdata(proddir+fn)
#d2=np.array(d1)
#df=pd.DataFrame(d2.view(d2.dtype.newbyteorder()))
#df=pd.DataFrame(np.array(d).byteswap().newbyteorder())
#with fits.open(proddir+fn) as data:
# df = pd.DataFrame(data[1].data)
dat = Table.read(proddir+fn)
df = dat.to_pandas()
print(df.columns)
#sys.exit()
#df = df.query("REV == @ign")
df = df.query("LON > {} & LON < {} & LAT > {} & LAT < {} & REV != @ign".format(
query = "LON > {} & LON < {} & LAT > {} & LAT < {} & REV != @ign".format(
skyreg[skey]['lon'] - skyreg[skey]['wlon']/2,
skyreg[skey]['lon'] + skyreg[skey]['wlon']/2,
skyreg[skey]['lat'] - skyreg[skey]['wlat']/2,
skyreg[skey]['lat'] + skyreg[skey]['wlat']/2)
)
print(query)
#sys.exit()
df = df.query(query)
t = Table.from_pandas(df)