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?'))
Exemple #2
0
    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
Exemple #3
0
    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'
Exemple #8
0
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'
Exemple #10
0
    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