Exemple #1
0
def test_galactic_conversions():
    lon, lat = angles.from_degrees(067.4482), angles.from_degrees(19.2373)
    ra, dec = gal_to_eq(lon, lat)
    lon2, lat2 = eq_to_gal(ra, dec)
    print "vega galactic", angles.to_degrees(lon), angles.to_degrees(lat)
    print "vega equtorial", angles.to_degrees(ra), angles.to_degrees(dec)
    print "vega galactic", angles.to_degrees(lon2), angles.to_degrees(lat2)
    lon3, lat3 = eq_to_gal_quaternions(ra, dec)
    print "vega equtorial", angles.to_degrees(ra), angles.to_degrees(dec)
    print "vega galactic", angles.to_degrees(lon3), angles.to_degrees(lat3)
Exemple #2
0
def eq_to_gal(ra, dec):
    """
    expects dec between -pi/2 and pi/2
    compares to pyephem within 0.45 arcsec
    returns lon, lat in radians
    """
    alpha = galactic_north_equatorial[0]
    delta = galactic_north_equatorial[1]
    la = angles.from_degrees(122.932 - 90.0)
    b = arcsin(sin(dec) * sin(delta) + cos(dec) * cos(delta) * cos(ra - alpha))
    l = arctan2(
        sin(dec) * cos(delta) - cos(dec) * sin(delta) * cos(ra - alpha),
        cos(dec) * sin(ra - alpha)) + la
    l += 2.0 * pylab.pi * (l < 0)
    l = l % (2.0 * pylab.pi)
    return l, b
def run_test():
    nside = 512
    center = map(angles.from_degrees, [-92.0, -1.0])
    scale = 1.0
    fwhm = angles.from_arcmin(16.0)
    radius = angles.from_degrees(3.0)
    hit_map, signal_map = _generate_beam_map(nside, center, scale, fwhm, radius)

    guess_center = map(angles.from_degrees, [-91.5, -1.1])
    guess_fwhm = angles.from_arcmin(24.0)
    fit = fit_map(hit_map, signal_map, guess_center, guess_fwhm)
    print fit_string(fit)

    signal_map[hit_map == 0] = pylab.nan
    xsize = 1000
    reso_arcmin = angles.to_arcmin(radius*2.5) / float(xsize)
    #healpy.mollview(signal_map)
    healpy.gnomview(signal_map, rot=map(angles.to_degrees, center), xsize=xsize, reso=reso_arcmin)
    pylab.show()
Exemple #4
0
def gal_to_eq(l, b):
    """
    Inputs:
        l: galactic longitude
        b: galactic latitude
    Returns:
        ra, dec
    compares to pyephem within 0.45 arcsec
    """
    alpha = galactic_north_equatorial[0]
    delta = galactic_north_equatorial[1]
    la = angles.from_degrees(122.932 - 90.0)
    dec = arcsin(sin(b) * sin(delta) + cos(b) * cos(delta) * sin(l - la))
    ra = arctan2(
        cos(b) * cos(l - la),
        sin(b) * cos(delta) - cos(b) * sin(delta) * sin(l - la)) + alpha
    ra += 2.0 * pylab.pi * (ra < 0)
    ra = ra % (2.0 * pylab.pi)
    return ra, dec
Exemple #5
0
#! /usr/bin/env python

import os
import time
import pylab
from pylab import cos, sin, pi, arccos, arcsin, arctan2, sqrt, array, floor
from numpy import ndarray
from math import floor
from leap.lib.units import angles
from leap.lib.geometry import point_picking
from leap.lib.geometry import mollweide
from leap.lib.geometry import ebex_quaternion

galactic_north_equatorial = (angles.from_degrees(192.85948),
                             angles.from_degrees(27.12825))
galactic_center_equatorial = (angles.from_degrees(266.4049948010461),
                              angles.from_degrees(-28.93617396013869))


def eq_to_gal_quaternions(ra, dec, roll):
    if False:
        quat = [
            -0.196253758775, -0.483210685419, 0.699229740143, 0.488947509127
        ]
        rotation = ebex_quaternion.Quaternion(quat)
    if True:
        euler = [1.681402537745, -1.050488402394, 5.873385265060]
        rotation = ebex_quaternion.Quaternion(euler)
    attitude = ebex_quaternion.Quaternion([ra, dec, roll])
    attitude = rotation * attitude
    return attitude.equatorial