Exemple #1
0
    def test_equatorialFromGalactic(self):

        lon = np.zeros((3), dtype=float)
        lat = np.zeros((3), dtype=float)

        lon[0] = 3.452036693523627964e+00
        lat[0] = 8.559512505657201897e-01
        lon[1] = 2.455968474619387720e+00
        lat[1] = 3.158563770667878468e-02
        lon[2] = 2.829585540991265358e+00
        lat[2] = -6.510790587552289788e-01

        ra, dec = utils._equatorialFromGalactic(lon, lat)

        self.assertIsInstance(ra, np.ndarray)
        self.assertIsInstance(dec, np.ndarray)

        self.assertAlmostEqual(ra[0], 2.549091039839124218e+00, 6)
        self.assertAlmostEqual(dec[0], 5.198752733024248895e-01, 6)
        self.assertAlmostEqual(ra[1], 8.693375673649429425e-01, 6)
        self.assertAlmostEqual(dec[1], 1.038086165642298164e+00, 6)
        self.assertAlmostEqual(ra[2], 7.740864769302191473e-01, 6)
        self.assertAlmostEqual(dec[2], 2.758053025017753179e-01, 6)

        # test passing in floats as args
        for ix, (ll, bb) in enumerate(zip(lon, lat)):
            rr, dd = utils._equatorialFromGalactic(ll, bb)
            self.assertIsInstance(ll, np.float)
            self.assertIsInstance(bb, np.float)
            self.assertIsInstance(rr, np.float)
            self.assertIsInstance(dd, np.float)
            self.assertAlmostEqual(rr, ra[ix], 10)
            self.assertAlmostEqual(dd, dec[ix], 10)
Exemple #2
0
    def _plot_mwZone(self,
                     raCen=0,
                     peakWidth=np.radians(10.),
                     taperLength=np.radians(80.),
                     ax=None):
        """
        Plot blue lines to mark the milky way galactic exclusion zone.
        """
        if ax is None:
            ax = plt.gca()
        # Calculate galactic coordinates for mw location.
        step = 0.02
        galL = np.arange(-np.pi, np.pi + step / 2., step)
        galB = np.zeros(len(galL))
        galBm20 = np.zeros(len(galL)) - np.radians(20.)
        galBp20 = np.zeros(len(galL)) + np.radians(20.)
        #val = peakWidth * np.cos(galL / taperLength * np.pi / 2.)
        #galB1 = np.where(np.abs(galL) <= taperLength, val, 0)
        #galB2 = np.where(np.abs(galL) <= taperLength, -val, 0)
        # Convert to ra/dec.
        # Convert to lon/lat and plot.
        ra, dec = _equatorialFromGalactic(galL, galB)
        lon = -(ra - raCen - np.pi) % (np.pi * 2) - np.pi
        ax.plot(lon, dec, 'b.', markersize=1.8, alpha=0.4)

        ra, dec = _equatorialFromGalactic(galL, galBm20)
        lon = -(ra - raCen - np.pi) % (np.pi * 2) - np.pi
        ax.plot(lon, dec, 'b.', markersize=1.8, alpha=0.2)

        ra, dec = _equatorialFromGalactic(galL, galBp20)
        lon = -(ra - raCen - np.pi) % (np.pi * 2) - np.pi
        ax.plot(lon, dec, 'b.', markersize=1.8, alpha=0.2)
    def testEquaorialFromGalactic(self):
        lonList = self.raList
        latList = self.decList

        raRad, decRad = utils._equatorialFromGalactic(lonList, latList)
        raDeg, decDeg = utils.equatorialFromGalactic(np.degrees(lonList),
                                                     np.degrees(latList))

        np.testing.assert_array_almost_equal(raRad, np.radians(raDeg), 10)
        np.testing.assert_array_almost_equal(decRad, np.radians(decDeg), 10)

        for lon, lat in zip(lonList, latList):
            raRad, decRad = utils._equatorialFromGalactic(lon, lat)
            raDeg, decDeg = utils.equatorialFromGalactic(np.degrees(lon), np.degrees(lat))
            self.assertAlmostEqual(raRad, np.radians(raDeg), 10)
            self.assertAlmostEqual(decRad, np.radians(decDeg), 10)
    def testEquaorialFromGalactic(self):
        lonList = self.raList
        latList = self.decList

        raRad, decRad = utils._equatorialFromGalactic(lonList, latList)
        raDeg, decDeg = utils.equatorialFromGalactic(np.degrees(lonList),
                                                     np.degrees(latList))

        np.testing.assert_array_almost_equal(raRad, np.radians(raDeg), 10)
        np.testing.assert_array_almost_equal(decRad, np.radians(decDeg), 10)

        for lon, lat in zip(lonList, latList):
            raRad, decRad = utils._equatorialFromGalactic(lon, lat)
            raDeg, decDeg = utils.equatorialFromGalactic(
                np.degrees(lon), np.degrees(lat))
            self.assertAlmostEqual(raRad, np.radians(raDeg), 10)
            self.assertAlmostEqual(decRad, np.radians(decDeg), 10)
 def _plot_mwZone(self, raCen=0, peakWidth=np.radians(10.), taperLength=np.radians(80.), ax=None):
     """
     Plot blue lines to mark the milky way galactic exclusion zone.
     """
     if ax is None:
         ax = plt.gca()
     # Calculate galactic coordinates for mw location.
     step = 0.02
     galL = np.arange(-np.pi, np.pi + step / 2., step)
     val = peakWidth * np.cos(galL / taperLength * np.pi / 2.)
     galB1 = np.where(np.abs(galL) <= taperLength, val, 0)
     galB2 = np.where(np.abs(galL) <= taperLength, -val, 0)
     # Convert to ra/dec.
     # Convert to lon/lat and plot.
     ra, dec = _equatorialFromGalactic(galL, galB1)
     lon = -(ra - raCen - np.pi) % (np.pi * 2) - np.pi
     ax.plot(lon, dec, 'b.', markersize=1.8, alpha=0.4)
     ra, dec = _equatorialFromGalactic(galL, galB2)
     lon = -(ra - raCen - np.pi) % (np.pi * 2) - np.pi
     ax.plot(lon, dec, 'b.', markersize=1.8, alpha=0.4)
Exemple #6
0
    def _readMap(self):
        filename = 'TRIstarDensity_%s_nside_%i.npz' % (self.filtername, self.nside)
        starMap = np.load(os.path.join(self.mapDir, filename))
        self.starMap = starMap['starDensity'].copy()
        self.starMapBins = starMap['bins'].copy()
        self.starmapNside = hp.npix2nside(np.size(self.starMap[:, 0]))
        # note, the trilegal maps are in galactic coordinates, and nested healpix.
        gal_l, gal_b = _hpid2RaDec(self.nside, np.arange(hp.nside2npix(self.nside)), nest=True)

        # Convert that to RA,dec. Then do nearest neighbor lookup.
        ra, dec = _equatorialFromGalactic(gal_l, gal_b)
        self.tree = _buildTree(ra, dec)
    def test_equatorialFromGalactic(self):

        lon=numpy.zeros((3),dtype=float)
        lat=numpy.zeros((3),dtype=float)

        lon[0]=3.452036693523627964e+00
        lat[0]=8.559512505657201897e-01
        lon[1]=2.455968474619387720e+00
        lat[1]=3.158563770667878468e-02
        lon[2]=2.829585540991265358e+00
        lat[2]=-6.510790587552289788e-01

        output=utils._equatorialFromGalactic(lon,lat)

        self.assertAlmostEqual(output[0][0],2.549091039839124218e+00,6)
        self.assertAlmostEqual(output[1][0],5.198752733024248895e-01,6)
        self.assertAlmostEqual(output[0][1],8.693375673649429425e-01,6)
        self.assertAlmostEqual(output[1][1],1.038086165642298164e+00,6)
        self.assertAlmostEqual(output[0][2],7.740864769302191473e-01,6)
        self.assertAlmostEqual(output[1][2],2.758053025017753179e-01,6)