-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathspectrum.py
103 lines (80 loc) · 2.33 KB
/
spectrum.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
class Spectrum():
def __init__(self):
self.id_ = ""
self.ra = ""
self.dec = ""
self.z = 0
self.z_flag = 0
self.survey = ""
self.public = 0
self.calibrated = 0
self.sp1d_wave = []
self.sp1d_flux = []
self.sp1d_error = []
self.sp1d_mask = []
self.provenance = ""
self.origin_catalog_name = ""
self.origin_1d_name = ""
self.reference = ""
self.zphot = 0
self.zphot_reference = ""
self.flag = 0
self.verified = 0
self.siblings = []
self.primary = 0
self.use = 0
self.z_temp = self.z
self.flag_temp = self.flag
self.verified_temp = self.verified
self.my_flags_dict = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5':5}
self.flag_broad_dict = {'N':0, 'Y': 1}
self.verified_dict = {'N':0, 'Y': 1}
return
def set_1d(self, wave, flux):
self.sp1d_wave = wave
self.sp1d_flux = flux
def get_1d(self):
return self.sp1d_wave, self.sp1d_flux
def get_1drestframe(self):
"""
Get rest frame 1d spectrum.
If x- axis is wavelength set wave=True, if energy set wave=False.
Returns:
x: rest frame wavelength
y: rest frame flux
"""
from spectral_analysis import rest_frame
return rest_frame(self.sp1d_wave, self.sp1d_flux, self.z, wave=True)
def get_z(self):
return self.z
def get_flag(self):
return self.flag
def set_flag(self, flag):
self.flag = int(flag)
pass
def set_primary(self, p):
self.primary = p
pass
def is_primary(self):
return self.primary
def set_siblings(self, s):
self.siblings = s
pass
def get_siblings(self):
return self.siblings
def set_use(self, u):
self.use = u
pass
def set_calibration(self, const):
self.sp1d_wave = self.sp1d_wave * const
self.calibrated = 1
pass
def set_verified(self,v):
self.verified = v
pass
def _set_flag(self, f):
self.flag_temp = self.my_flags_dict[f]
pass
def _set_verified(self, v):
self.verified_temp = self.verified_dict[v]
pass