Mercurial > repos > astroteam > grb_detection_astro_tool
annotate detectgrb.py @ 0:c80db1ec6611 draft default tip
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
| author | astroteam | 
|---|---|
| date | Wed, 13 Aug 2025 19:10:53 +0000 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 0 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 1 #!/usr/bin/env python | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 2 # coding: utf-8 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 3 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 4 #!/usr/bin/env python | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 5 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 6 # This script is generated with nb2galaxy | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 7 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 8 # flake8: noqa | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 9 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 10 import json | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 11 import os | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 12 import shutil | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 13 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 14 from oda_api.json import CustomJSONEncoder | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 15 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 16 T1 = "2023-01-16T04:53:33.9" # http://odahub.io/ontology#StartTime | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 17 T2 = "2023-01-16T04:55:33.9" # http://odahub.io/ontology#EndTime | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 18 detection_time_scales = "1,10" | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 19 lc_time_scale = 0.1 # https://odahub.io/ontology#TimeIntervalSeconds | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 20 background_age = 10 # oda:TimeIntervalSeconds | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 21 min_sn = 5 # https://odahub.io/ontology#SignalToNoiseRatio | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 22 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 23 _galaxy_wd = os.getcwd() | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 24 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 25 with open("inputs.json", "r") as fd: | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 26 inp_dic = json.load(fd) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 27 if "C_data_product_" in inp_dic.keys(): | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 28 inp_pdic = inp_dic["C_data_product_"] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 29 else: | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 30 inp_pdic = inp_dic | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 31 T1 = str(inp_pdic["T1"]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 32 T2 = str(inp_pdic["T2"]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 33 detection_time_scales = str(inp_pdic["detection_time_scales"]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 34 lc_time_scale = float(inp_pdic["lc_time_scale"]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 35 background_age = float(inp_pdic["background_age"]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 36 min_sn = int(inp_pdic["min_sn"]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 37 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 38 import numpy as np | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 39 from astropy.time import Time | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 40 from matplotlib import pylab as plt | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 41 from oda_api.api import DispatcherAPI | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 42 from oda_api.data_products import LightCurveDataProduct, PictureProduct | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 43 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 44 disp = DispatcherAPI( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 45 url="https://www.astro.unige.ch/mmoda//dispatch-data", instrument="mock" | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 46 ) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 47 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 48 par_dict = { | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 49 "T1": T1, | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 50 "T2": T2, | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 51 "T_format": "isot", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 52 "instrument": "spi_acs", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 53 "product": "spi_acs_lc", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 54 "product_type": "Real", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 55 "time_bin": lc_time_scale, | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 56 "time_bin_format": "sec", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 57 } | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 58 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 59 data_collection = disp.get_product(**par_dict) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 60 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 61 lc = data_collection.spi_acs_lc_0_query.data_unit[1].data | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 62 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 63 lc["TIME"] = ( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 64 lc["TIME"] / 24 / 3600 + (Time(T1).mjd + Time(T2).mjd) / 2.0 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 65 ) # TODO: more accurately | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 66 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 67 def rebin(x, n): | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 68 N = int(len(x) / n) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 69 return np.array(x[: N * n]).reshape((N, n)).sum(1) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 70 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 71 lc = LightCurveDataProduct.from_arrays( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 72 times=Time(lc["TIME"], format="mjd"), fluxes=lc["RATE"], errors=lc["ERROR"] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 73 ) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 74 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 75 obj_results = [lc.encode()] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 76 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 77 T0_ijd = lc.data_unit[1].data["TIME"][np.argmax(lc.data_unit[1].data["FLUX"])] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 78 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 79 ijd2plot = lambda x: (x - T0_ijd) * 24 * 3600 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 80 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 81 m_bkg = ijd2plot(lc.data_unit[1].data["TIME"]) < background_age | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 82 np.sum(m_bkg) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 83 bkg = np.mean(lc.data_unit[1].data["FLUX"][m_bkg]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 84 bkg | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 85 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 86 from matplotlib import pylab as plt | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 87 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 88 plt.figure(figsize=(10, 6)) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 89 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 90 plt.errorbar( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 91 ijd2plot(lc.data_unit[1].data["TIME"]), | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 92 lc.data_unit[1].data["FLUX"], | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 93 lc.data_unit[1].data["ERROR"], | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 94 label=f"{lc_time_scale} s", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 95 alpha=0.5, | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 96 ) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 97 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 98 best_detection = {"sn": None, "timescale": None, "t_max_sn": None} | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 99 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 100 for detection_time_scale in detection_time_scales.split(","): | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 101 n = int(float(detection_time_scale.strip()) / lc_time_scale) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 102 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 103 r_t = rebin(lc.data_unit[1].data["TIME"], n) / n | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 104 r_c = rebin(lc.data_unit[1].data["FLUX"], n) / n | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 105 r_ce = rebin(lc.data_unit[1].data["ERROR"] ** 2, n) ** 0.5 / n | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 106 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 107 sn = (r_c - bkg) / r_ce | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 108 imax = sn.argmax() | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 109 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 110 if best_detection["sn"] is None or best_detection["sn"] < sn[imax]: | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 111 best_detection["sn"] = sn[imax] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 112 best_detection["timescale"] = detection_time_scale | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 113 best_detection["t_max_sn"] = Time(r_t[imax], format="mjd").isot | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 114 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 115 plt.errorbar( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 116 ijd2plot(r_t), | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 117 r_c, | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 118 r_ce, | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 119 label=f"{detection_time_scale} s, S/N = {sn[imax]:.1f}", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 120 ) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 121 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 122 plt.axhline(bkg, lw=3, ls=":", c="k") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 123 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 124 plt.grid() | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 125 plt.legend() | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 126 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 127 plt.ylabel("Flux") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 128 plt.xlabel("Time, MJD") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 129 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 130 plt.title(best_detection) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 131 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 132 plt.savefig("annotated-lc.png") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 133 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 134 Time(r_t, format="mjd").isot | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 135 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 136 bin_image = PictureProduct.from_file("annotated-lc.png") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 137 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 138 detection_note = str(dict(best_detection=best_detection)) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 139 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 140 import numpy as np | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 141 from astropy import wcs | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 142 from astropy.io import fits | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 143 from matplotlib import pylab as plt | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 144 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 145 x, y = np.meshgrid(np.linspace(0, 10, 500), np.linspace(0, 10, 500)) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 146 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 147 image = np.exp(-((x - 5) ** 2 + (y - 5) ** 2)) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 148 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 149 pixsize = 0.1 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 150 Npix = 500 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 151 cdec = 1 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 152 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 153 RA = 0 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 154 DEC = 0 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 155 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 156 # Create a new WCS object. The number of axes must be set | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 157 # from the start | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 158 w = wcs.WCS(naxis=2) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 159 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 160 # Set up an "Airy's zenithal" projection | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 161 # Vector properties may be set with Python lists, or Numpy arrays | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 162 w.wcs.crpix = [image.shape[0] / 2.0, image.shape[1] / 2.0] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 163 w.wcs.cdelt = np.array([pixsize / cdec, pixsize]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 164 w.wcs.crval = [RA, DEC] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 165 w.wcs.ctype = ["RA---CAR", "DEC--CAR"] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 166 w.wcs.set_pv([(1, 1, 45.0)]) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 167 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 168 # Now, write out the WCS object as a FITS header | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 169 header = w.to_header() | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 170 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 171 # header is an astropy.io.fits.Header object. We can use it to create a new | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 172 # PrimaryHDU and write it to a file. | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 173 hdu = fits.PrimaryHDU(image, header=header) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 174 hdu.writeto("Image.fits", overwrite=True) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 175 hdu = fits.open("Image.fits") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 176 im = hdu[0].data | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 177 from astropy.wcs import WCS | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 178 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 179 wcs = WCS(hdu[0].header) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 180 plt.subplot(projection=wcs) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 181 plt.imshow(im, origin="lower") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 182 plt.grid(color="white", ls="solid") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 183 plt.xlabel("RA") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 184 plt.ylabel("Dec") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 185 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 186 from oda_api.data_products import ImageDataProduct | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 187 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 188 fits_image = ImageDataProduct.from_fits_file("Image.fits") | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 189 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 190 lc = lc # http://odahub.io/ontology#LightCurve | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 191 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 192 detection_comment = detection_note # http://odahub.io/ontology#ODATextProduct | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 193 image_output = bin_image # http://odahub.io/ontology#ODAPictureProduct | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 194 image_fits = fits_image # http://odahub.io/ontology#Image | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 195 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 196 # output gathering | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 197 _galaxy_meta_data = {} | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 198 _oda_outs = [] | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 199 _oda_outs.append(("out_detectgrb_lc", "lc_galaxy.output", lc)) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 200 _oda_outs.append( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 201 ( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 202 "out_detectgrb_detection_comment", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 203 "detection_comment_galaxy.output", | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 204 detection_comment, | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 205 ) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 206 ) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 207 _oda_outs.append( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 208 ("out_detectgrb_image_output", "image_output_galaxy.output", image_output) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 209 ) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 210 _oda_outs.append( | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 211 ("out_detectgrb_image_fits", "image_fits_galaxy.output", image_fits) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 212 ) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 213 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 214 for _outn, _outfn, _outv in _oda_outs: | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 215 _galaxy_outfile_name = os.path.join(_galaxy_wd, _outfn) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 216 if isinstance(_outv, str) and os.path.isfile(_outv): | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 217 shutil.move(_outv, _galaxy_outfile_name) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 218 _galaxy_meta_data[_outn] = {"ext": "_sniff_"} | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 219 elif getattr(_outv, "write_fits_file", None): | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 220 _outv.write_fits_file(_galaxy_outfile_name) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 221 _galaxy_meta_data[_outn] = {"ext": "fits"} | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 222 elif getattr(_outv, "write_file", None): | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 223 _outv.write_file(_galaxy_outfile_name) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 224 _galaxy_meta_data[_outn] = {"ext": "_sniff_"} | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 225 else: | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 226 with open(_galaxy_outfile_name, "w") as fd: | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 227 json.dump(_outv, fd, cls=CustomJSONEncoder) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 228 _galaxy_meta_data[_outn] = {"ext": "json"} | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 229 | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 230 with open(os.path.join(_galaxy_wd, "galaxy.json"), "w") as fd: | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 231 json.dump(_galaxy_meta_data, fd) | 
| 
c80db1ec6611
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 5b1251e9c9cdff7f825bfcfebdfdb12714c13d8f
 astroteam parents: diff
changeset | 232 print("*** Job finished successfully ***") | 
