Esempio n. 1
0
def test_write_ds9region():
    skydir = SkyCoord(0.0, 0.0, unit='deg', frame='galactic').icrs
    rm = ROIModel(catalogs=['3FGL'], skydir=skydir, src_radius=8.0)
    assert len(rm.sources) == 62
    rm.write_ds9region("test1.reg", header=True)
    with open("test1.reg") as fo:
        dd = fo.readlines()
        assert len(dd) == 63  # including header

    rm.write_ds9region("test1.reg", header=False)
    with open("test1.reg") as fo:
        dd = fo.readlines()
        assert len(dd) == 62  # excluding header

    # check free sources
    free_sources = rm.get_nearby_sources("3FGL J1745.6-2859c", 1)[-1]
    nfree = 0
    for source in free_sources:
        if 'Prefactor' in source.spectral_pars:
            source.spectral_pars['Prefactor']['free'] = True
            nfree += 1
    nfixed = len(rm.sources) - nfree
    rm.write_ds9region("test1.reg",
                       header=False,
                       free='diamond',
                       fixed="cross")
    with open("test1.reg") as fo:
        dd = fo.readlines()
        ffree = np.array([1 if "diamond" in d else 0 for d in dd]).sum()
        ffix = np.array([1 if "cross" in d else 0 for d in dd]).sum()
        assert nfree == ffree
        assert nfixed == ffix
Esempio n. 2
0
def test_write_ds9region():
    skydir = SkyCoord(0.0, 0.0, unit='deg', frame='galactic').icrs
    rm = ROIModel(catalogs=['3FGL'], skydir=skydir, src_radius=8.0)
    assert len(rm.sources) == 62
    rm.write_ds9region("test1.reg",header=True)
    with open("test1.reg") as fo:
        dd = fo.readlines()
        assert len(dd) == 63 # including header

    rm.write_ds9region("test1.reg", header=False)
    with open("test1.reg") as fo:
        dd = fo.readlines()
        assert len(dd) == 62  # excluding header

    # check free sources
    free_sources = rm.get_nearby_sources("3FGL J1745.6-2859c", 1)[-1]
    nfree = 0
    for source in free_sources:
        if 'Prefactor' in source.spectral_pars:
            source.spectral_pars['Prefactor']['free'] = True
            nfree+=1
    nfixed = len(rm.sources) - nfree
    rm.write_ds9region("test1.reg", header=False, free='diamond', fixed="cross")
    with open("test1.reg") as fo:
        dd = fo.readlines()
        ffree = np.array([1 if "diamond" in d else 0 for d in dd]).sum()
        ffix  = np.array([1 if "cross" in d else 0 for d in dd]).sum()
        assert nfree == ffree
        assert nfixed== ffix