Detector Frame (ligo.skymap.coordinates.detector)

Astropy coordinate frames to visualize triangulation rings from pairs of gravitational-wave detectors. These are useful for generating plots similar to Fig. 2 of the GW150914 localization and follow-up paper [1].

Example

from astropy.coordinates import EarthLocation
from astropy.time import Time
from ligo.skymap.coordinates import DetectorFrame
from ligo.skymap.io import read_sky_map
import ligo.skymap.plot
from matplotlib import pyplot as plt

# Download GW150914 localization
url = 'https://dcc.ligo.org/public/0122/P1500227/012/bayestar_gstlal_C01.fits.gz'
m, meta = ligo.skymap.io.read_sky_map(url)

# Plot sky map on an orthographic projection
fig = plt.figure(figsize=(5, 5))
ax = fig.add_subplot(
    111, projection='astro globe', center='130d -70d')
ax.imshow_hpx(m, cmap='cylon')

# Hide the original ('RA', 'Dec') ticks
for coord in ax.coords:
    coord.set_ticks_visible(False)
    coord.set_ticklabel_visible(False)

# Construct Hanford-Livingston detector frame at the time of the event
frame = DetectorFrame(site_1=EarthLocation.of_site('H1'),
                      site_2=EarthLocation.of_site('L1'),
                      obstime=Time(meta['gps_time'], format='gps'))

# Draw grid for detector frame
ax.get_coords_overlay(frame).grid()

(Source code, png, hires.png, pdf)

../_images/detector-1.png

References

1

LSC/Virgo et al., 2016. “Localization and Broadband Follow-up of the Gravitational-wave Transient GW150914.” ApJL 826, L13. doi:10.3847/2041-8205/826/1/L13

class ligo.skymap.coordinates.detector.DetectorFrame(*args, copy=True, representation_type=None, differential_type=None, **kwargs)[source] [edit on github]

Bases: astropy.coordinates.builtin_frames.ITRS

A coordinate frames to visualize triangulation rings from pairs of gravitational-wave detectors.