1
0
forked from erosita/uds
This commit is contained in:
Roman Krivonos 2024-11-12 12:19:38 +03:00
parent 007260728d
commit 13046181ea
9 changed files with 74 additions and 105 deletions

View File

@ -1,6 +1,6 @@
# uds
Содержит код для обработки данных поля UDS.
Содержит код для обработки данных поля Coma.
# Установка
@ -17,19 +17,19 @@ source ./venv/bin/activate.csh
## Шаг 2. Клонируем проект из репозитория
```
mkdir ~/work; cd ~/work
git clone git@danko.iki.rssi.ru:erosita/uds.git
git clone git@heagit.cosmos.ru:erosita/coma.git
```
## Шаг 3. Устанавливаем проект в ваше виртуальное окружение
```
cd uds
pip install --editable uds/
cd coma
pip install --editable coma/
```
Обратите внимание на параметр **--editable**, он позволяет вам редактировать исходный код данного пакета и сразу его выполнять. Если вы не планируете модифицировать локальную копию кода, можете убрать этот параметр.
После работы можете удалить проект:
``` pip uninstall uds ```
``` pip uninstall coma ```
## Работа с данными

View File

@ -1,25 +1,24 @@
from pathlib import Path
work_dir = Path('/path/to/some/logical/parent/dir')
#from pathlib import Path
#work_dir = Path('/path/to/some/logical/parent/dir')
"""
Координаты сентрального кадра, к которому будут
приводиться изображения всех списков событий
"""
ra_cen=34.5342131
de_cen=-4.7956710
ra_cen=194.953
de_cen=27.981
"""
Словарь камер со списком наблюдений каждой камеры.
Номера камер должны быть отсортированы
"""
keylist_tm={'1':['tm1_obs_1',],
'5':['tm5_obs_1','tm5_obs_2',],
'6':['tm6_obs_1','tm6_obs_2_badpix','tm6_obs_3_badpix',
'tm6_park_1','tm6_park_2','tm6_park_3','tm6_park_4',
'tm6_scan_1','tm6_scan_2','tm6_scan_3','tm6_scan_4'],
'7':['tm7_obs_1','tm7_obs_2',]}
keylist_tm={'1':['tm1_partI',],
'2':['tm2_partI',],
'3':['tm3_partI',],
'4':['tm4_partI',],
'5':['tm5_partI',],
'6':['tm6_partI',],
'7':['tm7_partI',],}
"""
Примерные центры изображений каждого наблюдения.

View File

@ -25,7 +25,7 @@ from astropy.time import Time, TimeDelta, TimezoneInfo, TimeFromEpoch
import statistics
import shutil
from uds.astrometry import *
#from coma.astrometry import *
MJDREF = 51543.875
TZ_UTC = TimezoneInfo(utc_offset=0*u.hour)

View File

@ -1,3 +0,0 @@
/srg/work/krivonos/erosita/work/events/cef_43140_1_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43146_1_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43147_1_P003_00.fits.gz

View File

@ -1,9 +0,0 @@
/srg/work/krivonos/erosita/work/events/cef_43086_5_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43087_5_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43092_5_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43093_5_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43097_5_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43098_5_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43099_5_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43103_5_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43104_5_P003_00.fits.gz

View File

@ -1,19 +0,0 @@
/srg/work/krivonos/erosita/work/events/cef_43050_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43051_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43062_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43063_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43064_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43065_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43066_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43067_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43068_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43069_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43070_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43071_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43072_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43073_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43074_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43098_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43099_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43103_6_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43104_6_P003_00.fits.gz

View File

@ -1,6 +0,0 @@
#/srg/work/krivonos/erosita/work/events/cef_43122_7_P003_00.fits.gz
#/srg/work/krivonos/erosita/work/events/cef_43123_7_P003_00.fits.gz
#/srg/work/krivonos/erosita/work/events/cef_43127_7_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43129_7_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43133_7_P003_00.fits.gz
/srg/work/krivonos/erosita/work/events/cef_43134_7_P003_00.fits.gz

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python
"""Создает начальные списки событий и помещает их в uds/data/processed
"""Создает начальные списки событий и помещает их в coma/data/processed
Оригинальные файлы со списками событий задаются в файлах uds/data/evtlists/*.txt
Оригинальные файлы со списками событий задаются в файлах coma/data/evtlists/*.txt
"""
import os
@ -9,50 +9,57 @@ import inspect
from os.path import dirname
import uds
from uds.config import *
from uds.utils import *
import coma
from coma.config import ra_cen, de_cen
from coma.utils import *
""" find UDS root dir """
root_path=dirname(dirname(dirname(inspect.getfile(uds))))
print("UDS root path: {}".format(root_path))
""" find root dir """
root_path=dirname(dirname(dirname(inspect.getfile(coma))))
print("root path: {}".format(root_path))
el=root_path+'/data/evtlists/'
pr=root_path+'/data/processed/'
create_folder(pr)
region="box({},{},8d,8d,0)".format(ra_cen,de_cen) # Selection region
for m in [1,2,3,4,5,6,7]:
print("tm{}_".format(m))
do_evtool_esass(evlist=el+'tm{}_partI.txt'.format(m), outfile=pr+'tm{}_partI.fits'.format(m), gti='628781744.631552 628981200.', emin=0.2, emax=10.0, region=region, rmlock=True)
### Part I ###
partI=[628781744.631552,
628819857.664192,
628860287.683584,
628900714.688512,
628941140.612288,
628981202.60192,]
scan=1
for i in range(len(partI)-1):
tstart=partI[i]
tstop=partI[i+1]
for m in [1,2,3,4,5,6,7]:
print("tm{}_partI_scan{}".format(m,i+1))
do_evtool_esass(evlist=el+'tm{}_partI.txt'.format(m), outfile=pr+'tm{}_scan{}.fits'.format(m,scan), gti='{} {}'.format(tstart,tstop), emin=0.2, emax=10.0, region=region, rmlock=True)
scan=scan+1
### Part II ###
for m in [1,2,3,4,5,6,7]:
print("tm{}_".format(m))
do_evtool_esass(evlist=el+'tm{}_partII.txt'.format(m), outfile=pr+'tm{}_partII.fits'.format(m), gti='645681013.670848 645832002.60928', emin=0.2, emax=10.0, region=region, rmlock=True)
partII=[645681013.670848,645746786.665408,645832002.60928]
for i in range(len(partII)-1):
tstart=partII[i]
tstop=partII[i+1]
for m in [1,2,3,4,5,6,7]:
print("tm{}_partII_scan{}".format(m,i+1))
do_evtool_esass(evlist=el+'tm{}_partII.txt'.format(m), outfile=pr+'tm{}_scan{}.fits'.format(m,scan), gti='{} {}'.format(tstart,tstop), emin=0.2, emax=10.0, region=region, rmlock=True)
scan=scan+1
### Survey ###
for m in [1,2,3,4,5,6,7]:
do_evtool_esass(evlist=el+'tm{}_survey.txt'.format(m), outfile=pr+'tm{}_survey.fits'.format(m), emin=0.2, emax=10.0, region=region, rmlock=True)
region="box({},{},4d,4d,0)".format(ra_cen,de_cen)
""" Selection region """
"""
# TM1
do_evtool_esass(evlist=el+'tm1.txt', outfile=pr+'tm1_obs_1.fits', gti='621296896. 621304128.', rmlock=True)
# TM5
do_evtool_esass(evlist=el+'tm5.txt', outfile=pr+'tm5_obs_1.fits', gti='620606016. 620614848.', rmlock=True)
do_evtool_esass(evlist=el+'tm5.txt', outfile=pr+'tm5_obs_2.fits', gti='620676992. 620689792.', rmlock=True)
# TM6
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_park_1.fits', gti='620174080. 620178002.620032', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_scan_1.fits', gti='620178002.620032 620192246.62720', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_park_2.fits', gti='620192448. 620194624.', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_scan_2.fits', gti='620194666.606144 620208904.673408', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_park_3.fits', gti='620209162.670976 620211316.650304', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_scan_3.fits', gti='620211328. 620225600.', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_park_4.fits', gti='620225853.609024 620227974.68832', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_scan_4.fits', gti='620227904. 620242176.', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_obs_1.fits', gti='620242432. 620258368.', rmlock=True)
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_obs_2.fits', gti='620607424. 620614656.', rmlock=True)
do_badpix_tm6(filename=pr+'tm6_obs_2.fits')
do_evtool_esass(evlist=el+'tm6.txt', outfile=pr+'tm6_obs_3.fits', gti='620676992. 620690368.', rmlock=True)
do_badpix_tm6(filename=pr+'tm6_obs_3.fits')
"""
# TM7
do_evtool_esass(evlist=el+'tm7.txt', outfile=pr+'tm7_obs_1.fits', gti='621043136. 621052416.', emin=0.2, emax=10.0, region=region, rmlock=True)
#do_evtool_esass(evlist=el+'tm7.txt', outfile=pr+'tm7_obs_2.fits', gti='621110272. 621117952.', region=region, rmlock=True)

View File

@ -12,14 +12,14 @@ import numpy as np
import glob
from os.path import dirname
import inspect
import uds
import coma
from uds.utils import *
from uds.config import *
from coma.utils import *
from coma.config import *
outkey="mosa_tm0"
""" find UDS root dir """
""" find root dir """
#root_path=dirname(dirname(dirname(inspect.getfile(uds))))
"""
@ -35,12 +35,12 @@ outfile_dir=root_path+'/products'
create_folder(outfile_dir)
index=3 # select energy band
index=5 # select energy band
do_init = True
do_merge = True
do_merge = False
do_rate = False
do_adapt = True # requires CIAO
do_adapt = False # requires CIAO
vign=False
vignetting = 'vign' if (vign==True) else 'novign'
@ -62,7 +62,7 @@ for tmkey in keylist_tm.keys():
do_obsmode=False,
do_center=False,
do_evtool=True,
do_expmap=False,
do_expmap=True,
vign=vign,
ra_cen=ra_cen, de_cen=de_cen,
emin_kev=emin_kev[index],