annotate aux_functions.py @ 0:a35056104c2c draft default tip

planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
author astroteam
date Fri, 13 Jun 2025 13:26:36 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
1 import numpy as np
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
2
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
3
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
4 def list_tel(key, G):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
5 cols = []
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
6
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
7 for e in G.query(f'SELECT ?a ?b ?c WHERE {{<{key}> <https://odahub.io/ontology#sensitivity> ?c}} LIMIT 500'):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
8 cols.append(str(e[2]))
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
9
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
10 if len(cols) == 0:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
11 for e in G.query(f'SELECT ?a ?b ?c WHERE {{?a <http://purl.org/dc/terms/isRequiredBy> <{key}>}} LIMIT 500'):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
12 for f in G.query(f'SELECT ?a ?b ?c WHERE {{<{e[0]}> <https://odahub.io/ontology#sensitivity> ?c}} LIMIT 500'):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
13 cols.append(str(f[2]))
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
14
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
15 # if len(cols) == 0:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
16 # aux_ = []
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
17 # for key in dict_.keys():
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
18 # if dict_[key] == -i:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
19 # for e in G.query(f'SELECT ?a ?b ?c WHERE {{?a <http://purl.org/dc/terms/isPartOf> <{key}>}} LIMIT 500'):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
20 # # for f in G.query(f'SELECT ?a ?b ?c WHERE {{<{e[0]}> <https://odahub.io/ontology#sensitivity> ?c}} LIMIT 500'):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
21 # aux_.append(e[0])
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
22 # if len(aux_) == 1:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
23 # print(aux_)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
24
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
25 return list(set(cols))
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
26
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
27
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
28 def provide_telescope_sensitivities(dict_, G):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
29 colors = []
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
30 N_TEL = len(dict_.keys())
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
31 for key in dict_.keys():
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
32 for e in G.query(f'SELECT ?a ?b ?c WHERE {{<{key}> <https://odahub.io/ontology#sensitivity> ?c}} LIMIT 500'):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
33 colors.append(str(e[2]))
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
34
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
35 return list(set(colors)), N_TEL
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
36
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
37
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
38 def bits(ask="try"):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
39 if ask == "None":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
40 return 0 # (0 0 0 0 0 0 0 0 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
41 if ask == "gamma-ray":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
42 return 1 # (0 0 0 0 0 0 0 0 1)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
43 if ask == "x-ray":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
44 return 2 # (0 0 0 0 0 0 0 1 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
45 if ask == "ultraviolet":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
46 return 4 # (0 0 0 0 0 0 1 0 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
47 if ask == "optical":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
48 return 8 # (0 0 0 0 0 1 0 0 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
49 if ask == "infrared":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
50 return 16 # (0 0 0 0 1 0 0 0 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
51 if ask == "radio":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
52 return 32 # (0 0 0 1 0 0 0 0 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
53 if ask == "cosmic-ray":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
54 return 64 # (0 0 1 0 0 0 0 0 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
55 if ask == "gravitational-wave":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
56 return 128 # (0 1 0 0 0 0 0 0 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
57 if ask == "neutrino":
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
58 return 256 # (1 0 0 0 0 0 0 0 0)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
59 # print(f"You have asked for {ask}. Which does not exist. Please check bits() function.")
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
60 # os._exit(1)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
61
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
62
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
63 def bits2sens(ask=None):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
64 if ask == 0:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
65 return "None"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
66 if ask == 1:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
67 return "gamma-ray"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
68 if ask == 2:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
69 return "x-ray"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
70 if ask == 4:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
71 return "ultraviolet"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
72 if ask == 8:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
73 return "optical"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
74 if ask == 16:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
75 return "infrared"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
76 if ask == 32:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
77 return "radio"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
78 if ask == 64:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
79 return "cosmic-ray"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
80 if ask == 128:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
81 return "gravitational-wave"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
82 if ask == 256:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
83 return "neutrino"
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
84 # print(f"You have asked for {ask}. Which does not exist. Please check bits() function.")
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
85 # os._exit(1)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
86
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
87
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
88 def compute_sensitivity(colors):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
89 final_ = 0
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
90 for color in colors:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
91 final_ = np.bitwise_or(bits(ask=color), final_)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
92
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
93 return final_
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
94
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
95
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
96 def compute_sensitivity_int(colors_int):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
97 final_ = 0
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
98 for color in colors_int:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
99 final_ = np.bitwise_or(color, final_)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
100
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
101 return final_
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
102
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
103
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
104 def find_sensitivity(bit_integer):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
105 list_o = []
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
106 list_b = []
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
107 list_b_12 = []
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
108
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
109 colors = ['gravitational-wave', 'radio', 'ultraviolet', 'optical', 'gamma-ray', 'infrared', 'x-ray', 'cosmic-ray', 'neutrino']
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
110
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
111 for sens in colors:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
112 bit_ = bits(ask=sens)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
113 if np.bitwise_and(bit_, bit_integer) == bit_:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
114 list_o.append(sens)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
115 list_b.append(bit_)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
116
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
117 for i_1 in range(len(colors)):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
118 s_1 = colors[i_1]
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
119 b_1 = bits(ask=s_1)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
120 for i_2 in range(i_1, len(colors), 1):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
121 s_2 = colors[i_2]
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
122 b_2 = bits(ask=s_2)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
123
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
124 if i_1 != i_2:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
125 b_12 = np.bitwise_or(b_1, b_2)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
126
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
127 if np.bitwise_and(b_12, bit_integer) == b_12:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
128 list_b_12.append(b_12)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
129 else:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
130 if b_2 == bit_integer:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
131 list_b_12.append(b_2)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
132
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
133 return list_o, list_b, list_b_12
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
134
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
135
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
136 def find_name_workflow(list_telescopes):
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
137 indices = []
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
138 if "https://odahub.io/ontology#international-gamma-ray-astrophysics-laboratory" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
139 indices.append(50)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
140 if "https://odahub.io/ontology#imager-on-board-the-integral-satellite" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
141 indices.append(51)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
142 if "https://odahub.io/ontology#joint-european-x-ray-monitor" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
143 indices.append(52)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
144 if "https://odahub.io/ontology#spectrometer-on-integral" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
145 indices.append(53)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
146 if "https://odahub.io/ontology#astronomy-with-a-neutrino-telescope-and-abyss-environmental-research-project" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
147 indices.append(54)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
148 if "https://odahub.io/ontology#laser-interferometer-gravitational-wave-observatory" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
149 indices.append(55)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
150 if "https://odahub.io/ontology#virgo" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
151 indices.append(55)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
152 if "https://odahub.io/ontology#iceCube-neutrino-observatory" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
153 indices.append(56)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
154 if "https://odahub.io/ontology#high-energy-stereoscopic-system" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
155 indices.append(57)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
156 if "https://odahub.io/ontology#cherenkov-telescope-array" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
157 indices.append(58)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
158 if "https://odahub.io/ontology#cherenkov-telescope-array-observatory" in list_telescopes:
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
159 indices.append(58)
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
160 return indices
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
161
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
162
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
163 def get_list_instruments_CNN_MMODA():
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
164 return ["INTEGRAL", "ISGRI", "JEM-X", "SPI-ACS", "ANTARES", "LIGO/VIRGO", "IceCube", "HESS", "CTA/CTAO"]
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
165
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
166
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
167 def get_dict_instruments_URL_MMODA():
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
168 return {
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
169 "spi_acs": ["INTEGRAL", "SPI-ACS"],
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
170 "cta": ["CTA/CTAO"],
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
171 "hess": ["HESS"],
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
172 "isgri": ["INTEGRAL", "ISGRI"],
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
173 "jemx": ["INTEGRAL", "JEM-X"],
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
174 "icecube": ["IceCube"],
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
175 "antares": ["ANTARES"],
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
176 "gw": ["LIGO/VIRGO"]
a35056104c2c planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit da42ae0d18f550dec7f6d7e29d297e7cf1909df2
astroteam
parents:
diff changeset
177 }