def test_failed_init(): with pytest.raises(ValueError): abslin = AbsLine(1215.700 * u.AA) with pytest.raises(ValueError): abslin = AbsLine('HI Ly99') with pytest.raises(ValueError): sline = SpectralLine.from_dict(dict(ltype='wrong ltype')) with pytest.raises(ValueError): sline = SpectralLine('wrong ltype', 1215.67 * u.AA) with pytest.raises(ValueError): sline = SpectralLine('Abs', dict(bad_trans='because I am dict, right?'))
def from_dict(cls, idict, coord=None, **kwargs): """ Instantiate from a dict Parameters ---------- idict : dict Returns ------- """ if coord is not None: radec = coord else: radec = SkyCoord(ra=idict['RA']*u.deg, dec=idict['DEC']*u.deg) # Init #slf = cls(radec, tuple(idict['Zion']), idict['zcomp'], Quantity(idict['vlim'], unit='km/s'), slf = cls(radec, tuple(idict['Zion']), idict['zcomp'], idict['vlim']*u.km/u.s, Ej=idict['Ej']/u.cm, A=idict['A'], Ntup = tuple([idict[key] for key in ['flag_N', 'logN', 'sig_logN']]), comment=idict['comment'], name=idict['Name']) # Add lines for key in idict['lines'].keys(): iline = SpectralLine.from_dict(idict['lines'][key], coord=coord, **kwargs) slf.add_absline(iline, **kwargs) # Return return slf
def from_dict(cls, idict, coord=None, **kwargs): """ Instantiate from a dict Parameters ---------- idict : dict Returns ------- """ if coord is not None: radec = coord else: radec = SkyCoord(ra=idict['RA'] * u.deg, dec=idict['DEC'] * u.deg) # Init #slf = cls(radec, tuple(idict['Zion']), idict['zcomp'], Quantity(idict['vlim'], unit='km/s'), slf = cls(radec, tuple(idict['Zion']), idict['zcomp'], idict['vlim'] * u.km / u.s, Ej=idict['Ej'] / u.cm, A=idict['A'], Ntup=tuple( [idict[key] for key in ['flag_N', 'logN', 'sig_logN']]), comment=idict['comment'], name=idict['Name']) # Add lines for key in idict['lines'].keys(): iline = SpectralLine.from_dict(idict['lines'][key], coord=coord, **kwargs) slf.add_absline(iline, **kwargs) # Return return slf
def test_dicts(): # Init HI Lya abslin = AbsLine(1215.6700*u.AA) abslin.analy['spec'] = 'tmp.fits' adict = abslin.to_dict() assert isinstance(adict, dict) # Write #pdb.set_trace() ltu.savejson('tmp.json', adict, overwrite=True) # Read newdict = ltu.loadjson('tmp.json') newlin = SpectralLine.from_dict(newdict) assert newlin.name == 'HI 1215' # Old dict for compatability newdict.pop('limits') newdict['analy']['vlim'] = [-150,150]*u.km/u.s newdict['attrib']['z'] = 0.5 tmp3 = SpectralLine.from_dict(newdict) assert newlin.name == 'HI 1215'
def test_dicts(): # Init HI Lya abslin = AbsLine(1215.6700 * u.AA) abslin.analy['spec'] = 'tmp.fits' adict = abslin.to_dict() assert isinstance(adict, dict) # Write #pdb.set_trace() ltu.savejson('tmp.json', adict, overwrite=True) # Read newdict = ltu.loadjson('tmp.json') newlin = SpectralLine.from_dict(newdict) assert newlin.name == 'HI 1215' # Old dict for compatability newdict.pop('limits') newdict['analy']['vlim'] = [-150, 150] * u.km / u.s newdict['attrib']['z'] = 0.5 tmp3 = SpectralLine.from_dict(newdict) assert newlin.name == 'HI 1215'
def test_failed_init(): with pytest.raises(ValueError): abslin = AbsLine(1215.700*u.AA) with pytest.raises(ValueError): abslin = AbsLine('HI Ly99') with pytest.raises(ValueError): sline = SpectralLine.from_dict(dict(ltype='wrong ltype')) with pytest.raises(ValueError): sline = SpectralLine('wrong ltype', 1215.67*u.AA) with pytest.raises(ValueError): sline = SpectralLine('Abs', dict(bad_trans='because I am dict, right?'))
def test_dicts(): # Init HI Lya abslin = AbsLine(1215.6700*u.AA) adict = abslin.to_dict() assert isinstance(adict, dict) # Write #pdb.set_trace() ltu.savejson('tmp.json', adict, overwrite=True) # Read newdict = ltu.loadjson('tmp.json') newlin = SpectralLine.from_dict(newdict) assert newlin.name == 'HI 1215'
def test_dicts(): # Init Halpha emisslin = EmLine(6564.613 * u.AA) emisslin.analy['spec'] = 'tmp.fits' edict = emisslin.to_dict() assert isinstance(edict, dict) # Write ltu.savejson('tmp.json', edict, overwrite=True) # Read newdict = ltu.loadjson('tmp.json') newlin = SpectralLine.from_dict(newdict) assert newlin.name == 'Halpha' assert newlin.ltype == 'Em'
def test_dicts(): # Init Halpha emisslin = EmLine(6564.613*u.AA) emisslin.analy['spec'] = 'tmp.fits' edict = emisslin.to_dict() assert isinstance(edict, dict) # Write ltu.savejson('tmp.json', edict, overwrite=True) # Read newdict = ltu.loadjson('tmp.json') newlin = SpectralLine.from_dict(newdict) assert newlin.name == 'Halpha' assert newlin.ltype == 'Em'
def from_dict(cls, idict, **kwargs): """ Instantiate from a dict Parameters ---------- idict : dict Returns ------- """ slf = cls(SkyCoord(ra=idict['RA']*u.deg, dec=idict['DEC']*u.deg), tuple(idict['Zion']), idict['zcomp'], idict['vlim']*u.km/u.s, Ej=idict['Ej']/u.cm, A=idict['A'], Ntup = tuple([idict[key] for key in ['flag_N', 'logN', 'sig_logN']]), comment=idict['comment'], name=idict['Name']) # Add lines for key in idict['lines']: iline = SpectralLine.from_dict(idict['lines'][key]) slf.add_absline(iline, **kwargs) # Return return slf