def test_init_strradec(): # Simple properties gensys = GenericAbsSystem(('01:32:21', '+22:15:53.3'), 1.244, [-500, 500] * u.km / u.s, NHI=16.) # Test assert gensys.abs_type == 'Generic' np.testing.assert_allclose(gensys.coord.ra.value, 23.087499999999995) # gensys = GenericAbsSystem('013221+221553.3', 1.244, [-500, 500] * u.km / u.s, NHI=16.) np.testing.assert_allclose(gensys.coord.ra.value, 23.087499999999995)
def test_init(): # Simple properties radec = SkyCoord(ra=123.1143 * u.deg, dec=-12.4321 * u.deg) gensys = GenericAbsSystem(radec, 1.244, [-500, 500] * u.km / u.s, NHI=16.) # Test assert gensys.abs_type == 'Generic' np.testing.assert_allclose(gensys.zabs, 1.244)
def test_init(): # Simple properties gensys = GenericAbsSystem(radec, 1.244, [-500, 500] * u.km / u.s, NHI=16.) # Test assert gensys.abs_type == 'Generic' assert gensys.flag_NHI == 1 np.testing.assert_allclose(gensys.zabs, 1.244) np.testing.assert_allclose(gensys.vlim.value, [-500, 500])
def add_forest(self, inp, z): '''Add a Lya/Lyb forest line ''' from linetools.isgm.abssystem import GenericAbsSystem forest = GenericAbsSystem((0. * u.deg, 0. * u.deg), z, [-300., 300.] * u.km / u.s) # NHI NHI_dict = {'6': 12., '7': 13., '8': 14., '9': 15.} forest.NHI = NHI_dict[inp] # Lines for name in ['HI 1215', 'HI 1025', 'HI 972']: aline = AbsLine(name, linelist=self.llist[self.llist['List']]) # Attributes aline.attrib['N'] = 10**forest.NHI * u.cm**-2 aline.attrib['b'] = 20. * u.km / u.s aline.setz(forest.zabs) # Append forest.lines.append(aline) # Append to forest lines self.all_forest.append(forest)
def test_xabsgui(): # Init spec_fil = data_path('UM184_nF.fits') abs_sys = GenericAbsSystem((0., 0.), 3., [-500, 500] * u.km / u.s) xabsgui = xabssysgui.XAbsSysGui(spec_fil, abs_sys)
def __init__(self, ispec, z=None, parent=None, llist=None, norm=True, vmnx=[-300., 300.] * u.km / u.s, abs_sys=None): ''' spec = Spectrum1D Norm: Bool (False) Normalized spectrum? abs_sys: AbsSystem Absorption system class ''' super(VelPlotWidget, self).__init__(parent) # Initialize spec, spec_fil = ltgu.read_spec(ispec) self.spec = spec self.spec_fil = spec_fil self.z = z self.vmnx = vmnx self.norm = norm # Abs_System self.abs_sys = abs_sys if self.abs_sys is None: self.abs_sys = GenericAbsSystem((0. * u.deg, 0. * u.deg), self.z, self.vmnx) self.abs_lines = [] else: self.z = self.abs_sys.zabs # Line list if llist is None: self.abs_lines = self.abs_sys.list_of_abslines() if len(self.abs_lines) > 0: lwrest = [iline.wrest for iline in self.abs_lines] else: lwrest = None if lwrest is not None: llist = ltgu.set_llist( lwrest) # Not sure this is working.. #QtCore.pyqtRemoveInputHook() #xdb.set_trace() #QtCore.pyqtRestoreInputHook() self.psdict = {} # Dict for spectra plotting self.psdict[ 'xmnx'] = self.vmnx.value # Too much pain to use units with this self.psdict['ymnx'] = [-0.1, 1.1] self.psdict['nav'] = ltgu.navigate(0, 0, init=True) # Status Bar? #if not status is None: # self.statusBar = status # Line List if llist is None: self.llist = ltgu.set_llist('Strong') else: self.llist = llist self.llist['z'] = self.z # Indexing for line plotting self.idx_line = 0 self.init_lines() # Create the mpl Figure and FigCanvas objects. # self.dpi = 150 self.fig = Figure((8.0, 4.0), dpi=self.dpi) self.canvas = FigureCanvas(self.fig) self.canvas.setParent(self) self.canvas.setFocusPolicy(QtCore.Qt.ClickFocus) self.canvas.setFocus() self.canvas.mpl_connect('key_press_event', self.on_key) self.canvas.mpl_connect('button_press_event', self.on_click) # Sub_plots self.sub_xy = [3, 4] self.fig.subplots_adjust(hspace=0.0, wspace=0.1) vbox = QtGui.QVBoxLayout() vbox.addWidget(self.canvas) self.setLayout(vbox) # Draw on init self.on_draw()