forked from chihchunhsu/NIRSPEC-Data-Reduction-Pipeline
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Line.py
40 lines (30 loc) · 2.01 KB
/
Line.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
class Line:
"""
"""
def __init__(self, frame, order, wAccepted, col, centroid, peak):
# line identification
self.frame = frame # frame name or KOAID from which line extracted
self.col = col # integer column number of line, pixels
self.centroid = centroid # centroid column of line, fractional pixels
self.order = order # order number in which this line was found
self.waveAccepted = wAccepted # accepted wavelength from atlas, Angstroms
self.peak = peak # peak intensity, counts
# per-order fit results
self.orderWaveFit = 0.0 # wavelength of line based on per order fit (Angstroms)
self.orderFitRes = 0.0 # fit residual (Angstroms)
self.orderFitSlope = 0.0 # slope of per-order WL equation at this wavelength
# (Angstroms/pixel)
self.orderFitOutlier = False # true if line discarded from per-order fit as outlier
# per-frame fit results
self.frameWaveFit = 0.0 # wavelength of line based on per-frame fit (Angstroms)
self.frameFitRes = 0.0 # fit residual (Angstroms)
self.frameFitSlope = 0.0 # slope of per-frame WL equation at this WL
# (Angstroms/pixel)
self.frameFitOutlier = True # true if line discarded from per-frame fit as outlier
# multi-frame fit results
self.multiFrames = [] # names or KOAIDs of other frames in multi-frame fit
self.mfWaveFit = 0.0 # wavelength of line based on multi-frame fit (Angstroms)
self.mfFitRes = 0.0 # fit residual (Angstroms)
self.mfFitSlope = 0.0 # slope of per-frame WL equation at this wavelength
# (Angstroms/pixel)
self.multiFrameOutlier = False # true if line discarded from fit as outlier