Lecturer: Leo Singer
Jupyter Notebook Author: Leo Singer, Dave Cook, & Cameron Hummels
This is a Jupyter notebook lesson taken from the GROWTH Winter School 2018. For other lessons and their accompanying lectures, please see: http://growth.caltech.edu/growth-astro-school-2018-resources.html
Learn how to use LIGO/Virgo localizations and match with galaxies
See GROWTH school webpage for detailed instructions on how to install these modules and packages. Nominally, you should be able to install the python modules with pip install <module>
. The external astromatic packages are easiest installed using package managers (e.g., rpm
, apt-get
).
None
First, some imports: Numpy, Matplotlib, Healpy, and parts of Astropy.
import astropy.utils.data
from matplotlib import pyplot as plt
import numpy as np
import healpy as hp
Here are some extra imports for the galaxy cross matching:
from astropy.table import Table, vstack, hstack, Column
import astropy.units as u
from astropy.coordinates import SkyCoord
import ligo.skymap.plot
from scipy.stats import norm
import scipy.stats
And configure Matplotlib to send plot output directly to the notebook:
%matplotlib inline
This section on using HEALPix localization files is adapted from the LIGO/Virgo Public Alerts User Guide.
Let's start by downloading a sample localization file from the User Guide. We could do this on the command line using curl
:
$ curl -O https://emfollow.docs.ligo.org/userguide/_static/bayestar.fits.gz
But after all, this is a Python lesson, so let's download the file using the handy astropy.utils.data.download_file
function from Astropy.
url = 'https://emfollow.docs.ligo.org/userguide/_static/bayestar.fits.gz'
filename = astropy.utils.data.download_file(url)
Next, let's read in the HEALPix data using Healpy. Note that by default, Healpy only reads the first column, which provides the 2D probability distribution on the sky.
prob = hp.read_map(filename)
NSIDE = 2048 ORDERING = NESTED in fits file INDXSCHM = IMPLICIT Ordering converted to RING
To get a quick look at a HEALPix data set, you can use the hp.mollview
function:
hp.mollview(prob)
What actually is stored in prob
?
prob
array([2.70726059e-66, 1.27374324e-66, 2.62611513e-67, ..., 2.04700874e-40, 1.05781210e-35, 4.44174764e-31])
It's a one-dimensional array! Yet it represents in 2D image. How does that work? HEALPix is a way to index equal-area regions on the unit sphere using integers.
To decode HEALPix indices, you need to know the resolution of the map, which is described by a parameter called nside
. nside
is the number of subdivisions of 12 base HEALPix tiles, so the relation between the length of a HEALPix array, npix
, and its resolution, nside
, is
The functions hp.npix2nside
and hp.nside2npix
convert between length and resolution.
npix = len(prob)
npix
50331648
nside = hp.npix2nside(npix)
nside
2048
The function hp.pix2ang
allow us to convert from (ra, dec) and HEALPix pixel index.
Note: by default, these functions return 'physics' spherical coordinates $(\theta, \phi)$ in radians, but you can switch to 'astronomy' spherical coordinates in degrees by passing the keyword argument lonlat=True
.
Let's look up the right asce3nsion and declination of pixel 123.
ipix = 123
ra, dec = hp.pix2ang(nside, ipix, lonlat=True)
ra, dec
(129.375, 89.81725848475484)
The function hp.ang2pix
does the opposite. Let's find the pixel that contains the point RA=194.95, Dec=27.98.
ra = 194.95
dec = 27.98
hp.ang2pix(nside, ra, dec, lonlat=True)
13361492
What is the most probable sky location? Just find the pixel with the maximum valuem, and then find its right ascension and declination.
ipix_max = np.argmax(prob)
ipix_max
32883013
hp.pix2ang(nside, ipix_max, lonlat=True)
(194.30419921875, -17.856895095545468)
#Imagine I have a t statistic with 3 degrees of freedom.
#Scipy provides a t distribution class that we can use to get values from
#the t statistic probability density function (PDF).
#As a start, we plot the PDF for a t statistic with 3 degrees of freedom:
# Make a t distribution object for t with 3 degrees of freedom
t_dist = scipy.stats.t(3)
# Plot the PDF
t_values = np.linspace(-4, 4, 1000)
plt.plot(t_values, t_dist.pdf(t_values))
plt.xlabel('t value')
plt.ylabel('probability for t value')
plt.show()
#The t distribution object t_dist can also give us the cumulative distribution function (CDF).
#The CDF gives the area under the curve of the PDF at and to the left of the given t value:
plt.plot(t_values, t_dist.cdf(t_values))
plt.xlabel('t value')
plt.ylabel('probability for t value <= t')
plt.title('CDF for t distribution')
plt.show()
#Say I have a t value x drawn from a t distribution with 20 degrees of freedom.
#The PDF gives the probability for given values of x. Because it is a probability density,
#the sum of the probabilities of all possible values for x: ∞<x<∞ must be 1.
#Therefore the total area under the PDF curve is 1, and the maximum value of the CDF is 1.
#The CDF gives us the area under the PDF curve at and to the left of a given t value x.
#Therefore it is the probability that we will observe a value x<=t if we sample a value x
#from a t distribution of (here).
# Show relationship of PDF and CDF for three example t values.
#give the students most of the code for these plots
example_values = (-1.5, 0, 1.5)
pdf_values = t_dist.pdf(t_values)
cdf_values = t_dist.cdf(t_values)
fill_color = (0, 0, 0, 0.1) # Light gray in RGBA format.
line_color = (0, 0, 0, 0.5) # Medium gray in RGBA format.
fig, axes = plt.subplots(2, len(example_values), figsize=(10, 6))
for i, x in enumerate(example_values):
cdf_ax, pdf_ax = axes[:, i]
cdf_ax.plot(t_values, cdf_values)
pdf_ax.plot(t_values, pdf_values)
# Fill area at and to the left of x.
pdf_ax.fill_between(t_values, pdf_values,
where=t_values <= x,
color=fill_color)
pd = t_dist.pdf(x) # Probability density at this value.
# Line showing position of x on x-axis of PDF plot.
pdf_ax.plot([x, x],
[0, pd], color=line_color)
cd = t_dist.cdf(x) # Cumulative distribution value for this x.
# Lines showing x and CDF value on CDF plot.
x_ax_min = cdf_ax.axis()[0] # x position of y axis on plot.
cdf_ax.plot([x, x, x_ax_min],
[0, cd, cd], color=line_color)
cdf_ax.set_title('x = {:.1f}, area = {:.2f}'.format(x, cd))
# Hide top and right axis lines and ticks to reduce clutter.
for ax in (cdf_ax, pdf_ax):
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')
#For example, say I have drawn a t value x at random from a t distribution
#with 20 degrees of freedom. The probability that x<=1.5 is:
# Area of PDF at and to the left of 1.5
t_dist.cdf(1.5)
#>0.9253...
#The total area under the PDF is 1, and the maximum value for the CDF is 1.
#Therefore the area of the PDF to the right of 1.5 must be:
# Area of PDF to the right of 1.5
1 - t_dist.cdf(1.5)
#>0.0746...
#This is the probability that our t value x will be >1.5.
#In general, when we sample a value x at random from a t distribution,
#the probability that x>q is given by:
#ℙ(x>q)=1−CDF(q)
#where CDF is the cumulative distribution function for a t value.
#have the students fill out the example for 90% or something
0.11529193262241144
LIGO/Virgo localization files for compact binary mergers include directional estimates of distance. The distance information is stored in three additional columns. To get the distance estimates, we need to ask for all four columns: PROB
, DISTMU
, DISTSIGMA
, and DISTNORM
.
url = 'https://dcc.ligo.org/public/0146/G1701985/001/bayestar.fits.gz'
filename = astropy.utils.data.download_file(url)
prob, distmu, distsigma, distnorm = hp.read_map(
filename, field=[0, 1, 2, 3])
npix = len(prob)
nside = hp.npix2nside(npix)
pixarea = hp.nside2pixarea(nside)
NSIDE = 2048 ORDERING = NESTED in fits file INDXSCHM = IMPLICIT Ordering converted to RING Ordering converted to RING Ordering converted to RING Ordering converted to RING
#load in CLU catalog
clu=Table.read('data/CLU_NEDonly.fits')
clucoord=SkyCoord(ra=clu['RA']*u.deg,dec=clu['DEC']*u.deg)
nclu=np.size(clu)
#sky localization colmns to the galaxy catalog: probability density and p-value per volume and per area.
probdencol=Column(np.zeros(nclu,dtype='f4'),name='dP_dV')
probcol=Column(np.zeros(nclu,dtype='f4'),name='P')
probdenAcol=Column(np.zeros(nclu,dtype='f4'),name='dP_dA')
probAcol=Column(np.zeros(nclu,dtype='f4'),name='P_A')
clu.add_columns([probdencol,probcol,probdenAcol,probAcol])
clu
CLUID | ID_OTHER | NAME | RA | DEC | DM | DM_KIN | BTC | A | RATIO_B2A | PA | TYPE | M21 | RA_NED | DEC_NED | Z | ZERR | A_NED | B2A_NED | PA_NED | TYPE_NED | SOURCE | B_T | B_TERR | B_R25 | B_R25ERR | FUV_1 | FUVERR_1 | NUV_1 | NUVERR_1 | RA_SDSS | DEC_SDSS | PETROMAG_U | PETROMAG_G | PETROMAG_R | PETROMAG_I | PETROMAG_Z | PETROMAGERR_U | PETROMAGERR_G | PETROMAGERR_R | PETROMAGERR_I | PETROMAGERR_Z | MODELMAG_U | MODELMAG_G | MODELMAG_R | MODELMAG_I | MODELMAG_Z | MODELMAGERR_U | MODELMAGERR_G | MODELMAGERR_R | MODELMAGERR_I | MODELMAGERR_Z | DESIGNATION_WISE | RA_WISE_1 | DEC_WISE_1 | W1MPRO | W1SIGMPRO | W1SNR | W2MPRO | W2SIGMPRO | W2SNR | W3MPRO | W3SIGMPRO | W3SNR | W4MPRO | W4SIGMPRO | W4SNR | DESIGNATION_2MASS | RA_2MASS | DEC_2MASS | R_K20FE | J_M_K20FE | J_MSIG_K20FE | J_FLG_K20FE | H_M_K20FE | H_MSIG_K20FE | H_FLG_K20FE | K_M_K20FE | K_MSIG_K20FE | K_FLG_K20FE | COORD_SOURCE | BTC_SOURCE | SIZE_SOURCE | DM_SOURCE | DM_KIN_OTHER | DM_RANGE | Z_SOURCE | DM_FLAG | RA_GALEX | DEC_GALEX | NUV_2 | NUVERR_2 | FUV_2 | FUVERR_2 | FLAGS_FUV | RA_WISE_2 | DEC_WISE_2 | WISE1 | WISE1ERR | WISE4 | WISE4ERR | FUV | NUV | FUVERR | NUVERR | MAGB | LUM_B | SFR_FUV | MSTAR | DISTMPC | HAGAL | HACAND | dP_dV | P | dP_dA | P_A |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
int64 | bytes40 | bytes30 | float64 | float64 | int64 | float64 | float64 | float64 | float64 | float64 | bytes40 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | bytes3 | bytes12 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | bytes19 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | float64 | bytes16 | float64 | float64 | float64 | float64 | float64 | int64 | float64 | float64 | int64 | float64 | float64 | int64 | bytes3 | bytes17 | bytes17 | bytes17 | bytes47 | float64 | bytes3 | int64 | float64 | float64 | float32 | float32 | float32 | float32 | int16 | float64 | float64 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float64 | float64 | float64 | float32 | int16 | int16 | float32 | float32 | float32 | float32 |
231192 | N/A | 2dFGRS S805Z417 | 0.00162 | -56.14106 | 999999 | 33.18027481140323 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 0.00162 | -56.14106 | 0.010381646454334259 | 0.000297 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 20.3419 | 0.158386 | 20.0365 | 0.085881 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J000000.26-560827.5 | 0.0011127 | -56.1409872 | 15.983 | 0.046 | 23.7 | 15.918 | 0.124 | 8.7 | 12.558 | 1e+20 | 0.3 | 9.002 | 1e+20 | -0.4 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 33.0906 | 0.08967481140322775 | NED | 0 | 0.0026155762934943604 | -56.14074783344139 | 20.0365 | 0.08588098 | 20.34193 | 0.15838555 | 0 | 0.0011127 | -56.1409872 | 15.983 | 0.046 | 9.002 | 0.5 | 20.3419 | 20.0365 | 0.158386 | nan | nan | nan | 0.01642708362651844 | 79255697.86248614 | 43.25686 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231193 | 472509 | PGC597360 | 0.0068 | -39.51309 | 999999 | 33.31510418687501 | 17.84 | 1e+20 | 0.812831 | 75.0 | N/A | 1e+20 | 0.0068 | -39.51309 | 0.011046688072383404 | 0.000119 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | clu.v2 | clu.v2 | nedz | 33.2254/33.1800 | 0.13510418687501158 | NED | 0 | 0.007313433062165586 | -39.51229846299115 | 20.24918 | 0.11943007 | 20.61789 | 0.20752673 | 0 | 0.0 | 0.0 | nan | 0.0 | nan | 0.0 | 20.61789 | 20.24918 | 0.20752673 | nan | 17.84 | 5.307357561598291e+41 | nan | nan | 46.027866 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231195 | 497360 | PGC6 | 0.00905 | 15.88188 | 999999 | 34.66566288835784 | 15.08 | 1e+20 | 0.707946 | 87.6 | -0.30000000 | 9.29 | 0.00905 | 15.88188 | 0.020575188100337982 | 3.3e-05 | 19.0 | 0.7 | 105.0 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 17.8948 | 0.0523065 | 17.5015 | 0.0242858 | 0.0087450043021704 | 15.881712715063768 | 16.577778 | 15.449148 | 14.92187 | 14.651343 | 14.402801 | 0.02248089 | 0.006146703 | 0.004597746 | 0.0056472262 | 0.01087785 | 16.576433 | 15.463157 | 14.917557 | 14.641056 | 14.385708 | 0.013051505 | 0.0029402173 | 0.0027033475 | 0.0027071044 | 0.0052141347 | J000002.18+155253.8 | 0.0091004 | 15.8816263 | 12.178 | 0.023 | 46.6 | 12.092 | 0.023 | 48.1 | 8.11 | 0.021 | 52.5 | 6.019 | 0.051 | 21.5 | 00000214+1552539 | 0.008953 | 15.88166 | 9.5 | 13.327 | 0.039 | 0 | 12.584 | 0.056 | 0 | 12.31 | 0.067 | 0 | ned | clu.v2+a.40 | clu.v2+a.40 | nedz | 34.6900/34.5760 | 0.11399999999999721 | NED | 0 | 0.009101125268444936 | 15.88150586173983 | 17.501505 | 0.024285816 | 17.894829 | 0.052306544 | 0 | 0.0091004 | 15.8816263 | 12.178 | 0.023 | 6.019 | 0.051 | 17.8948 | 17.5015 | 0.0523065 | nan | 15.08 | 2.339386031800773e+43 | 0.8799441014562206 | 10355846084.142971 | 85.72995 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231196 | 474856 | PGC750506 | 0.00996 | -27.74194 | 999999 | 35.290736223148464 | 18.31 | 1e+20 | 0.47863 | 164.0 | N/A | 1e+20 | 0.00996 | -27.74194 | 0.02743838168680668 | 0.000297 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J000002.36-274430.9 | 0.0098518 | -27.7419343 | 15.268 | 0.04 | 26.8 | 15.156 | 0.091 | 12.0 | 12.173 | 1e+20 | 1.3 | 8.937 | 1e+20 | -0.4 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | clu.v2 | clu.v2 | nedz | 35.2500/35.2011 | 0.08963622314846731 | NED | 0 | 0.009707923128452632 | -27.74203484167737 | 21.167217 | 0.2780638 | 21.461079 | 0.43639275 | 0 | 0.0098518 | -27.7419343 | 15.268 | 0.04 | 8.937 | 0.5 | 21.461079 | 21.167217 | 0.43639275 | nan | 18.31 | 2.1238871411927357e+42 | 0.09567491151147908 | 1069583801.8125993 | 114.32659 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231200 | 528573 | PGC675391 | 0.01362 | -33.50967 | 999999 | 34.967307122577985 | 18.57 | 1e+20 | 0.691831 | 144.0 | N/A | 1e+20 | 0.01362 | -33.50967 | 0.023641372099518776 | 0.000297 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 20.6604 | 0.151743 | 20.0916 | 0.0766759 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J000003.20-333033.7 | 0.0133729 | -33.5093697 | 16.651 | 0.083 | 13.1 | 17.303 | 0.515 | 2.1 | 12.285 | 1e+20 | 0.5 | 8.387 | 1e+20 | 1.5 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | clu.v2 | clu.v2 | nedz | 34.9100/34.8776 | 0.08970712257798397 | NED | 0 | 0.013499105611231244 | -33.50929034159693 | 20.0916 | 0.076675855 | 20.66037 | 0.15174313 | 0 | 0.0133729 | -33.5093697 | 16.651 | 0.083 | 8.387 | 0.5 | 20.6604 | 20.0916 | 0.151743 | nan | 18.57 | 1.2409655175467712e+42 | 0.12211077330362756 | 222148532.98071244 | 98.505714 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231206 | 534792 | PGC1124039 | 0.02304 | -1.2155 | 999999 | 35.5743 | 17.59 | 1e+20 | 0.74131 | 86.9 | N/A | 1e+20 | 0.02304 | -1.2155 | 0.031265921890735626 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | UvS | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 0.023088624282308956 | -1.2163740381520132 | 18.622143 | 17.70726 | 17.170647 | 17.022192 | 16.629549 | 0.09590449 | 0.032583345 | 0.016063323 | 0.028843954 | 0.06964935 | 18.64337 | 17.640322 | 17.157835 | 16.921055 | 16.708097 | 0.04392944 | 0.00931541 | 0.00924576 | 0.011089811 | 0.032711327 | J000005.57-011257.6 | 0.0232444 | -1.2160236 | 15.292 | 0.04 | 27.1 | 15.108 | 0.089 | 12.2 | 12.398 | 0.467 | 2.3 | 8.554 | 1e+20 | 0.9 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | clu.v2 | clu.v2 | ned_20121120 | 35.6600 | 0.08569999999999567 | N/A | 0 | 0.023040469206642218 | -1.215497509106603 | 18.921648 | 0.036074016 | 19.057737 | 0.05938698 | 0 | 0.0232444 | -1.2160236 | 15.292 | 0.04 | 8.554 | 0.5 | 19.057737 | 18.921648 | 0.05938698 | nan | 17.59 | 5.3524990050153495e+42 | 0.309516716851695 | 1358440700.9837348 | 130.27467 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231207 | N/A | USGC U001 | 0.02333 | 26.19028 | 999999 | 35.135299907836774 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 0.02333 | 26.19028 | 0.025542961433529854 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | GTr | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 0.01692596609927932 | 26.196762954020187 | 24.768509 | 23.120878 | 22.396648 | 21.952524 | 21.49728 | 2.7581525 | 0.592276 | 0.47519115 | 0.6966513 | 1.0864004 | 24.739393 | 24.278786 | 22.110594 | 21.25199 | 20.561897 | 1.2394944 | 0.71136296 | 0.17068547 | 0.11303824 | 0.24993625 | J000005.21+261122.0 | 0.0217163 | 26.1894565 | 17.719 | 0.213 | 5.1 | 16.662 | 1e+20 | 1.1 | 12.088 | 0.489 | 2.2 | 8.457 | 1e+20 | -1.0 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 35.0456 | 0.08969990783677417 | NED | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 0.0217163 | 26.1894565 | 17.719 | 0.213 | 8.457 | 0.5 | nan | nan | 0.0 | nan | 25.25602 | 3.0658317970055924e+39 | nan | 96970633.79079935 | 106.429 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231208 | 231209 | DUKST 349-064 | 0.02492 | -35.65822 | 999999 | 35.42525964272521 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 0.02492 | -35.65822 | 0.02919195219874382 | 0.000213 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 18.759 | 0.059152 | 18.4443 | 0.015666 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J000006.03-353930.0 | 0.0251585 | -35.6583444 | 14.699 | 0.046 | 23.6 | 14.574 | 0.06 | 18.1 | 11.17 | 0.133 | 8.2 | 8.711 | 1e+20 | 0.6 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 35.3356/35.2959 | 0.1293596427252055 | NED | 0 | 0.024983397999790213 | -35.65817858088503 | 18.421165 | 0.029310137 | 18.758995 | 0.059152007 | 0 | 0.0251585 | -35.6583444 | 14.699 | 0.046 | 8.711 | 0.5 | 18.759 | 18.4443 | 0.059152 | nan | nan | nan | 0.29533912725514383 | 2044675021.7072265 | 121.63314 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231210 | N/A | UGC 12890 | 0.02931 | 8.27918 | 999999 | 36.097222767584576 | nan | 1e+20 | 1e+20 | 1e+20 | E | 1e+20 | 0.02931 | 8.27918 | 0.0397791750729084 | -999.0 | 60.0 | 0.9 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 20.7861 | 0.26544 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J000007.03+081645.1 | 0.02933 | 8.27922 | 11.521 | 0.023 | 48.1 | 11.603 | 0.022 | 48.6 | 10.484 | 0.126 | 8.6 | 8.638 | 1e+20 | 0.3 | 00000701+0816448 | 0.029225 | 8.279118 | 23.6 | 11.862 | 0.032 | 6 | 11.101 | 0.043 | 6 | 10.779 | 0.059 | 6 | ned | N/A | N/A | nedz | 36.0075 | 0.08972276758457554 | NED | 0 | 0.02921978281548401 | 8.279352058935999 | 20.786112 | 0.2654403 | 21.59187 | 0.58334243 | 2 | 0.02933 | 8.27922 | 11.521 | 0.023 | 8.638 | 0.5 | 21.59187 | 20.7861 | 0.58334243 | nan | nan | nan | 0.2528709314336393 | 70894043111.6906 | 165.74657 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
231213 | 497361 | PGC12 | 0.036 | -6.374 | 999999 | 34.85473225076323 | 14.03 | 0.0504444 | 0.3 | 170.0 | 1.2000000 | 1e+20 | 0.036 | -6.374 | 0.022446969524025917 | 2.7e-05 | 52.6 | 0.3 | 170.0 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 17.7113 | 0.06781 | 17.2968 | 0.0368406 | 0.03612959593030496 | -6.3740135733479715 | 16.056974 | 14.789597 | 14.14654 | 13.783241 | 13.4785385 | 0.03778253 | 0.01346068 | 0.007269824 | 0.008085571 | 0.019484887 | 16.277746 | 14.8961735 | 14.141832 | 13.741093 | 13.397272 | 0.017506786 | 0.0027109608 | 0.0024801516 | 0.002435664 | 0.004228183 | J000008.65-062226.4 | 0.036046 | -6.3740184 | 11.946 | 0.023 | 48.2 | 11.901 | 0.026 | 42.5 | 8.529 | 0.027 | 40.5 | 6.66 | 0.096 | 11.3 | 00000865-0622263 | 0.036053 | -6.373999 | 26.3 | 12.274 | 0.027 | 0 | 11.524 | 0.036 | 0 | 11.24 | 0.059 | 0 | ned | clu.v2 | ned_20121120 | nedz | 34.8400/34.7651 | 0.08963225076323056 | NED | 0 | 0.03616868643439375 | -6.3742221145065905 | 16.809467 | 0.034529764 | 17.811703 | 0.091289304 | 0 | 0.036046 | -6.3740184 | 11.946 | 0.023 | 6.66 | 0.096 | 17.7113 | 17.2968 | 0.06781 | nan | 14.03 | 7.323686388808671e+43 | 0.72932063171949 | 15262072350.893213 | 93.52904 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
654837 | N/A | GALEXASC J234305.34-552311.9 | 355.77191 | -55.38668 | 999999 | 34.663817920809926 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 355.77191 | -55.38668 | 0.020557714626193047 | -999.0 | 1e+20 | 1e+20 | 1e+20 | Vis | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 21.5727 | 0.175992 | 20.9172 | 0.0428597 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J234305.38-552312.4 | 355.7724516 | -55.3867942 | 16.163 | 0.048 | 22.4 | 15.103 | 0.062 | 17.6 | 12.333 | 0.419 | 2.6 | 8.266 | 1e+20 | 1.0 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 34.6340 | 0.029817920809925624 | NED | 0 | 355.7721764234055 | -55.386790426256475 | 20.837013 | 0.14891371 | 21.928604 | 0.41301927 | 0 | 355.7724516 | -55.3867942 | 16.163 | 0.048 | 8.266 | 0.5 | 21.5727 | 20.9172 | 0.175992 | nan | nan | nan | 0.09256044687004351 | 263298097.96738377 | 85.65714 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654838 | N/A | GALEXASC J234344.33-545403.7 | 355.93484 | -54.90119 | 999999 | 33.15866794249002 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 355.93484 | -54.90119 | 0.010278857313096523 | -999.0 | 1e+20 | 1e+20 | 1e+20 | Vis | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 20.2137 | 0.0923341 | 19.2148 | 0.0165194 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J234344.41-545403.5 | 355.9350627 | -54.9009921 | 15.047 | 0.032 | 33.4 | 13.856 | 0.034 | 32.2 | 10.956 | 0.127 | 8.5 | 8.558 | 0.381 | 2.9 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 33.1290 | 0.029667942490021915 | NED | 0 | 355.9347096300996 | -54.90104097865211 | 19.258 | 0.03489575 | 20.213696 | 0.09233413 | 0 | 355.9350627 | -54.9009921 | 15.047 | 0.032 | 8.558 | 0.381 | 20.2137 | 19.2148 | 0.0923341 | nan | nan | nan | 0.022261448517084066 | 183987110.18899453 | 42.82857 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654842 | N/A | SDSS J234403.01+003122.6 | 356.01255 | 0.52295 | 999999 | 34.95860381469648 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 356.01255 | 0.52295 | 0.02354680746793747 | 1e+20 | 3.35 | 0.97 | 122.0 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 356.0139539508061 | 0.5236199334376925 | 22.002316 | 21.429516 | 21.681383 | 22.851006 | 22.826971 | 0.31207877 | 0.2319117 | 0.35782987 | 1.2027458 | 1.9568099 | 21.84764 | 21.227228 | 21.51647 | 22.612194 | 22.826908 | 0.1559119 | 0.051205125 | 0.08500925 | 0.35839838 | 0.7732769 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 34.9290 | 0.02960381469647899 | NED | 0 | 356.0112009414098 | 0.521345038803095 | 17.640099 | 0.028266108 | 18.125467 | 0.046273403 | 3 | 0.0 | 0.0 | nan | 0.0 | nan | 0.0 | 18.125467 | 17.640099 | 0.046273403 | nan | 21.013287 | 1.2970715057836036e+41 | nan | nan | 98.111694 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654845 | N/A | GALEXASC J234414.08-364635.4 | 356.05836 | -36.77655 | 999999 | 32.115015347041364 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 356.05836 | -36.77655 | 0.006356445141136646 | 1.3e-05 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 18.2618 | 0.0548341 | 18.1898 | 0.032197 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J234414.03-364634.7 | 356.0584841 | -36.7763087 | 15.055 | 0.036 | 30.5 | 14.779 | 0.061 | 17.7 | 12.221 | 1e+20 | 1.2 | 8.267 | 1e+20 | 1.6 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 32.0860 | 0.029015347041365658 | NED | 0 | 356.0586949332161 | -36.77650913524038 | 18.189764 | 0.03219704 | 18.261755 | 0.054834068 | 0 | 356.0584841 | -36.7763087 | 15.055 | 0.036 | 8.267 | 0.5 | 18.2618 | 18.1898 | 0.0548341 | nan | nan | nan | 0.02172434930589179 | 69843546.55789396 | 26.48519 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654864 | N/A | 2MASX J23454008+0144274 | 356.41704 | 1.74092 | 999999 | 35.38770052038791 | 16.37 | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 356.41704 | 1.74092 | 0.028691373765468597 | 1e+20 | 15.4 | 0.7 | 165.0 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 18.696 | 0.0802307 | 18.4148 | 0.0428454 | 356.41704892826624 | 1.7409763375580058 | 17.289717 | 16.204643 | 15.699399 | 15.397949 | 15.193232 | 0.040578842 | 0.0064299214 | 0.0059101963 | 0.007023301 | 0.020132482 | 17.353514 | 16.160765 | 15.659925 | 15.342599 | 15.128931 | 0.022781473 | 0.0041390643 | 0.003802334 | 0.0041306866 | 0.010281904 | J234540.10+014427.3 | 356.4171163 | 1.7409288 | 14.073 | 0.03 | 36.2 | 13.89 | 0.046 | 23.4 | 10.586 | 0.103 | 10.5 | 8.019 | 1e+20 | 1.9 | 23454008+0144274 | 356.417023 | 1.740959 | 7.7 | 14.836 | 0.086 | 0 | 14.198 | 0.114 | 0 | 14.084 | 0.168 | 0 | ned | NED_20150113 | N/A | nedz | 35.3580 | 0.029700520387912377 | NED | 0 | 356.41751813701933 | 1.7412708496574796 | 18.41479 | 0.04284543 | 18.696003 | 0.08023068 | 0 | 356.4171163 | 1.7409288 | 14.073 | 0.03 | 8.019 | 0.5 | 18.696 | 18.4148 | 0.0802307 | nan | 16.37 | 1.3864898197522259e+43 | 0.3946661704446021 | 3515610064.078043 | 119.54739 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654880 | N/A | AGC 331333 | 356.75349 | 27.2631 | 999999 | 35.53731436266381 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 356.75349 | 27.2631 | 0.030737893655896187 | 0.00032 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 35.5080 | 0.02931436266380416 | NED | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 356.75338 | 27.2609781 | 16.677 | 0.085 | 8.802 | 0.5 | nan | nan | 0.0 | nan | nan | nan | nan | 366645225.4569402 | 128.07455 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654908 | N/A | GALEXASC J235033.20-363303.2 | 357.63789 | -36.551 | 999999 | 32.45496002982655 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 357.63789 | -36.551 | 0.00743366964161396 | 7e-06 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 18.381 | 0.0657539 | 18.1517 | 0.0366478 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J235033.13-363301.7 | 357.6380696 | -36.5504848 | 15.104 | 0.034 | 32.1 | 15.138 | 0.075 | 14.4 | 12.231 | 1e+20 | 0.6 | 8.345 | 1e+20 | 1.8 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 32.4260 | 0.02896002982654977 | NED | 0 | 357.6383747584509 | -36.55089622922728 | 18.151688 | 0.036647823 | 18.381006 | 0.065753885 | 0 | 357.6380696 | -36.5504848 | 15.104 | 0.034 | 8.345 | 0.5 | 18.381 | 18.1517 | 0.0657539 | nan | nan | nan | 0.027010930336106805 | 91307044.69053547 | 30.973623 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654916 | N/A | 2dFGRS S274Z118 | 357.82371 | -29.26367 | 999999 | 26.653517964170113 | 19.13 | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 357.82371 | -29.26367 | 0.0005139427958056331 | 0.000213 | 1e+20 | 1e+20 | 1e+20 | Vis | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J235117.70-291550.4 | 357.8237579 | -29.2640179 | 13.502 | 0.025 | 42.8 | 13.381 | 0.03 | 35.7 | 12.055 | 1e+20 | 1.9 | 8.903 | 1e+20 | 0.0 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | NED_20150113 | N/A | nedz | 26.6240 | 0.029517964170114652 | NED | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 357.8237579 | -29.2640179 | 13.502 | 0.025 | 8.903 | 0.5 | nan | nan | 0.0 | nan | 19.13 | 3.501418754522525e+38 | nan | 1908655.066432376 | 2.1414285 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654960 | N/A | SNF 20080706-004 HOST | 358.78238 | 7.68939 | 999999 | 36.14385126737829 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 358.78238 | 7.68939 | 0.04064260423183441 | 5e-05 | 1e+20 | 1e+20 | 1e+20 | G | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | nan | nan | nan | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | J235507.69+074122.7 | 358.7820831 | 7.6896431 | 15.167 | 0.038 | 28.6 | 15.069 | 0.09 | 12.0 | 12.252 | 0.399 | 2.7 | 8.905 | 1e+20 | -1.3 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 36.1140 | 0.029851267378290913 | NED | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 358.7820831 | 7.6896431 | 15.167 | 0.038 | 8.905 | 0.5 | nan | nan | 0.0 | nan | nan | nan | nan | 2575495771.518145 | 169.34418 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
654995 | N/A | SDSS-II SN 03674 | 359.79162 | 0.16298 | 999999 | 35.8790081642414 | nan | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 359.79162 | 0.16298 | 0.035976000130176544 | -999.0 | 1e+20 | 1e+20 | 1e+20 | Vis | NED_20161120 | nan | 1e+20 | nan | 1e+20 | 23.0813 | 0.204356 | 23.7041 | 0.331849 | 359.7915661437215 | 0.16302375539816782 | 22.24744 | 22.667065 | 22.499533 | 22.49364 | 20.742676 | 0.482771 | 0.3239759 | 0.52071774 | 0.64307976 | 0.5393787 | 23.474237 | 22.784636 | 22.53733 | 23.146477 | 22.0159 | 0.52307624 | 0.14246686 | 0.16267288 | 0.37717208 | 0.53411627 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | N/A | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | 1e+20 | 1e+20 | 1 | ned | N/A | N/A | nedz | 35.8500 | 0.029008164241396628 | NED | 0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 359.7889689 | 0.1631953 | 16.093 | 0.062 | 8.735 | 0.5 | 23.0813 | 23.7041 | nan | nan | 22.84694 | 5.593250283121446e+40 | 0.17582424577163125 | 860049955.2722148 | 149.9 | 0 | 0 | 0.0 | 0.0 | 0.0 | 0.0 |
#get coord of max prob density for plotting purposes
#ipix_max=np.where(prob == np.max(prob))
ipix_max = np.argmax(prob)
ra_max, dec_max = hp.pix2ang(nside, ipix_max, lonlat=True)
center = SkyCoord(ra=ra_max*u.deg,dec=dec_max*u.deg)
center
<SkyCoord (ICRS): (ra, dec) in deg (194.30419922, -17.8568951)>
#plot up the sky localization and overplot the galaxies
ax = plt.axes(
[0.05, 0.05, 0.9, 0.9],
projection='astro globe',
center=center)
ax.grid()
ax.imshow_hpx(filename, cmap='cylon')
ax.plot(
center.ra.deg, center.dec.deg,
transform=ax.get_transform('world'),
marker=ligo.skymap.plot.reticle(inner=0,outer=1),
markersize=10,
markeredgewidth=2)
/home/chummels/miniconda3/lib/python3.7/site-packages/astropy_healpix/core.py:519: RuntimeWarning: invalid value encountered in bilinear_interpolation_weights result = _core.bilinear_interpolation_weights(lon, lat, nside) /home/chummels/miniconda3/lib/python3.7/site-packages/astropy_healpix/core.py:484: RuntimeWarning: invalid value encountered in ring_to_nested return _core.ring_to_nested(ring_index, nside)
[<matplotlib.lines.Line2D at 0x7ffb973f0c18>]
/home/chummels/miniconda3/lib/python3.7/site-packages/astropy/visualization/wcsaxes/grid_paths.py:73: RuntimeWarning: invalid value encountered in greater discontinuous = step[1:] > DISCONT_FACTOR * step[:-1] /home/chummels/miniconda3/lib/python3.7/site-packages/astropy/visualization/wcsaxes/grid_paths.py:73: RuntimeWarning: invalid value encountered in greater discontinuous = step[1:] > DISCONT_FACTOR * step[:-1] /home/chummels/miniconda3/lib/python3.7/site-packages/astropy/visualization/wcsaxes/grid_paths.py:73: RuntimeWarning: invalid value encountered in greater discontinuous = step[1:] > DISCONT_FACTOR * step[:-1] /home/chummels/miniconda3/lib/python3.7/site-packages/astropy/visualization/wcsaxes/grid_paths.py:73: RuntimeWarning: invalid value encountered in greater discontinuous = step[1:] > DISCONT_FACTOR * step[:-1]
#calc probability density per area on the sky for each galaxy
dp_dA=prob[ipix]/pixarea
clu['dP_dA']=dp_dA
#probability along radial distance
dp_dr=clu['DISTMPC']**2 * distnorm[ipix] * norm(distmu[ipix],distsigma[ipix]).pdf(clu['DISTMPC'])
#calc probability density per volume for each galaxy
dp_dV=prob[ipix] * distnorm[ipix] * norm(distmu[ipix],distsigma[ipix]).pdf(clu['DISTMPC'])/pixarea
clu['dP_dV']=dp_dV
#use normalized cumulative dist function to calculate Volume P-value for each galaxy
clu.sort('dP_dV')
clu.reverse()
cum_sort=np.cumsum(clu['dP_dV'])
cumnorm_sort=cum_sort/np.max(cum_sort)
clu['P']=cumnorm_sort
#ID galaxies inside the 90% prob by volume
icut90=np.where(clu['P'] <= 0.9)
clucut90=clu[icut90]
clucut90coord=SkyCoord(ra=clucut90['RA']*u.deg,dec=clucut90['DEC']*u.deg)
print('# of galaxies in 90%% volume = %i' %(np.size(icut90)))
#sort by WISE 1 Luminosity (proportional to galaxy stellar mass)
clucut90.sort('P')
clucut90.reverse()
#then print list of prioritized galaxies
clucut90['NAME','dP_dV','P'].pprint(max_lines=20)
# of galaxies in 90% volume = 3047 NAME dP_dV P ------------------------ ---------------------- ---------------------- PGC47394 6.317992998346537e-64 0.899883254360382 PGC82565 6.317992998346537e-64 0.8997641503042281 PGC49468 6.317992998346537e-64 0.8996450462480743 PGC37565 6.317992998346537e-64 0.8995259421919205 PGC70582 6.317992998346537e-64 0.8994068381357666 SDSS_J124305.87+242703.8 6.334407010119384e-64 0.8992877340796128 MCG -02-05-043 6.334407010119384e-64 0.899168320593648 PGC40483 6.36402347040082e-64 0.8990489071076831 ... ... ... UGCA 339 2.2638103395560794e-63 0.0034142113450347576 HIPASS J1008-33 2.2638525648239792e-63 0.002987447665691437 [TSK2008] 0687 2.263866444423913e-63 0.002560676026224261 SDSS J105200.35+274532.7 2.2638875317927865e-63 0.0021339017702352706 AGC748687 2.2639016072753102e-63 0.0017071235389472146 PGC26218 2.2639016072753102e-63 0.001280342654210411 PGC43746 2.2639016072753102e-63 0.0008535617694736073 PGC32259 2.2639016072753102e-63 0.00042678088473680365 Length = 3047 rows
Following the examples above, find galaxies in 90% prob contour for GW170817, then sort by Wise1 luminosity.
Information on WISE zeropoints and flux transformations http://wise2.ipac.caltech.edu/docs/release/allsky/expsup/sec4_4h.html
#load in CLU catalog
clu=Table.read('data/CLU_NEDonly.fits')
#clu=Table.read('data/CLU_20170106_galexwise_DaveUpdate.fits')
clucoord=SkyCoord(ra=clu['RA']*u.deg,dec=clu['DEC']*u.deg)
nclu=np.size(clu)
#sky localization colmns to the galaxy catalog: probability density and p-value per volume and per area.
probdencol=Column(np.zeros(nclu,dtype='f4'),name='dP_dV')
probcol=Column(np.zeros(nclu,dtype='f4'),name='P')
probdenAcol=Column(np.zeros(nclu,dtype='f4'),name='dP_dA')
probAcol=Column(np.zeros(nclu,dtype='f4'),name='P_A')
clu.add_columns([probdencol,probcol,probdenAcol,probAcol])
#load in healpix map
prob,distmu,distsigma,distnorm=hp.read_map('data/GW170817_prelim.fits.gz',field=[0,1,2,3],dtype=('f8','f8','f8','f8'))
npix=len(prob)
nside=hp.npix2nside(npix)
pixarea=hp.nside2pixarea(nside)
#get coord of max prob density for plotting purposes
#ipix_max=np.where(prob == np.max(prob))
ipix_max = np.argmax(prob)
theta_max, phi_max = hp.pix2ang(nside, ipix_max)
ra_max = np.rad2deg(phi_max)
dec_max = np.rad2deg(0.5 * np.pi - theta_max)
center = SkyCoord(ra=ra_max*u.deg,dec=dec_max*u.deg)
print(center)
#calc hp index for each galaxy
theta=0.5 * np.pi - clucoord.dec.to('rad').value
phi=clucoord.ra.to('rad').value
ipix=hp.ang2pix(nside,theta,phi)
#calc probability density per volume for each galaxy
dp_dV=prob[ipix] * distnorm[ipix] * norm(distmu[ipix],distsigma[ipix]).pdf(clu['DISTMPC'])/pixarea
clu['dP_dV']=dp_dV
#use normalized cumulative dist function to calculate Volume P-value for each galaxy
clu.sort('dP_dV')
clu.reverse()
cum_sort=np.cumsum(clu['dP_dV'])
cumnorm_sort=cum_sort/np.max(cum_sort)
clu['P']=cumnorm_sort
#ID galaxies inside the 90% prob by volume
icut90=np.where(clu['P'] <= 0.9)
clucut90=clu[icut90]
clucut90coord=SkyCoord(ra=clucut90['RA']*u.deg,dec=clucut90['DEC']*u.deg)
print('# of galaxies in 90%% volume = %i' %(np.size(icut90)))
#sort the galaxies by WISE band 1 luminosity,then print list of prioritized galaxies
W1lumcol=Column(np.zeros(nclu,dtype='f8'),name='LumW1')
clu.add_column(W1lumcol)
#constants needed
F0=309.540
clight=2.99792458e18 #Angstoms/sec
lamW1=33526. #Angtroms
fluxJyW1=F0*10**(-0.4*clucut90['W1MPRO']) #in Jy
fluxdenW1=fluxJyW1*1e-23 #erg/s/cm^2/Hz
freqW1=clight/lamW1
#distcm=n4*np.pi*(cp.float128(lucut90['DISTMPC'])*1.086e24)**2)
clucut90['LumW1']=fluxdenW1 * freqW1 * 4*np.pi*(np.float128(clucut90['DISTMPC'])*1.086e24)**2
#sort by WISE 1 Luminosity (proportional to galaxy stellar mass)
clucut90.sort('LumW1')
clucut90.reverse()
#then print list of prioritized galaxies
clucut90['NAME','LumW1','dP_dV','P'].pprint(max_lines=20)
NSIDE = 1024 ORDERING = NESTED in fits file INDXSCHM = IMPLICIT Ordering converted to RING Ordering converted to RING Ordering converted to RING Ordering converted to RING <SkyCoord (ICRS): (ra, dec) in deg (197.35839844, -25.61308322)> # of galaxies in 90% volume = 42 NAME LumW1 ... P ---------------------------- ------------------------- ... ------------------- PGC45466 1.0884088954320000597e+42 ... 0.6995353723555456 PGC45657 7.5032646027206775e+41 ... 0.7965022626584416 PGC45426 7.367336809737711801e+41 ... 0.3905416510700604 PGC45514 7.159408041749106282e+41 ... 0.636392013632011 PGC45408 6.191420321536100089e+41 ... 0.20082875617890292 PGC46199 3.728938562939855379e+41 ... 0.7710150928931331 PGC46410 2.957639646390979745e+41 ... 0.8792942624546624 PGC45475 1.3404951718770816046e+41 ... 0.6805763434781986 ... ... ... ... ABELL 1664_13:[PSE2006] 1313 2.1890173247059815035e+39 ... 0.8851443911817604 PGC45679 1.9114414792285373049e+39 ... 0.42337005469909356 ABELL 1664_03:[PSE2006] 2951 6.403713666703690913e+38 ... 0.8999323517709407 PGC4075686 0.0 ... 0.5624329696124779 HIPASS J1321-31b 0.0 ... 0.838117879353231 PGC45404 0.0 ... 0.7146971370109703 UGCA 325 0.0 ... 0.15857534419648253 [TSK2008] 0052 0.0 ... 0.7293957356412174 Length = 42 rows
Now, plot up the sky localization and overplot the galaxies on it.
ax = plt.axes(
[0.05, 0.05, 0.9, 0.9],
projection='astro globe',
center=center)
ax_inset = plt.axes(
[0.59, 0.3, 0.4, 0.4],
projection='astro zoom',
center=center,
radius=10*u.deg)
for key in ['ra', 'dec']:
ax_inset.coords[key].set_ticklabel_visible(False)
ax_inset.coords[key].set_ticks_visible(False)
ax.grid()
ax.mark_inset_axes(ax_inset)
ax.connect_inset_axes(ax_inset, 'upper left')
ax.connect_inset_axes(ax_inset, 'lower left')
ax_inset.scalebar((0.1, 0.1), 5 * u.deg).label()
ax_inset.compass(0.9, 0.1, 0.2)
ax.imshow_hpx('data/GW170817_prelim.fits.gz', cmap='cylon')
ax_inset.imshow_hpx('data/GW170817_prelim.fits.gz', cmap='cylon')
for coord in clucut90coord:
ax_inset.plot(
coord.ra.deg, coord.dec.deg,
transform=ax_inset.get_transform('world'),
marker=ligo.skymap.plot.reticle(inner=0,outer=1),
markersize=10,
markeredgewidth=1)
/home/chummels/miniconda3/lib/python3.7/site-packages/astropy_healpix/core.py:519: RuntimeWarning: invalid value encountered in bilinear_interpolation_weights result = _core.bilinear_interpolation_weights(lon, lat, nside) /home/chummels/miniconda3/lib/python3.7/site-packages/astropy_healpix/core.py:484: RuntimeWarning: invalid value encountered in ring_to_nested return _core.ring_to_nested(ring_index, nside) /home/chummels/miniconda3/lib/python3.7/site-packages/astropy/visualization/wcsaxes/grid_paths.py:73: RuntimeWarning: invalid value encountered in greater discontinuous = step[1:] > DISCONT_FACTOR * step[:-1] /home/chummels/miniconda3/lib/python3.7/site-packages/astropy/visualization/wcsaxes/grid_paths.py:73: RuntimeWarning: invalid value encountered in greater discontinuous = step[1:] > DISCONT_FACTOR * step[:-1] /home/chummels/miniconda3/lib/python3.7/site-packages/astropy/visualization/wcsaxes/grid_paths.py:73: RuntimeWarning: invalid value encountered in greater discontinuous = step[1:] > DISCONT_FACTOR * step[:-1] /home/chummels/miniconda3/lib/python3.7/site-packages/astropy/visualization/wcsaxes/grid_paths.py:73: RuntimeWarning: invalid value encountered in greater discontinuous = step[1:] > DISCONT_FACTOR * step[:-1]