Пример #1
0
    def _fill(self):
        """Fills map values """
        for target in self.roster.values():
            print(target)
            if self.coord == 'gal':
                idx = query_disc(self.nside, target.glon, target.glat,
                                 target.psi_max)
                lon, lat = gal2cel(self.lon[idx], self.lat[idx])
            else:
                idx = query_disc(self.nside, target.ra, target.dec,
                                 target.psi_max)
                lon, lat = self.lon[idx], self.lat[idx]

            self.values[idx] += target.jvalue(lon, lat)
Пример #2
0
    def fill(self):
        self.values = np.zeros(hp.nside2npix(self.nside))
        self.pix = np.arange(hp.nside2npix(self.nside))
        self.lon,self.lat = pix2ang(self.nside,self.pix)
        
        for target in self.roster.values():
            print(target)
            if self.coord == 'gal':
                idx = query_disc(self.nside,target.glon,target.glat,target.psi_max)
                lon,lat = gal2cel(self.lon[idx],self.lat[idx])
            else:
                idx = query_disc(self.nside,target.ra,target.dec,target.psi_max)
                lon,lat = self.lon[idx],self.lat[idx]

            self.values[idx] += target.jvalue(lon,lat)
Пример #3
0
def test_skymap_from_roster():

    targets = dmsky.targets.TargetLibrary()
    rosters = dmsky.roster.RosterLibrary()
    gc = rosters.create_roster('galactic:ackermann2013_nfw')
    dsphs = rosters.create_roster('martinez2015_nfw')

    r = gc + dsphs

    nside = 128
    skymap = dmsky.skymap.Skymap(r, nside=nside)

    gc_skymap = dmsky.skymap.Skymap(gc, nside=nside)

    dsphs_skymap = dmsky.skymap.Skymap(dsphs, nside=nside)

    hp.mollview(np.log10(skymap.values))
    plt.savefig('dsphs_gc_skymap.png', bbox_inches='tight')

    mask = np.zeros_like(skymap.values, dtype=bool)
    mask[query_disc(nside, gc[0].glon, gc[0].glat, radius=41)] = True
    mask[(np.abs(skymap.lon - 360. * (skymap.lon > 180)) > 6)
         & (np.abs(skymap.lat) < 5)] = False

    hp.mollview(np.log10(skymap.values * mask))
    plt.savefig('gc_region.png', bbox_inches='tight')

    jfactor = gc_skymap.values[~mask].sum() * hp.nside2pixarea(
        nside) * Units.msun2_kpc5 / Units.gev2_cm5
Пример #4
0
#r = dsphs

nside = 128
skymap = dmsky.skymap.Skymap(r, nside=nside)
skymap.fill()

gc_skymap = dmsky.skymap.Skymap(gc, nside=nside)
gc_skymap.fill()

dsphs_skymap = dmsky.skymap.Skymap(dsphs, nside=nside)
dsphs_skymap.fill()

hp.mollview(np.log10(skymap.values))
plt.savefig('dsphs_gc_skymap.png',bbox_inches='tight')
#hp.mollview(np.log10(dsphs_skymap.values))
#hp.mollview(np.log10(gc_skymap.values))
#hp.mollview(np.log10(dsphs_skymap.values+gc_skymap.values))
#hp.mollview(np.log10(50*dsphs_skymap.values+gc_skymap.values))

mask = np.zeros_like(skymap.values,dtype=bool)
mask[query_disc(nside,gc[0].glon,gc[0].glat,radius=41)] = True
mask[(np.abs(skymap.lon-360.*(skymap.lon>180))>6) & (np.abs(skymap.lat)<5)] = False

hp.mollview(np.log10(skymap.values*mask))
plt.savefig('gc_region.png',bbox_inches='tight')

jfactor = gc_skymap.values[~mask].sum() * hp.nside2pixarea(nside) * Units.msun2_kpc5/Units.gev2_cm5

plt.ion()
plt.show()