Astropy Smorgasbord

Astropy is a the python package designed to contain the basic utilities needed for astronomy. It has been many years in the making and replicated some of the functionaily of other astronomy packages from IRAF and IDL. However, it still is missing many packages and utilities needed for say reduction, handling spectra, etc. As it is a community driven effort, its unclear how it will take for additional functionality to be included.

Tables

Data tables are convenient way of dealing with large data sets, particularly if you need to create, read, modifiy and/or write files (i.e. ASCII, FITS, HDF5, etc...). Both Pandas and Astropy have their own unique support of data tables and it is possible to convert back and forth betweeen them. The question arises why are there two different types of data table formats and what are the benifits of using one over the other.

Pandas strengths are within its statistical machinary available for data analysis. Whereas the Astropy table has a few astronomy specific advantages; 1) being able to work with astronomy formats (i.e. FITS, sextractor, CDS, VOTables, etc) and 2) being able to use units within the table. It may becomes necessary to switch back and forth between tables depending on the task at hand.

Here we will give you a very brief introduction to Astropy tables.

First you need to load the following module inorder to utilize an Astropy table.


In [1]:
from astropy.table import QTable
import astropy.units as u
import numpy as np

Here we will create a QTable which is a quantity table. The first column is the redshift of the source, the second is the star formation rate (SFR), the third is the stellar mass and the fourth is the rotational velocity. Since it is a QTable, we can define the units for each of the entries, if we like.


In [2]:
a = [0.10, 0.15, 0.2]
b = [10.0, 2.0,  100.0] * u.M_sun / u.yr
c = [1e10, 1e9,  1e11]  * u.M_sun
d = [150., 100., 2000.] * u.km / u.s

When we create the table, we can assign the names to each column


In [3]:
t = QTable([a, b, c, d],
           names=('redshift', 'sfr', 'stellar_mass', 'velocity'))

We can display the table by typing the variable into the notebook


In [4]:
t


Out[4]:
<QTable length=3>
redshiftsfrstellar_massvelocity
solMass / yrsolMasskm / s
float64float64float64float64
0.110.010000000000.0150.0
0.152.01000000000.0100.0
0.2100.01e+112000.0

We can display the information about the table (i.e. data type, units, name)


In [5]:
t.info


Out[5]:
<QTable length=3>
    name      dtype      unit      class  
------------ ------- ------------ --------
    redshift float64                Column
         sfr float64 solMass / yr Quantity
stellar_mass float64      solMass Quantity
    velocity float64       km / s Quantity

We can view a specific column by calling is name.


In [6]:
t['sfr']


Out[6]:
$[10,~2,~100] \; \mathrm{\frac{M_{\odot}}{yr}}$

We can also group subsets of columns.


In [7]:
t['sfr','velocity']


Out[7]:
<QTable length=3>
sfrvelocity
solMass / yrkm / s
float64float64
10.0150.0
2.0100.0
100.02000.0

We can call a specific row, in this case the first row, which shows all the entries for the first object. Remember python indexing starts with zero!


In [8]:
t[0]


Out[8]:
<Row index=0>
redshiftsfrstellar_massvelocity
solMass / yrsolMasskm / s
float64float64float64float64
0.110.010000000000.0150.0

We can write to a standard format if we like, binary FITS tables are often used for this. If could be an ASCII file (either sapace, tab or comma delimited) or whatever your favorite sharable file format is. There is a whole list of supported formats that can be read in, many astronomy specific.


In [9]:
t.write('my_table.fits', overwrite=True)

You can read it in just as easily too. As you can see, the units are stored as well, as long as you are using a QTable.


In [10]:
all_targets = QTable.read("my_table.fits")

In [11]:
all_targets


Out[11]:
<QTable length=3>
redshiftsfrstellar_massvelocity
solMass / yrsolMasskm / s
float64float64float64float64
0.110.010000000000.0150.0
0.152.01000000000.0100.0
0.2100.01e+112000.0

We can add new entries to the table. In this case specific star formation rate (sSFR).


In [12]:
t['ssfr'] = t['sfr'] / t['stellar_mass']

In [13]:
t


Out[13]:
<QTable length=3>
redshiftsfrstellar_massvelocityssfr
solMass / yrsolMasskm / s1 / yr
float64float64float64float64float64
0.110.010000000000.0150.01e-09
0.152.01000000000.0100.02e-09
0.2100.01e+112000.01e-09

Maybe we are unhappy using years and we want to convert to Gyr. There are a whole list of available units here.


In [14]:
t['ssfr'].to(1./u.gigayear)


Out[14]:
$[1,~2,~1] \; \mathrm{\frac{1}{Gyr}}$

If we want to estimate the H-alpha line lunminosity from the SFR using an emperical relation (such as one from Kennicutt et al. 1998).


In [15]:
t['lum'] = (t['sfr'] * u.erg / u.s )/(7.9e-42 * u.Msun / u.yr)

In [16]:
t


Out[16]:
<QTable length=3>
redshiftsfrstellar_massvelocityssfrlum
solMass / yrsolMasskm / s1 / yrerg / s
float64float64float64float64float64float64
0.110.010000000000.0150.01e-091.26582278481e+42
0.152.01000000000.0100.02e-092.53164556962e+41
0.2100.01e+112000.01e-091.26582278481e+43

Say we want to go from erg to photons, which are both "energy". You can see it is not quite as straight forward by the follwoing error.


In [17]:
(t['lum']).to(u.ph / u.s)


---------------------------------------------------------------------------
UnitConversionError                       Traceback (most recent call last)
<ipython-input-17-6d39ce722bb9> in <module>()
----> 1 (t['lum']).to(u.ph / u.s)

/Users/gwalth/python/miniconda3/envs/gwalth2/lib/python2.7/site-packages/astropy/units/quantity.pyc in to(self, unit, equivalencies)
    841         # and don't want to slow down this method (esp. the scalar case).
    842         unit = Unit(unit)
--> 843         return self._new_view(self._to_value(unit, equivalencies), unit)
    844 
    845     def to_value(self, unit=None, equivalencies=[]):

/Users/gwalth/python/miniconda3/envs/gwalth2/lib/python2.7/site-packages/astropy/units/quantity.pyc in _to_value(self, unit, equivalencies)
    813             equivalencies = self._equivalencies
    814         return self.unit.to(unit, self.view(np.ndarray),
--> 815                             equivalencies=equivalencies)
    816 
    817     def to(self, unit, equivalencies=[]):

/Users/gwalth/python/miniconda3/envs/gwalth2/lib/python2.7/site-packages/astropy/units/core.pyc in to(self, other, value, equivalencies)
    977             If units are inconsistent
    978         """
--> 979         return self._get_converter(other, equivalencies=equivalencies)(value)
    980 
    981     def in_units(self, other, value=1.0, equivalencies=[]):

/Users/gwalth/python/miniconda3/envs/gwalth2/lib/python2.7/site-packages/astropy/units/core.pyc in _get_converter(self, other, equivalencies)
    911                             pass
    912 
--> 913             raise exc
    914 
    915     def _to(self, other):

UnitConversionError: 'erg / s' (power) and 'ph / s' are not convertible

In order to convert to photons/s properly, we need to check the units. Our beginning and ending units match (i.e. energy/time), we just need to acount for the energy of the photon which is depends on the wavelength.

$$ E_{phot} = \frac{h c}{\lambda} $$

(1) As an exercise for the reader. Modify the above table to estimate the number of photons/s from the H-alpha line luminosity the energy of the photon instead.

Photometry with Photutils

What is photometry? It is the measurement of light from a source, either represented as flux or magnitude. There are several ways to compute the flux from a source. In this tutorial we will go over aperture photometry, where you draw a circular region around the source and measure the flux inside.

Photoutils is a useful astropy package for performing photometry. This includes but not limited to aperture photometry, PSF photometry, star finding, source isophotes, background subtraction, etc...

Large parts of this tutorial are borrowed from Getting Started with Photutils documentation.

Here we load in a star field image provided with Photutils. We are interested in a small subsection of the image in which we want to do photometry.


In [18]:
import numpy as np
from photutils import datasets

hdu = datasets.load_star_image()  
image = hdu.data[500:700, 500:700].astype(float)
head = hdu.header


Downloading http://data.astropy.org/photometry/M6707HH.fits [Done]

The type function is useful for determining what data type you are dealing with, especially if it is an unfamilar one.


In [19]:
print(type(hdu))
print(type(image))
print(type(head))


<class 'astropy.io.fits.hdu.image.PrimaryHDU'>
<type 'numpy.ndarray'>
<class 'astropy.io.fits.header.Header'>

Assuming your background is uniform (and it most certianly is not), here is a rough background subtraction.

This may not work for all astronomical fields (e.g. clusters, low surface brightness features, etc). There are more sophisticated ways to deal with the background subtraction, see the Background Estimation documentation.


In [20]:
image -= np.median(image)

We use DAOStarFinder to find all of the objects in the image.

The FWHM (Full Width Half Maximum) is a way of measureing the size of the source. Often for unresolved sources, like stars, the FWHM should be matched the resolution of the telescope (or the seeing).

The threshold is the value above the background in which the star finding algorithm will find sources. Often this should be done in a statistical sense in which a real detection is n-sigma above the background (or n standard deviations). We can measure the standard deviation of background.

Statistics aside: Assuming a Gaussian distribution for the noise, 1-sigma contains 68% of the distribution, 2-sigma contains 95% of the distribution and 3-sigma contains 99.7% of the distribution. Often 5-sigma is the golden standard in physics and astronomy for a "real" detection as it is contains 99.99994% background distribution.

Here we use 3-sigma (3 standard devations) above the background for a "real" detection.


In [21]:
from photutils import DAOStarFinder
from astropy.stats import mad_std

bkg_sigma = mad_std(image)

daofind = DAOStarFinder(fwhm=4., threshold=3.*bkg_sigma)  
sources = daofind(image)

for col in sources.colnames: sources[col].info.format = '%.8g'  # for consistent table output
print(sources[:10])
print(sources.info)


 id xcentroid ycentroid  sharpness  ... sky peak    flux      mag    
--- --------- ---------- ---------- ... --- ---- --------- ----------
  1 182.83866 0.16767019 0.85099873 ...   0 3824 2.8028346 -1.1189937
  2 189.20431 0.26081353  0.7400477 ...   0 4913 3.8729185 -1.4700959
  3 5.7946491  2.6125424 0.39589731 ...   0 7752 4.1029107 -1.5327302
  4 36.847063  1.3220228 0.29594528 ...   0 8739 7.4315818 -2.1777032
  5 3.2565602   5.418952 0.35985495 ...   0 6935 3.8126298 -1.4530616
  6 10.268038  5.3999204 0.49375848 ...   0 8205 2.8472517 -1.1360646
  7 93.556424  7.3860242 0.50812587 ...   0 7440 7.0356171 -2.1182555
  8 5.7380557  7.5152239 0.44193256 ...   0 8500 2.7201818 -1.0864948
  9 19.136489   9.040662 0.68910946 ...   0 3691 2.7049518 -1.0803988
 10 55.052002  11.353116 0.43075296 ...   0 8115 2.9139911 -1.1612205
<Table length=152>
   name     dtype  format
---------- ------- ------
        id   int64   %.8g
 xcentroid float64   %.8g
 ycentroid float64   %.8g
 sharpness float64   %.8g
roundness1 float64   %.8g
roundness2 float64   %.8g
      npix float64   %.8g
       sky float64   %.8g
      peak float64   %.8g
      flux float64   %.8g
       mag float64   %.8g


In [22]:
from photutils import aperture_photometry, CircularAperture

positions = np.transpose((sources['xcentroid'], sources['ycentroid']))  
apertures = CircularAperture(positions, r=4.)  
phot_table = aperture_photometry(image, apertures)

for col in phot_table.colnames: phot_table[col].info.format = '%.8g'  # for consistent table output
print(phot_table[:10])
print(phot_table.info)


 id  xcenter   ycenter   aperture_sum
       pix       pix                 
--- --------- ---------- ------------
  1 182.83866 0.16767019    18121.759
  2 189.20431 0.26081353    29836.515
  3 5.7946491  2.6125424    331979.82
  4 36.847063  1.3220228    183705.09
  5 3.2565602   5.418952    349468.98
  6 10.268038  5.3999204    261533.37
  7 93.556424  7.3860242     66815.03
  8 5.7380557  7.5152239    363004.57
  9 19.136489   9.040662    49273.929
 10 55.052002  11.353116    380132.88
<QTable length=152>
    name      dtype  unit format  class  
------------ ------- ---- ------ --------
          id   int64        %.8g   Column
     xcenter float64  pix   %.8g Quantity
     ycenter float64  pix   %.8g Quantity
aperture_sum float64        %.8g   Column


In [23]:
import matplotlib.pyplot as plt

plt.imshow(image, cmap='gray_r', origin='lower')
apertures.plot(color='blue', lw=1.5, alpha=0.5)

In [24]:
print(head.keys())


['SIMPLE', 'BITPIX', 'NAXIS', 'NAXIS1', 'NAXIS2', 'DATE', 'ORIGIN', 'PLTLABEL', 'PLATEID', 'REGION', 'DATE-OBS', 'UT', 'EPOCH', 'PLTRAH', 'PLTRAM', 'PLTRAS', 'PLTDECSN', 'PLTDECD', 'PLTDECM', 'PLTDECS', 'EQUINOX', 'EXPOSURE', 'BANDPASS', 'PLTGRADE', 'PLTSCALE', 'SITELAT', 'SITELONG', 'TELESCOP', 'CNPIX1', 'CNPIX2', 'DATATYPE', 'SCANIMG', 'SCANNUM', 'DCHOPPED', 'DSHEARED', 'DSCNDNUM', 'XPIXELSZ', 'YPIXELSZ', 'PPO1', 'PPO2', 'PPO3', 'PPO4', 'PPO5', 'PPO6', 'AMDX1', 'AMDX2', 'AMDX3', 'AMDX4', 'AMDX5', 'AMDX6', 'AMDX7', 'AMDX8', 'AMDX9', 'AMDX10', 'AMDX11', 'AMDX12', 'AMDX13', 'AMDX14', 'AMDX15', 'AMDX16', 'AMDX17', 'AMDX18', 'AMDX19', 'AMDX20', 'AMDY1', 'AMDY2', 'AMDY3', 'AMDY4', 'AMDY5', 'AMDY6', 'AMDY7', 'AMDY8', 'AMDY9', 'AMDY10', 'AMDY11', 'AMDY12', 'AMDY13', 'AMDY14', 'AMDY15', 'AMDY16', 'AMDY17', 'AMDY18', 'AMDY19', 'AMDY20', '', '', '', '', '', '', '', '', '', '', '', '', '', 'DATAMAX', 'DATAMIN', 'OBJECT', 'OBJCTRA', 'OBJCTDEC', 'OBJCTX', 'OBJCTY']

Astroquery

Astroquery is a Astropy package for querying astronomical databases. There many, many, many catalogs and image services. Astroquery can be used to find catalogs and images. In this tutorial, we will show a few different databases and and ways to search for data.

NED query

NED is the NASA/IPAC Extragalacitc Database. It can be useful for finding measurements, properties and papers about your favorite galaxy (or galaxies). Like many databases you can search for galaxies via their name or coordinates.

First we need to import the modules that we will use for this tutorial.


In [25]:
from astroquery.ned import Ned
from astropy import coordinates
import astropy.units as u

In [26]:
result_table = Ned.query_object("m82")
print(result_table)


No. Object Name     RA     ... Redshift Points Diameter Points Associations
                 degrees   ...                                             
--- ----------- ---------- ... --------------- --------------- ------------
  1 MESSIER 082  148.96969 ...              35               9            0

Print the columns returned from the search.


In [27]:
print(result_table.keys())


['No.', 'Object Name', 'RA', 'DEC', 'Type', 'Velocity', 'Redshift', 'Redshift Flag', 'Magnitude and Filter', 'Separation', 'References', 'Notes', 'Photometry Points', 'Positions', 'Redshift Points', 'Diameter Points', 'Associations']

Print the redshift of the source


In [28]:
print(result_table['Redshift'])


 Redshift 
----------
  0.000677

Lets now search for objects around M82.


In [29]:
result_table = Ned.query_region("m82", radius=1 * u.arcmin)
print(result_table)


No.        Object Name            RA     ... Diameter Points Associations
                               degrees   ...                             
--- ------------------------- ---------- ... --------------- ------------
  1 MESSIER 082:[JMT2009] 229   148.9246 ...               0            0
  2   2MASS J09554213+6940277  148.92555 ...               0            0
  3                  SN 2014J  148.92558 ...               0            0
  4 WISEA J095542.17+694031.7  148.92571 ...               0            0
  5   2MASS J09554256+6940235  148.92735 ...               0            0
  6     CXOU J095542.8+694033   148.9285 ...               0            0
  7   2MASS J09554297+6940294  148.92907 ...               0            0
  8   CXOGSG J095543.1+694058  148.92958 ...               0            0
  9 MESSIER 082:[JMT2009] 121  148.92995 ...               0            0
 10   2MASS J09554336+6940278  148.93068 ...               0            0
...                       ...        ... ...             ...          ...
300   2MASS J09560138+6941111  149.00475 ...               0            0
301 WISEA J095601.19+694107.2    149.005 ...               0            0
302   CXOGSG J095601.4+694102  149.00583 ...               0            0
303   CXOGSG J095601.6+694012  149.00667 ...               0            0
304   2MASS J09560191+6941149    149.008 ...               0            0
305   2MASS J09560209+6941162  149.00871 ...               0            0
306   2MASS J09560219+6941126  149.00915 ...               0            0
307   2MASS J09560222+6941090  149.00926 ...               0            0
308   2MASS J09560272+6941143  149.01137 ...               0            0
309   2MASS J09560321+6941090   149.0134 ...               0            0
Length = 309 rows

Gaia query

Gaia is a space observatory designed to observe the precise positions of stars in order to determine their distances and motions within the galaxy. Gaia star coordinates are the new golden standard for astrometry. Being able to querry their database to correct your catalogs and images to their coordinate system would be highly beneficial.


In [30]:
from astroquery.gaia import Gaia


Created TAP+ (v1.2.1) - Connection:
	Host: gea.esac.esa.int
	Use HTTPS: True
	Port: 443
	SSL Port: 443
Created TAP+ (v1.2.1) - Connection:
	Host: geadata.esac.esa.int
	Use HTTPS: True
	Port: 443
	SSL Port: 443

In [31]:
coord = coordinates.SkyCoord(ra=280, dec=-60, unit=(u.degree, u.degree), frame='icrs')
radius = u.Quantity(1.0, u.arcmin)
j = Gaia.cone_search_async(coord, radius)
r = j.get_results()

r.pprint()
print(r.keys())


INFO: Query finished. [astroquery.utils.tap.core]
    solution_id             designation          ...          dist        
                                                 ...                      
------------------- ---------------------------- ... ---------------------
1635721458409799680 Gaia DR2 6636090334814214528 ... 0.0026034636628792566
1635721458409799680 Gaia DR2 6636090339113063296 ...  0.003851874252249971
1635721458409799680 Gaia DR2 6636090334814217600 ...  0.004545426460172014
1635721458409799680 Gaia DR2 6636089583198816640 ... 0.0056139194792587735
1635721458409799680 Gaia DR2 6636090334814218752 ...  0.005846434772172317
1635721458409799680 Gaia DR2 6636090334814213632 ...  0.006209042545526965
1635721458409799680 Gaia DR2 6636090339112308864 ...  0.007469463556823527
1635721458409799680 Gaia DR2 6636089583198816512 ...  0.008202004493008971
1635721458409799680 Gaia DR2 6636089583198817664 ...  0.008338509646710773
1635721458409799680 Gaia DR2 6636089578899968384 ...  0.008406677782683548
                ...                          ... ...                   ...
1635721458409799680 Gaia DR2 6636089578899963520 ...  0.014393191112655973
1635721458409799680 Gaia DR2 6636089510180488320 ...  0.014435077566980824
1635721458409799680 Gaia DR2 6636090407828731008 ...  0.014584757961811858
1635721458409799680 Gaia DR2 6636090373472801920 ...  0.015086640225257651
1635721458409799680 Gaia DR2 6636066935832391936 ...   0.01510421958843512
1635721458409799680 Gaia DR2 6636066871410485248 ...  0.015319847370288788
1635721458409799680 Gaia DR2 6636090403533700352 ...  0.015360962814137152
1635721458409799680 Gaia DR2 6636066867112904704 ...   0.01619227951127701
1635721458409799680 Gaia DR2 6636066871409642880 ...  0.016426798476423334
1635721458409799680 Gaia DR2 6636089548839846272 ...  0.016504117590543668
Length = 29 rows
['solution_id', 'designation', 'source_id', 'random_index', 'ref_epoch', 'ra', 'ra_error', 'dec', 'dec_error', 'parallax', 'parallax_error', 'parallax_over_error', 'pmra', 'pmra_error', 'pmdec', 'pmdec_error', 'ra_dec_corr', 'ra_parallax_corr', 'ra_pmra_corr', 'ra_pmdec_corr', 'dec_parallax_corr', 'dec_pmra_corr', 'dec_pmdec_corr', 'parallax_pmra_corr', 'parallax_pmdec_corr', 'pmra_pmdec_corr', 'astrometric_n_obs_al', 'astrometric_n_obs_ac', 'astrometric_n_good_obs_al', 'astrometric_n_bad_obs_al', 'astrometric_gof_al', 'astrometric_chi2_al', 'astrometric_excess_noise', 'astrometric_excess_noise_sig', 'astrometric_params_solved', 'astrometric_primary_flag', 'astrometric_weight_al', 'astrometric_pseudo_colour', 'astrometric_pseudo_colour_error', 'mean_varpi_factor_al', 'astrometric_matched_observations', 'visibility_periods_used', 'astrometric_sigma5d_max', 'frame_rotator_object_type', 'matched_observations', 'duplicated_source', 'phot_g_n_obs', 'phot_g_mean_flux', 'phot_g_mean_flux_error', 'phot_g_mean_flux_over_error', 'phot_g_mean_mag', 'phot_bp_n_obs', 'phot_bp_mean_flux', 'phot_bp_mean_flux_error', 'phot_bp_mean_flux_over_error', 'phot_bp_mean_mag', 'phot_rp_n_obs', 'phot_rp_mean_flux', 'phot_rp_mean_flux_error', 'phot_rp_mean_flux_over_error', 'phot_rp_mean_mag', 'phot_bp_rp_excess_factor', 'phot_proc_mode', 'bp_rp', 'bp_g', 'g_rp', 'radial_velocity', 'radial_velocity_error', 'rv_nb_transits', 'rv_template_teff', 'rv_template_logg', 'rv_template_fe_h', 'phot_variable_flag', 'l', 'b', 'ecl_lon', 'ecl_lat', 'priam_flags', 'teff_val', 'teff_percentile_lower', 'teff_percentile_upper', 'a_g_val', 'a_g_percentile_lower', 'a_g_percentile_upper', 'e_bp_min_rp_val', 'e_bp_min_rp_percentile_lower', 'e_bp_min_rp_percentile_upper', 'flame_flags', 'radius_val', 'radius_percentile_lower', 'radius_percentile_upper', 'lum_val', 'lum_percentile_lower', 'lum_percentile_upper', 'datalink_url', 'epoch_photometry_url', 'dist']

IRSA query of 2MASS

IRSA is the NASA/IPAC Infrared Science Archive. IRSA typically has a infrared mission focus, such as 2MASS, Herschel, Planck, Spitzer, WISE, etc...


In [32]:
from astroquery.irsa import Irsa

In [33]:
Irsa.list_catalogs()


Out[33]:
{'a1763t2': 'Abell 1763 Source Catalog',
 'a1763t3': 'Abell 1763 MIPS 70 micron Catalog',
 'acmccat': 'ACMC Catalog',
 'acs_iphot_sep07': 'COSMOS ACS I-band photometry catalog September 2007',
 'akari_fis': 'AKARI/FIS Bright Source Catalogue',
 'akari_irc': 'AKARI/IRC Point Source Catalogue',
 'akariastflux': 'AKARI Asteroid Flux Catalog',
 'allsky_2band_p1ba_mch': 'WISE Post-Cryo Single Exposure (L1b) Known SSO Possible Association List ( Caution )',
 'allsky_2band_p1bl_lod': 'WISE Post-Cryo Single Exposure (L1b) Scan Inventory Table',
 'allsky_2band_p1bm_frm': 'WISE Post-Cryo Single Exposure (L1b) Image Inventory Table',
 'allsky_2band_p1bs_frm': 'WISE Post-Cryo Single Exposure (L1b) Frame Metadata Table',
 'allsky_2band_p1bs_psd': 'WISE Post-Cryo Single Exposure (L1b) Source Table',
 'allsky_3band_p1ba_mch': 'WISE 3-Band Cryo Known Solar System Object Possible Association List ( Caution )',
 'allsky_3band_p1bl_lod': 'WISE 3-Band Cryo Single Exposure (L1b) Scan Inventory Table',
 'allsky_3band_p1bm_frm': 'WISE 3-Band Cryo Single Exposure (L1b) Image Inventory Table',
 'allsky_3band_p1bs_frm': 'WISE 3-Band Cryo Single Exposure (L1b) Frame Metadata Table',
 'allsky_3band_p1bs_psd': 'WISE 3-Band Cryo Single Exposure (L1b) Source Table',
 'allsky_3band_p3al_lod': 'WISE 3-Band Cryo Atlas Inventory Table',
 'allsky_3band_p3am_cdd': 'WISE 3-Band Cryo Atlas Image Inventory Table',
 'allsky_3band_p3am_xrf': 'WISE 3-Band Cryo Frame Cross-Reference Table',
 'allsky_3band_p3as_cdd': 'WISE 3-Band Cryo Atlas Metadata Table',
 'allsky_3band_p3as_psd': 'WISE 3-Band Cryo Source Working Database ( Readme)',
 'allsky_4band_p1ba_mch': 'WISE All-Sky Known Solar System Object Possible Association List ( Caution )',
 'allsky_4band_p1bl_lod': 'WISE All-Sky Single Exposure (L1b) Scan Inventory Table',
 'allsky_4band_p1bm_frm': 'WISE All-Sky Single Exposure (L1b) Image Inventory Table',
 'allsky_4band_p1bs_frm': 'WISE All-Sky Single Exposure (L1b) Frame Metadata Table',
 'allsky_4band_p1bs_psd': 'WISE All-Sky Single Exposure (L1b) Source Table',
 'allsky_4band_p3al_lod': 'WISE All-Sky Atlas Inventory Table',
 'allsky_4band_p3am_cdd': 'WISE All-Sky Atlas Image Inventory Table',
 'allsky_4band_p3am_xrf': 'WISE All-Sky Frame Cross-Reference Table',
 'allsky_4band_p3as_cdd': 'WISE All-Sky Atlas Metadata Table',
 'allsky_4band_p3as_psd': 'WISE All-Sky Source Catalog',
 'allsky_4band_p3as_psr': 'WISE All-Sky Reject Table',
 'allwise_mfpos': 'AllWISE Refined Pointing Information for the Single-exposure Images',
 'allwise_p3al_lod': 'AllWISE Atlas Inventory Table',
 'allwise_p3am_cdd': 'AllWISE Atlas Image Inventory Table',
 'allwise_p3am_xrf': 'AllWISE Frame Cross-Reference Table',
 'allwise_p3as_cdd': 'AllWISE Atlas Metadata Table',
 'allwise_p3as_mep': 'AllWISE Multiepoch Photometry Table',
 'allwise_p3as_psd': 'AllWISE Source Catalog',
 'allwise_p3as_psr': 'AllWISE Reject Table',
 'apoglimpsea': 'APOGLIMPSE Archive (more complete, less reliable)',
 'apoglimpsec': 'APOGLIMPSE Catalog (highly reliable)',
 'astsight': 'IRAS Minor Planet Survey',
 'bolocam_gps_v1_0_1': 'BOLOCAM Galactic Plane Survey Catalog',
 'bolocamdist': 'BOLOCAM Galactic Plane Survey Distance Catalog',
 'bolocamv21': 'BOLOCAM Galactic Plane Survey Catalog v2.1',
 'brava': 'BRAVA Catalog',
 'cf_info': '2MASS Calibration Merged Point Source Information Table',
 'cf_link': '2MASS Calibration Merged Point Source Link Table',
 'chandra_160_cat_f05': "SWIRE CDFS Region 160um Fall '05 SWIRE Spitzer Catalog",
 'chandra_24_cat_f05': "SWIRE CDFS Region 24um Fall '05 Spitzer Catalog",
 'chandra_70_cat_f05': "SWIRE CDFS Region 70um Fall '05 Spitzer Catalog",
 'chandra_cat_f05': "SWIRE CDFS Region Fall '05  Spitzer Catalog",
 'clash36_v2': 'CLASH 3.6 micron Catalog',
 'clash45_v2': 'CLASH 4.5 micron Catalog',
 'clash58_v2': 'CLASH 5.8 micron Catalog',
 'clash80_v2': 'CLASH 8.0 micron Catalog',
 'coadd_dat': '2MASS Survey Atlas Image Info',
 'coadd_dat_6x2': '2MASS 6X w/LMC/SMC Atlas Image Info',
 'coadd_dat_c': '2MASS Calibration Atlas Image Info',
 'coadd_dat_sc': '2MASS LMC/SMC Calibration Atlas Image Info',
 'com_pccs1_030': 'Planck PCCS 30GHz Catalog',
 'com_pccs1_044': 'Planck PCCS 44GHz Catalog',
 'com_pccs1_070': 'Planck PCCS 70GHz Catalog',
 'com_pccs1_100': 'Planck PCCS 100GHz Catalog',
 'com_pccs1_143': 'Planck PCCS 143GHz Catalog',
 'com_pccs1_217': 'Planck PCCS 217GHz Catalog',
 'com_pccs1_353': 'Planck PCCS 353GHz Catalog',
 'com_pccs1_545': 'Planck PCCS 545GHz Catalog',
 'com_pccs1_857': 'Planck PCCS 857GHz Catalog',
 'com_pccs1_sz_mmf1': 'Planck Sunyaev-Zeldovich Cluster MMF1 List',
 'com_pccs1_sz_mmf3': 'Planck Sunyaev-Zeldovich Cluster MMF3 List',
 'com_pccs1_sz_pws': 'Planck Sunyaev-Zeldovich Cluster PwS List',
 'com_pccs1_sz_union2': 'Planck Sunyaev-Zeldovich Cluster UNION List v2.1',
 'com_pccs2_030': 'Planck PCCS2 30GHz Catalog',
 'com_pccs2_044': 'Planck PCCS2 44GHz Catalog',
 'com_pccs2_070': 'Planck PCCS2 70GHz Catalog',
 'com_pccs2_100': 'Planck PCCS2 100GHz Catalog',
 'com_pccs2_143': 'Planck PCCS2 143GHz Catalog',
 'com_pccs2_217': 'Planck PCCS2 217GHz Catalog',
 'com_pccs2_353': 'Planck PCCS2 353GHz Catalog',
 'com_pccs2_545': 'Planck PCCS2 545GHz Catalog',
 'com_pccs2_857': 'Planck PCCS2 857GHz Catalog',
 'com_pccs2_gcc': 'Planck Catalog of Galactic Cold Clumps',
 'com_pccs2_sz_mmf1': 'Planck PR2 Sunyaev-Zeldovich Cluster MMF1 List',
 'com_pccs2_sz_mmf3': 'Planck PR2 Sunyaev-Zeldovich Cluster MMF3 List',
 'com_pccs2_sz_pws': 'Planck PR2 Sunyaev-Zeldovich Cluster PwS List',
 'com_pccs2_sz_union': 'Planck PR2 Sunyaev-Zeldovich Cluster UNION List',
 'com_pccs2e_100': 'Planck PCCS2E 100GHz Catalog (lower reliability)',
 'com_pccs2e_143': 'Planck PCCS2E 143GHz Catalog (lower reliability)',
 'com_pccs2e_217': 'Planck PCCS2E 217GHz Catalog (lower reliability)',
 'com_pccs2e_353': 'Planck PCCS2E 353GHz Catalog (lower reliability)',
 'com_pccs2e_545': 'Planck PCCS2E 545GHz Catalog (lower reliability)',
 'com_pccs2e_857': 'Planck PCCS2E 857GHz Catalog (lower reliability)',
 'com_pccs_pcnt': 'Planck Multi-frequency Catalogue of Non-thermal Sources',
 'comsight': 'IRAS Asteroid and Comet Survey',
 'cosmos327': 'COSMOS VLA 327 MHz Catalog',
 'cosmos_3ghzagn': 'COSMOS VLA 3GHz AGN Catalog',
 'cosmos_3ghzcp': 'COSMOS VLA 3GHz Multiwavelength Counterpart Catalog',
 'cosmos_chandra_2016': 'Chandra-COSMOS Legacy Survey Point Source Catalog',
 'cosmos_chandra_bsc21': 'Chandra-COSMOS Bright Source Catalog v2.1',
 'cosmos_chandraxid': 'Chandra-COSMOS Legacy Survey Multiwavelength Catalog',
 'cosmos_deimos': 'COSMOS DEIMOS Catalog',
 'cosmos_ib_phot': 'COSMOS Intermediate and Broad Band Photometry Catalog 2008',
 'cosmos_morph_cassata_1_1': 'COSMOS Cassata Morphology Catalog v1.1',
 'cosmos_morph_col_1': 'COSMOS Zamojski Morphology Catalog v1.0',
 'cosmos_morph_tasca_1_1': 'COSMOS Tasca Morphology Catalog v1.1',
 'cosmos_morph_zurich_1': 'COSMOS Zurich Structure and Morphology Catalog v1.0',
 'cosmos_phot': 'COSMOS Photometry Catalog January 2006',
 'cosmos_sc4k': 'Slicing COSMOS with 4K Lyman-alpha emitters (SC4K) Catalog',
 'cosmos_vla3ghz': 'COSMOS VLA 3GHz Catalog',
 'cosmos_vla_deep_may2010': 'COSMOS VLA Deep Catalog May 2010',
 'cosmos_xgal': 'COSMOS X-ray Group Member Catalog',
 'cosmos_xgroups': 'COSMOS X-ray Group Catalog',
 'cosmos_xmm_2': 'COSMOS XMM Point-like Source Catalog v2.0',
 'cosmos_zphot_mag25': 'COSMOS Photometric Redshift Catalog Fall 2008 (README - mag 25 limited)',
 'cosmosenvall': 'COSMOS Total Environment Catalog',
 'cosmosenvmc': 'COSMOS Mass Complete Environment Catalog',
 'cosmosgmrt325': 'COSMOS GMRT 325 MHz Catalog',
 'cosmosgmrt610': 'COSMOS GMRT 610 MHz Catalog',
 'cosmoswlsc': 'COSMOS Weak Lensing Source Catalog',
 'csi2264t1': 'CSI 2264 Object Table',
 'csi2264t2': 'CSI 2264 CoRoT Light Curves',
 'csi2264t3': 'CSI 2264 Spitzer Light Curves',
 'cwcat': 'CatWISE Preliminary Catalog',
 'cwcat2': 'CatWISE2020 Catalog',
 'cygx_arch': 'Cygnus-X Archive',
 'cygx_cat': 'Cygnus-X Catalog',
 'deepcal_src': '2MASS Combined Calibration Field Source Table',
 'deepglimpsea': 'Deep GLIMPSE Archive (more complete, less reliable)',
 'deepglimpsec': 'Deep GLIMPSE Catalog (highly reliable)',
 'denis3': 'DENIS 3rd Release (Sep. 2005)',
 'dr4_MM': "C2D Fall '07 Millimeter (MM) Sources Catalog (OPH, PER, SER Clouds)",
 'dr4_clouds_full': "C2D Fall '07 Full CLOUDS Catalog (CHA_II, LUP, OPH, PER, SER)",
 'dr4_clouds_hrel': "C2D Fall '07 High Reliability (HREL) CLOUDS Catalog (CHA_II, LUP, OPH, PER, SER)",
 'dr4_clouds_ysoc': "C2D Fall '07 candidate Young Stellar Objects (YSO) CLOUDS Catalog (CHA_II, LUP, OPH, PER, SER)",
 'dr4_cores_full': "C2D Fall '07 Full CORES Catalog",
 'dr4_cores_hrel': "C2D Fall '07 High Reliability (HREL) CORES Catalog",
 'dr4_cores_ysoc': "C2D Fall '07 candidate Young Stellar Objects (YSO) CORES Catalog",
 'dr4_off_cloud_full': "C2D Fall '07 Full OFF-CLOUD Catalog (CHA_II, LUP, OPH, PER, SER)",
 'dr4_off_cloud_hrel': "C2D Fall '07 High Reliability (HREL) OFF-CLOUD Catalog (CHA_II, LUP, OPH, PER, SER)",
 'dr4_off_cloud_ysoc': "C2D Fall '07 candidate Young Stellar Objects (YSO) OFF-CLOUD Catalog (CHA_II, LUP, OPH, PER, SER)",
 'dr4_stars_full': "C2D Fall '07 Full STARS Catalog",
 'dr4_stars_hrel': "C2D Fall '07 High Reliability (HREL) STARS Catalog",
 'dr4_stars_ysoc': "C2D Fall '07 candidate Young Stellar Objects (YSO) STARS Catalog",
 'dr4_trans1_full': "C2D Fall '07 Perseus Epoch 1 Transient Sources FULL Catalog",
 'dr4_trans2_full': "C2D Fall '07 Perseus Epoch 2 Transient Sources FULL Catalog",
 'dunes': 'DUNES Catalog',
 'dustingsfull': 'DUSTiNGS Full Catalog',
 'dustingsgsc': 'DUSTiNGS Good Source Catalog',
 'ecc': 'Planck Early Cold Core Source List (ECC)',
 'ecf_info': '2MASS Calibration Merged Extended Source Information Table',
 'ecf_link': '2MASS Calibration Merged Extended Source Link Table',
 'elaisn1_160_cat_s05': "SWIRE ELAIS N1 Region 160um Spring '05 Spitzer Catalog",
 'elaisn1_24_cat_s05': "SWIRE ELAIS N1 Region 24um Spring '05 Spitzer Catalog",
 'elaisn1_70_cat_s05': "SWIRE ELAIS N1 Region 70um Spring '05 Spitzer Catalog",
 'elaisn1_cat_s05': "SWIRE ELAIS N1 Region Spring '05 Spitzer Catalog",
 'elaisn2_160_cat_s05': "SWIRE ELAIS N2 Region 160um Spring '05 Spitzer Catalog",
 'elaisn2_24_cat_s05': "SWIRE ELAIS N2 Region 24um Spring '05 Spitzer Catalog",
 'elaisn2_70_cat_s05': "SWIRE ELAIS N2 Region 70um Spring '05 Spitzer Catalog",
 'elaisn2_cat_s05': "SWIRE ELAIS N2 Region Spring '05 Spitzer Catalog",
 'elaiss1_160_cat_f05': "SWIRE ELAIS S1 Region 160um Fall '05 Spitzer Catalog",
 'elaiss1_24_cat_f05': "SWIRE ELAIS S1 Region 24um Fall '05 Spitzer Catalog",
 'elaiss1_70_cat_f05': "SWIRE ELAIS S1 Region 70um Fall '05 Spitzer Catalog",
 'elaiss1_cat_f05': "SWIRE ELAIS S1 Region Fall '05 SWIRE Spitzer Catalog",
 'ercsc_f030_e': 'Planck ERCSC 30GHz Catalog',
 'ercsc_f044_e': 'Planck ERCSC 44GHz Catalog',
 'ercsc_f070_e': 'Planck ERCSC 70GHz Catalog',
 'ercsc_f100_e': 'Planck ERCSC 100GHz Catalog',
 'ercsc_f143_e': 'Planck ERCSC 143GHz Catalog',
 'ercsc_f217_e': 'Planck ERCSC 217GHz Catalog',
 'ercsc_f353_e': 'Planck ERCSC 353GHz Catalog',
 'ercsc_f545_e': 'Planck ERCSC 545GHz Catalog',
 'ercsc_f857_e': 'Planck ERCSC 857GHz Catalog',
 'ercscbm': 'Planck ERCSC Bandmerged Catalog',
 'escf_info': '2MASS LMC/SMC Calibration Merged Extended Source Information Table',
 'escf_link': '2MASS LMC/SMC Calibration Merged Extended Source Link Table',
 'esixxf_info': '2MASS 6X w/LMC/SMC Merged Extended Source Information Table',
 'esixxf_link': '2MASS 6X w/LMC/SMC Merged Extended Source Link Table',
 'esz': 'Planck Early Sunyaev-Zeldovich Cluster List (ESZ)',
 'ewsdbf_info': '2MASS Survey Merged Extended Source Information Table',
 'ewsdbf_link': '2MASS Survey Merged Extended Source Link Table',
 'ext_src_6x2': '2MASS 6X w/LMC/SMC Extended Source Working Database / Catalog ( Read Me! )',
 'ext_src_c': '2MASS Calibration Extended Source Working Database',
 'ext_src_cat': '2MASS Second Incremental Release Extended Source Catalog (XSC)',
 'ext_src_cat1': '2MASS First Incremental Release Extended Source Catalog (XSC)',
 'ext_src_rej': '2MASS Survey Extended Source Reject Table',
 'ext_src_sc': '2MASS LMC/SMC Calibration Extended Source Working Database',
 'exts_samp_cat': '2MASS Sampler Extended Source Catalog (XSC)',
 'feps_phot': 'FEPS Photometry Catalog',
 'fls_release_v2_mmt_spectra': 'FLS MMT/Hectospec Spectroscopic Catalog (V2)',
 'fls_release_v2_photom': 'FLS SDSS and MIPS Astrometric and Photometric Catalog (V2)',
 'fls_release_v2_sdss_spectra': 'FLS SDSS Spectroscopic Catalog (V2)',
 'fp_coadd_dat': '2MASS All-Sky Survey Atlas Image Info',
 'fp_psc': '2MASS All-Sky Point Source Catalog (PSC)',
 'fp_scan_dat': '2MASS All-Sky Survey Scan Info (Read Me!)',
 'fp_xsc': '2MASS All-Sky Extended Source Catalog (XSC)',
 'gaia_allwise_best_neighbour': 'Gaia AllWISE Best Neighbor Cross-Reference (DR1)',
 'gaia_allwise_neighbourhood': 'Gaia AllWISE Neighborhood Cross-Reference (DR1)',
 'gaia_cepheid': 'Gaia Cepheid Table (DR1)',
 'gaia_dr2_allwise_agn_gdr2_xid': 'Gaia AllWISE-Gaia DR2 Cross-ID Table (DR2)',
 'gaia_dr2_allwise_bnbr': 'Gaia AllWISE Best Neighbour Table (DR2)',
 'gaia_dr2_allwise_nbh': 'Gaia AllWISE Neighbourhood Table (DR2)',
 'gaia_dr2_apassdr9_bnbr': 'Gaia APASS DR9 Best Neighbour Table (DR2)',
 'gaia_dr2_apassdr9_nbh': 'Gaia APASS DR9 Neighbourhood Table (DR2)',
 'gaia_dr2_cepheid': 'Gaia Cepheid Table (DR2)',
 'gaia_dr2_classifier_def': 'Gaia Classifier Table (DR2)',
 'gaia_dr2_classifier_result': 'Gaia Classifier Result Table (DR2)',
 'gaia_dr2_dr1_nbh': 'Gaia DR1 Neighbourhood Table (DR2)',
 'gaia_dr2_epoch_photometry': 'Gaia Epoch Photometry (DR2)',
 'gaia_dr2_gsc23_bnbr': 'GSC2.3 Best Neighbour Table (DR2)',
 'gaia_dr2_gsc23_nbh': 'GSC2.3 Neighbourhood Table (DR2)',
 'gaia_dr2_hipparcos2_bnbr': 'Gaia Hipparcos-2 Best Neighbour Table (DR2)',
 'gaia_dr2_hipparcos2_nbh': 'Gaia Hipparcos-2 Neighbourhood Table (DR2)',
 'gaia_dr2_iers_gdr2_xid': 'IERS-Gaia DR2 Cross-ID Table (DR2)',
 'gaia_dr2_long_period_variable': 'Gaia Long Period Variable Table (DR2)',
 'gaia_dr2_panstarrs1_bnbr': 'Gaia Pan-STARRS1 Best Neighbour Table (DR2)',
 'gaia_dr2_panstarrs1_nbh': 'Gaia Pan-STARRS1 Neighbourhood Table (DR2)',
 'gaia_dr2_ppmxl_bnbr': 'Gaia PPMXL Best Neighbour Table (DR2)',
 'gaia_dr2_ppmxl_nbh': 'Gaia PPMXL Neighbourhood Table (DR2)',
 'gaia_dr2_ravedr5_bnbr': 'Gaia RAVE DR5 Best Neighbour Table (DR2)',
 'gaia_dr2_ravedr5_nbh': 'Gaia RAVE DR5 Neighbourhood Table (DR2)',
 'gaia_dr2_rotation_modulation': 'Gaia Rotation Modulation Table (DR2)',
 'gaia_dr2_rrlyrae': 'Gaia RR Lyrae Table (DR2)',
 'gaia_dr2_sdssdr9_bnbr': 'Gaia SDSS DR9 Best Neighbour Table (DR2)',
 'gaia_dr2_sdssdr9_nbh': 'Gaia SDSS DR9 Neighbourhood Table (DR2)',
 'gaia_dr2_short_timescale': 'Gaia Short Time Scale Variable Table (DR2)',
 'gaia_dr2_source': 'Gaia Source Catalogue (DR2)',
 'gaia_dr2_sso_observation': 'Gaia Solar System Object Observation Table (DR2)',
 'gaia_dr2_sso_orbit_residuals': 'Gaia SSO Orbit Residuals Table (DR2)',
 'gaia_dr2_sso_orbits': 'Gaia SSO Orbits Table (DR2)',
 'gaia_dr2_sso_source': 'Gaia Solar System Object Source Table (DR2)',
 'gaia_dr2_time_series_stats': 'Gaia Time Series Statistics Table (DR2)',
 'gaia_dr2_tmass_bnbr': 'Gaia 2MASS Best Neighbour Table (DR2)',
 'gaia_dr2_tmass_nbh': 'Gaia 2MASS Neighbourhood Table (DR2)',
 'gaia_dr2_tycho2_bnbr': 'Gaia Tycho-2 Best Neighbour Table (DR2)',
 'gaia_dr2_tycho2_nbh': 'Gaia Tycho-2 Neighbourhood Table (DR2)',
 'gaia_dr2_urat1_bnbr': 'Gaia URAT1 Best Neighbour Table (DR2)',
 'gaia_dr2_urat1_nbh': 'Gaia URAT1 Neighbourhood Table (DR2)',
 'gaia_pho_var_t_ser': 'Gaia G-band Time Series of Variable Sources (DR1)',
 'gaia_pho_var_t_ser_stat_par': 'Gaia Statistical Parameters for G-band Time Series of Variable (DR1)',
 'gaia_ppmxl_best_neighbour': 'Gaia PPMXL Best Neighbor Cross-Reference (DR1)',
 'gaia_ppmxl_neighbourhood': 'Gaia PPMXL Neighborhood Cross-Reference (DR1)',
 'gaia_qso_icrf2_01_01': 'Gaia QSO Table (DR1)',
 'gaia_rrlyrae': 'Gaia RR Lyrae Table (DR1)',
 'gaia_source_dr1': 'Gaia Catalogue (DR1)',
 'gaia_tgas_source': 'Tycho-Gaia Astrometric Solution (TGAS) Source Table (DR1)',
 'gaia_tmass_best_neighbour': 'Gaia 2MASS Best Neighbor Cross-Reference (DR1)',
 'gaia_tmass_neighbourhood': 'Gaia 2MASS Neighborhood Cross-Reference (DR1)',
 'gaia_ucac4_best_neighbour': 'Gaia UCAC4 Best Neighbor Cross-Reference (DR1)',
 'gaia_ucac4_neighbourhood': 'Gaia UCAC4 Neighborhood Cross-Reference (DR1)',
 'gaia_urat1_best_neighbour': 'Gaia URAT1 Best Neighbor Cross-Reference (DR1)',
 'gaia_urat1_neighbourhood': 'Gaia URAT1 Neighborhood Cross-Reference (DR1)',
 'gaia_variablesummary': 'Gaia Summary of Variables (DR1)',
 'galcen_psc': 'Point Source in a Spitzer/IRAC Survey of the Galactic Center (Ramirez et al. 2008)',
 'galex_emphot_v3': 'GALEX/COSMOS Prior-based Photometry Catalog June 2008',
 'glimpse2_v2arc': "GLIMPSE II Spring '08 Archive (more complete, less reliable)",
 'glimpse2_v2cat': "GLIMPSE II Spring '08 Catalog (highly reliable)",
 'glimpse2ep1a08': "GLIMPSE II Epoch 1 December '08 Archive (more complete, less reliable)",
 'glimpse2ep1c08': "GLIMPSE II Epoch 1 December '08 Catalog (highly reliable)",
 'glimpse2ep2a09': "GLIMPSE II Epoch 2 November '09 Archive (more complete, less reliable)",
 'glimpse2ep2mra09': "GLIMPSE II Epoch 2 November '09 More Reliable Archive (more reliable)",
 'glimpse2sub': 'GLIMPSEII Subarray Source List',
 'glimpse360a': 'GLIMPSE360 Archive (more complete, less reliable)',
 'glimpse360c': 'GLIMPSE360 Catalog (highly reliable)',
 'glimpse3d_v1cat_tbl': 'GLIMPSE 3D, 2007-2009 Catalog (highly reliable)',
 'glimpse3d_v2arc': 'GLIMPSE 3D, 2007-2009 Archive (more complete, less reliable),(Erratum)',
 'glimpse3dep1a': 'GLIMPSE 3D Epoch 1 Archive (more complete, less reliable)',
 'glimpse3dep1c': 'GLIMPSE 3D Epoch 1 Catalog (highly reliable)',
 'glimpse3dep2a': 'GLIMPSE 3D Epoch 2 Archive (more complete, less reliable)',
 'glimpse3dep2mra': 'GLIMPSE 3D Epoch 2 More Reliable Archive (more complete, less reliable)',
 'glimpse_s07': "GLIMPSE I Spring '07 Catalog (highly reliable)",
 'glimpse_s07_ar': "GLIMPSE I Spring '07 Archive (more complete, less reliable)",
 'glimpsecygxa': 'GLIMPSE Cygnus-X Archive (more complete, less reliable)',
 'glimpsecygxc': 'GLIMPSE Cygnus-X Catalog (highly reliable)',
 'glimpsepropa': 'GLIMPSE Proper Archive (more complete, less reliable)',
 'glimpsepropc': 'GLIMPSE Proper Catalog (highly reliable)',
 'glimpsesmoga': 'SMOG Archive (more complete, less reliable)',
 'glimpsesmogc': 'SMOG Catalog (highly reliable)',
 'goods_mips24': 'GOODS-S MIPS 24 micron Photometry Catalog',
 'goodsn_mips24': 'GOODS-N MIPS 24 micron Photometry Catalog',
 'goodsnirs16': 'GOODS-N IRS 16 micron Photometry Catalog',
 'goodssirs16': 'GOODS-S IRS 16 micron Photometry Catalog',
 'hatlas': 'H-ATLAS Catalog',
 'hatlasall': 'H-ATLAS All Potential Counterparts Catalog',
 'heritagel100': 'HERITAGE LMC PACS 100 micron Catalog',
 'heritagel160': 'HERITAGE LMC PACS 160 micron Catalog',
 'heritagel250': 'HERITAGE LMC SPIRE 250 micron Catalog',
 'heritagel350': 'HERITAGE LMC SPIRE 350 micron Catalog',
 'heritagel500': 'HERITAGE LMC SPIRE 500 micron Catalog',
 'heritagelclass': 'HERITAGE LMC Band-Matched Classification Table',
 'heritagelphot': 'HERITAGE LMC Band-Matched Catalog',
 'heritages100': 'HERITAGE SMC PACS 100 micron Catalog',
 'heritages160': 'HERITAGE SMC PACS 160 micron Catalog',
 'heritages250': 'HERITAGE SMC SPIRE 250 micron Catalog',
 'heritages350': 'HERITAGE SMC SPIRE 350 micron Catalog',
 'heritages500': 'HERITAGE SMC SPIRE 500 micron Catalog',
 'heritagesclass': 'HERITAGE SMC Band-Matched Classification Table',
 'heritagesphot': 'HERITAGE SMC Band-Matched Catalog',
 'hermescosmosxidp': 'HerMES DR4 COSMOS-XID+ Catalog (24 micron positions)',
 'hermesdr4xid250': 'HerMES DR4 Band-merged Catalog (250 micron positions)',
 'hermespacsxid24': 'HerMES DR4 PACS Catalog (24 micron positions)',
 'hermesscat250': 'HerMES 250 micron StarFinder Catalog',
 'hermesscat250sxt': 'HerMES 250 micron SUSSEXtractor Catalog',
 'hermesscat350': 'HerMES 350 micron StarFinder Catalog',
 'hermesscat350sxt': 'HerMES 350 micron SUSSEXtractor Catalog',
 'hermesscat500': 'HerMES 500 micron StarFinder Catalog',
 'hermesscat500sxt': 'HerMES 500 micron SUSSEXtractor Catalog',
 'hermesxid24': 'HerMES Band-merged Catalog (24 micron positions)',
 'hgoodsn': 'GOODS North Catalog',
 'hgoodss': 'GOODS South Catalog',
 'higal160': 'Hi-GAL 160 micron Photometric Catalog',
 'higal250': 'Hi-GAL 250 micron Photometric Catalog',
 'higal350': 'Hi-GAL 350 micron Photometric Catalog',
 'higal500': 'Hi-GAL 500 micron Photometric Catalog',
 'higal70': 'Hi-GAL 70 micron Photometric Catalog',
 'hopsdata': 'Herschel Orion Protostars Survey SED Data Catalog',
 'hopsfits': 'Herschel Orion Protostars Survey SED Fits Catalog',
 'hpdpsso': 'HPDP SSO Table',
 'iras_ao': 'IRAS Additional Observations (AO) Catalog',
 'irascatalog': 'IRAS 1.2-Jy Redshift Survey',
 'irasfsc': 'IRAS Faint Source Catalog v2.0 (FSC)',
 'irasfscr': 'IRAS Faint Source Catalog Rejects',
 'irasgal': 'IRAS Cataloged Galaxies and Quasars',
 'iraspsc': 'IRAS Point Source Catalog v2.1 (PSC)',
 'iraspsch': 'IRAS PSC joined with HCON and WSDB',
 'iraspscr': 'IRAS Point Source Catalog Rejects',
 'iraspscw': 'IRAS PSC joined with WSDB',
 'irasssc': 'IRAS Serendipitous Survey Catalog',
 'irassss': 'IRAS Small Scale Structure Catalog',
 'irs_enhv211': 'IRS Enhanced Products',
 'lga_v2': 'The 2MASS Large Galaxy Atlas',
 'lockman_160_cat_s05': "SWIRE Lockman Region 160um Spring '05 Spitzer Catalog",
 'lockman_24_cat_s05': "SWIRE Lockman Region 24um Spring '05 Spitzer Catalog",
 'lockman_70_cat_s05': "SWIRE Lockman Region 70um Spring '05 Spitzer Catalog",
 'lockman_cat_s05': "SWIRE Lockman Region Spring '05 SWIRE Spitzer Catalog",
 'm31irac': 'M31 IRAC Catalog',
 'mipsgala': 'MIPSGAL Archive',
 'mipsgalc': 'MIPSGAL Catalog',
 'mipslg': 'MIPS Local Galaxies Catalog',
 'morphology_2005': 'COSMOS Morphology Catalog 2005',
 'msxc6': 'The Midcourse Space Experiment (MSXC6)',
 'msxc6_rej': 'The Midcourse Space Experiment (MSXC6) Rejects',
 'musyc_phot': 'MUSYC Photometry Catalog',
 'musyc_photz': 'MUSYC Photometric Redshift Catalog',
 'neowiser_p1ba_mch': 'NEOWISE-R Known Solar System Object Possible Association List ( Caution )',
 'neowiser_p1bl_lod': 'NEOWISE-R Single Exposure (L1b) Scan Inventory Table',
 'neowiser_p1bm_frm': 'NEOWISE-R Single Exposure (L1b) Image Inventory Table',
 'neowiser_p1bs_frm': 'NEOWISE-R Single Exposure (L1b) Frame Metadata Table',
 'neowiser_p1bs_psd': 'NEOWISE-R Single Exposure (L1b) Source Table',
 'neowisesbpropv2': 'NEOWISE Derived Diameters and Albedos of Solar System Small Bodies Catalog v2',
 'pep100': 'PEP PACS 100 micron Catalog',
 'pep160': 'PEP PACS 160 micron Catalog',
 'pep250': 'PEP SPIRE 250 micron Catalog',
 'pep350': 'PEP SPIRE 350 micron Catalog',
 'pep500': 'PEP SPIRE 500 micron Catalog',
 'pepgoodss70': 'PEP PACS 70 micron GOODS-S Catalog',
 'peplh24': 'PEP Lockman Hole MIPS 24 micron Comparison Catalog',
 'pepprior': 'PEP PACS Extractions Using MIPS 24 micron Priors',
 'pepxid': 'PEP PACS and MIPS Cross-IDs Catalog',
 'planckphz': 'Planck List of High Redshift Source Candidates',
 'ppmxl': 'PPMXL: A Proper Motion Catalog Combining USNO-B and 2MASS',
 'ppsc_100': 'PACS Point Source Catalog: 100 microns',
 'ppsc_160': 'PACS Point Source Catalog: 160 microns',
 'ppsc_70': 'PACS Point Source Catalog: 70 microns',
 'ppsc_extsl': 'PACS Point Source Catalog: Extended Source List',
 'ppsc_obstbl': 'PACS Point Source Catalog: Observation Table',
 'ppsc_rejsl': 'PACS Point Source Catalog: Rejected Source List',
 'prelim_2band_p1ba_mch': 'WISE Preliminary Post-Cryo Solar System Object Possible Association List ( Caution , Superseded)',
 'prelim_2band_p1bl_lod': 'WISE Preliminary Post-Cryo Single Exposure (L1b) Scan Inventory Table (Superseded)',
 'prelim_2band_p1bm_frm': 'WISE Preliminary Post-Cryo Single Exposure (L1b) Image Inventory Table (Superseded)',
 'prelim_2band_p1bs_frm': 'WISE Preliminary Post-Cryo Single Exposure (L1b) Frame Metadata Table (Superseded)',
 'prelim_2band_p1bs_psd': 'WISE Preliminary Post-Cryo Single Exposure (L1b)  Source Table (Superseded)',
 'prelim_p1ba_mch': 'WISE Preliminary Release Known Solar System Object Possible Association List ( Caution , Superseded)',
 'prelim_p1bl_lod': 'WISE Preliminary Release Single Exposure (L1b) Scan Inventory Table (Superseded)',
 'prelim_p1bm_frm': 'WISE Preliminary Release Single Exposure (L1b) Image Inventory Table (Superseded)',
 'prelim_p1bs_frm': 'WISE Preliminary Release Single Exposure (L1b) Frame Metadata Table (Superseded)',
 'prelim_p1bs_psd': 'WISE Preliminary Release Single Exposure (L1b) Source Table (Superseded)',
 'prelim_p3al_lod': 'WISE Preliminary Release Atlas Inventory Table (Superseded)',
 'prelim_p3am_cdd': 'WISE Preliminary Release Atlas Image Inventory Table (Superseded)',
 'prelim_p3am_xrf': 'WISE Preliminary Release Frame Cross-Reference Table (Superseded)',
 'prelim_p3as_cdd': 'WISE Preliminary Release Atlas Metadata Table (Superseded)',
 'prelim_p3as_psd': 'WISE Preliminary Release Source Catalog (Superseded)',
 'pscan_dat': '2MASS Survey Scan Info',
 'pscan_dat_6x2': '2MASS 6X w/LMC/SMC Scan Info',
 'pscan_dat_c': '2MASS Calibration Scan Info',
 'pscan_dat_sc': '2MASS LMC/SMC Calibration Scan Info',
 'pt_src_6x2': '2MASS 6X w/LMC/SMC Point Source Working Database / Catalog ( Read Me! )',
 'pt_src_c': '2MASS Calibration Point Source Working Database',
 'pt_src_cat': '2MASS Second Incremental Release Point Source Catalog (PSC)',
 'pt_src_cat1': '2MASS First Incremental Release Point Source Catalog (PSC)',
 'pt_src_rej': '2MASS Survey Point Source Reject Table',
 'pt_src_sc': '2MASS LMC/SMC Calibration Point Source Working Database',
 'ptf_lightcurves': 'PTF Lightcurve Table',
 'ptf_objects': 'PTF Objects',
 'ptf_sources': 'PTF Sources Catalog',
 'ptfphotcalcat': 'PTF Photometric Calibrator Catalog',
 'pts_samp_cat': '2MASS Sampler Point Source Catalog (PSC)',
 'reject': 'CatWISE Preliminary Reject Table',
 'reject2': 'CatWISE2020 Reject Table',
 's4gcat': 'Spitzer Survey of Stellar Structure in Galaxies (S4G)',
 'safires160': 'Spitzer Archival Far-Infrared Extragalactic Survey (SAFIRES) MIPS 160 micron Catalog',
 'safires70': 'Spitzer Archival Far-Infrared Extragalactic Survey (SAFIRES) MIPS 70 micron Catalog',
 'sage_ar_irac': 'SAGE IRAC Single Frame + Mosaic Photometry Archive (more complete, less reliable)',
 'sage_ar_irac_e1e2': 'SAGE IRAC Epoch 1 and Epoch 2 Archive (more complete, less reliable)',
 'sage_ar_irac_match': 'SAGE IRAC Matched Epoch Catalog (more complete, less reliable)',
 'sage_ar_irac_off': 'SAGE IRAC Offset Position Epoch 1 and Epoch 2 Archive (more complete, less reliable)',
 'sage_cat_irac': 'SAGE IRAC Single Frame + Mosaic Photometry Catalog (more reliable)',
 'sage_cat_irac_e1e2': 'SAGE IRAC Epoch 1 and Epoch 2 Catalog (more reliable)',
 'sage_cat_irac_match': 'SAGE IRAC Matched Epoch Archive (more reliable)',
 'sage_cat_irac_off': 'SAGE IRAC Offset Position Epoch 1 and Epoch 2 Catalog (more reliable)',
 'sage_cat_m160': 'SAGE MIPS 160 um Combined Epoch Catalog (more reliable)',
 'sage_cat_m24': 'SAGE MIPS 24 um Epoch 1 and Epoch 2 Catalog (more reliable)',
 'sage_cat_m24_match': 'SAGE MIPS 24 um Matched Epoch Catalog (more reliable)',
 'sage_cat_m70': 'SAGE MIPS 70 um Combined Epoch Catalog (more reliable)',
 'sage_full_m160': 'SAGE MIPS 160 um Combined Epoch Catalog (more complete, less reliable)',
 'sage_full_m24': 'SAGE MIPS 24 um Epoch 1 and Epoch 2 Full List (more complete, less reliable)',
 'sage_full_m24_match': 'SAGE MIPS 24 um Matched Epoch Full List (more complete, less reliable)',
 'sage_full_m70': 'SAGE MIPS 70 um Combined Epoch Full List (more complete, less reliable)',
 'sagearciracv2': "SAGE Winter '08 IRAC Epoch 1 and Epoch 2 Archive (more complete, less reliable)",
 'sagecatiracv2': "SAGE Winter '08 IRAC Epoch 1 and Epoch 2 Catalog (more reliable)",
 'sagecatmips24v2': "SAGE Winter '08 MIPS 24 um Epoch 1 and Epoch 2 Catalog (more reliable)",
 'sagefull': 'SAGE-Var LMC Full Catalog',
 'sagesmc_iraca': 'SAGE-SMC IRAC Epoch 0, Epoch 1, and Epoch 2 Archive (less reliable)',
 'sagesmc_iracadr3': 'SAGE-SMC IRAC Single Frame + Mosaic Photometry Archive v1.5',
 'sagesmc_iracc': 'SAGE-SMC IRAC Epoch 0, Epoch 1, and Epoch 2 Catalog (more reliable)',
 'sagesmc_iraccdr3': 'SAGE-SMC IRAC Single Frame + Mosaic Photometry Catalog v1.5',
 'sagesmc_iracep1a': 'SAGE-SMC IRAC Epoch 1 Archive (less reliable)',
 'sagesmc_iracep1c': 'SAGE-SMC IRAC Epoch 1 Catalog (more reliable)',
 'sagesmc_mips160c': 'SAGE-SMC MIPS 160um Combined Epoch Catalog (more reliable)',
 'sagesmc_mips160f': 'SAGE-SMC MIPS 160um Combined Epoch Full List (more complete, less reliable)',
 'sagesmc_mips24c': 'SAGE-SMC MIPS 24 um Epoch 0, Epoch 1, and Epoch 2 Catalog (more reliable)',
 'sagesmc_mips24ep1c': 'SAGE-SMC MIPS 24um Epoch 1 Catalog (more reliable)',
 'sagesmc_mips24ep1f': 'SAGE-SMC MIPS 24um Epoch 1 Full List (less reliable)',
 'sagesmc_mips24f': 'SAGE-SMC MIPS 24 um Epoch 0, Epoch 1, and Epoch 2 Full List (more complete, less reliable)',
 'sagesmc_mips70c': 'SAGE-SMC MIPS 70um Combined Epoch Catalog (more reliable)',
 'sagesmc_mips70f': 'SAGE-SMC MIPS 70um Combined Epoch Full List (more complete, less reliable)',
 'sagesmcfull': 'SAGE-Var SMC Full Catalog',
 'sagesmcvar': 'SAGE-Var SMC Variable Catalog',
 'sagevar': 'SAGE-Var LMC Variable Catalog',
 'sass_v3': 'SASS October 2011 Catalog',
 'scan_dat': '2MASS First Incremental Release Survey Scan Info',
 'scan_dat_2': '2MASS Second Incremental Release Survey Scan Info',
 'scf_info': '2MASS LMC/SMC Calibration Merged Point Source Information Table',
 'scf_link': '2MASS LMC/SMC Calibration Merged Point Source Link Table',
 'scosmos_irac_0407': 'S-COSMOS IRAC 4-channel Photometry Catalog June 2007 (README)',
 'scosmos_mips_160_v3': 'S-COSMOS MIPS 160um Photometry Catalog v3 Jan 2009',
 'scosmos_mips_24_go2': 'S-COSMOS MIPS 24um MAIN Photometry Catalog June 2007 (Aug 2008: Important Flux-correction Note)',
 'scosmos_mips_24_go2_deep': 'S-COSMOS MIPS 24um DEEP Photometry Catalog June 2007 (Aug 2008: Important Flux-correction Note)',
 'scosmos_mips_24_go3': 'S-COSMOS MIPS 24 Photometry Catalog October 2008',
 'scosmos_mips_70_v3': 'S-COSMOS MIPS 70um Photometry Catalog v3 Jan 2009',
 'sdwfs_ch1_epoch1': "SDWFS Aug '09 DR1.1 IRAC 3.6um-Selected 3x30sec Coadd, epoch 1 (Jan '04)",
 'sdwfs_ch1_epoch2': "SDWFS Aug '09 DR1.1 IRAC 3.6um-Selected 3x30sec Coadd, epoch 2 (Aug '07)",
 'sdwfs_ch1_epoch3': "SDWFS Aug '09 DR1.1 IRAC 3.6um-Selected 3x30sec Coadd, epoch 3 (Feb '08)",
 'sdwfs_ch1_epoch4': "SDWFS Aug '09 DR1.1 IRAC 3.6um-Selected 3x30sec Coadd, epoch 4 (Mar '08)",
 'sdwfs_ch1_stack': "SDWFS Aug'09 DR1.1 IRAC 3.6um-Selected Total Coadd Stack",
 'sdwfs_ch2_epoch1': "SDWFS Aug '09 DR1.1 IRAC 4.5um-Selected 3x30sec Coadd, epoch 1 (Jan '04)",
 'sdwfs_ch2_epoch2': "SDWFS Aug '09 DR1.1 IRAC 4.5um-Selected 3x30sec Coadd, epoch 2 (Aug '07)",
 'sdwfs_ch2_epoch3': "SDWFS Aug '09 DR1.1 IRAC 4.5um-Selected 3x30sec Coadd, epoch 3 (Feb '08)",
 'sdwfs_ch2_epoch4': "SDWFS Aug '09 DR1.1 IRAC 4.5um-Selected 3x30sec Coadd, epoch 4 (Mar '08)",
 'sdwfs_ch2_stack': "SDWFS Aug '09 DR1.1 IRAC 4.5um-Selected Total Coadd Stack",
 'sdwfs_ch3_epoch1': "SDWFS Aug '09 DR1.1 IRAC 5.8um-Selected 3x30sec Coadd, epoch 1 (Jan '04)",
 'sdwfs_ch3_epoch2': "SDWFS Aug '09 DR1.1 IRAC 5.8um-Selected 3x30sec Coadd, epoch 2 (Aug '07)",
 'sdwfs_ch3_epoch3': "SDWFS Aug '09 DR1.1 IRAC 5.8um-Selected 3x30sec Coadd, epoch 3 (Feb '08)",
 'sdwfs_ch3_epoch4': "SDWFS Aug '09 DR1.1 IRAC 5.8um-Selected 3x30sec Coadd, epoch 4 (Mar '08)",
 'sdwfs_ch3_stack': "SDWFS Aug '09 DR1.1 IRAC 5.8um-Selected Total Coadd Stack",
 'sdwfs_ch4_epoch1': "SDWFS Aug '09 DR1.1 IRAC 8.0um-Selected 3x30sec Coadd, epoch 1 (Jan '04)",
 'sdwfs_ch4_epoch2': "SDWFS Aug '09 DR1.1 IRAC 8.0um-Selected 3x30sec Coadd, epoch 2 (Aug '07)",
 'sdwfs_ch4_epoch3': "SDWFS Aug '09 DR1.1 IRAC 8.0um-Selected 3x30sec Coadd, epoch 3 (Feb '08)",
 'sdwfs_ch4_epoch4': "SDWFS Aug '09 DR1.1 IRAC 8.0um-Selected 3x30sec Coadd, epoch 4 (Mar '08)",
 'sdwfs_ch4_stack': "SDWFS Aug '09 DR1.1 IRAC 8.0um-Selected Total Coadd Stack",
 'sdwfs_lcurve': 'SDWFS Light Curve Catalog',
 'sdwfs_var': 'SDWFS Variability Catalog',
 'sep_mw': 'SEP Multiwavelength Photometric Catalog',
 'sepm24': 'SEP MIPS 24 micron Point Source Catalog',
 'sepm70': 'SEP MIPS 70 micron Point Source Catalog',
 'sepmext': 'SEP MIPS Extended Source Catalog',
 'servscdfsi1': 'SERVS CDFS 3.6 micron Catalog',
 'servscdfsi12': 'SERVS CDFS 2-band Catalog (highly reliable)',
 'servscdfsi2': 'SERVS CDFS 4.5 micron Catalog',
 'servseni1': 'SERVS ELAIS N1 3.6 micron Catalog',
 'servseni12': 'SERVS ELAIS N1 2-band Catalog (highly reliable)',
 'servseni2': 'SERVS ELAIS N1 4.5 micron Catalog',
 'servsesi1': 'SERVS ELAIS S1 3.6 micron Catalog',
 'servsesi12': 'SERVS ELAIS S1 2-band Catalog (highly reliable)',
 'servsesi2': 'SERVS ELAIS S1 4.5 micron Catalog',
 'servslhi1': 'SERVS Lockman Hole 3.6 micron Catalog',
 'servslhi12': 'SERVS Lockman Hole 2-band Catalog (highly reliable)',
 'servslhi2': 'SERVS Lockman Hole 4.5 micron Catalog',
 'servsxmmi1': 'SERVS XMM-LSS 3.6 micron Catalog',
 'servsxmmi12': 'SERVS XMM-LSS 2-band Catalog (highly reliable)',
 'servsxmmi2': 'SERVS XMM-LSS 4.5 micron Catalog',
 'shelacomb': 'SHELA Combined Epoch IRAC Catalog',
 'shelaep1': 'SHELA Epoch 1 IRAC Catalog',
 'shelaep2': 'SHELA Epoch 2 IRAC Catalog',
 'shelaep3': 'SHELA Epoch 3 IRAC Catalog',
 'shelasdss': 'SHELA-SDSS Stripe 82 Catalog',
 'simple': 'SIMPLE Photometry Catalog',
 'sixxf_info': '2MASS 6X w/LMC/SMC Merged Point Source Information Table',
 'sixxf_link': '2MASS 6X w/LMC/SMC Merged Point Source Link Table',
 'slicovv2': 'SEIP IRAC Coverage Table',
 'slmcovv2': 'SEIP MIPS Coverage Table',
 'slphotdr4': 'SEIP Source List',
 'sltracev2': 'SEIP Traceback Table',
 'smuvs': 'SMUVS Source Catalog',
 'spiesch1': 'SpIES 3.6 micron-only Catalog',
 'spiesch12': 'SpIES Dual-band Catalog',
 'spiesch2': 'SpIES 4.5 micron-only Catalog',
 'spsc250': 'SPIRE Point Source Catalog: 250 microns',
 'spsc350': 'SPIRE Point Source Catalog: 350 microns',
 'spsc500': 'SPIRE Point Source Catalog: 500 microns',
 'spscxid': 'SPIRE Point Source Catalog Cross-Reference Matrix',
 'spuds_irac': 'SpUDS IRAC Catalog',
 'spuds_mips': 'SpUDS MIPS Catalog',
 'ssdf1': 'SSDF IRAC Ch1 Catalog',
 'ssdf2': 'SSDF IRAC Ch2 Catalog',
 'ssid2': 'SAGE-Spec ID Search',
 'summary': 'IRAS Large Galaxies Catalog',
 'swire_lhisod': 'SWIRE Lockman Hole ISOCAM Deep Field Catalog',
 'swire_lhisos': 'SWIRE Lockman Hole ISOCAM Shallow Field Catalog',
 'taurus_2008_2_1': 'Taurus Catalog October 2008 v2.1',
 'ucac4_sources': 'USNO CCD Astrograph Catalog (UCAC4)',
 'ucac5': 'USNO CCD Astrograph Catalog (UCAC5)',
 'urat1': 'The First USNO Robotic Astrometric Telescope Catalog (URAT1)',
 'usno_b1': 'USNO-B1 (United States Naval Observatory B1.0 Catalog)',
 'velcara': 'Vela-Carina Archive (more complete, less reliable)',
 'velcarc': 'Vela-Carina Catalog (highly reliable)',
 'wisegalhii': 'WISE Catalog of Galactic HII Regions v2.2',
 'wsdb_info': '2MASS Survey Merged Point Source Information Table',
 'wsdb_link': '2MASS Survey Merged Point Source Link Table',
 'xfls_i1m': 'Extragalactic FLS IRAC Channel 1 Main Field Catalog',
 'xfls_i1v': 'Extragalactic FLS IRAC Channel 1 Verification Field Catalog',
 'xfls_i2m': 'Extragalactic FLS IRAC Channel 2 Main Field Catalog',
 'xfls_i2v': 'Extragalactic FLS IRAC Channel 2 Verification Field Catalog',
 'xfls_i3m': 'Extragalactic FLS IRAC Channel 3 Main Field Catalog',
 'xfls_i3v': 'Extragalactic FLS IRAC Channel 3 Verification Field Catalog',
 'xfls_i4m': 'Extragalactic FLS IRAC Channel 4 Main Field Catalog',
 'xfls_i4v': 'Extragalactic FLS IRAC Channel 4 Verification Field Catalog',
 'xfls_iallm': 'Extragalactic FLS IRAC Bandmerged Main Field Catalog',
 'xfls_iallv': 'Extragalactic FLS IRAC Bandmerged Verification Field Catalog',
 'xfls_kpno': 'Extragalactic FLS KPNO R-band Source List',
 'xfls_m1t2': 'Extragalactic FLS MIPS 24 micron Extended Source Catalog',
 'xfls_m1t4': 'Extragalactic FLS MIPS 24 micron Calibration Star Catalog',
 'xfls_m1t5': 'Extragalactic FLS MIPS 24 micron Point Source Catalog',
 'xfls_m2': 'Extragalactic FLS MIPS 70 micron Catalog',
 'xfls_m3': 'Extragalactic FLS MIPS 160 micron Catalog',
 'xfls_w2': 'Extragalactic FLS WIYN/Hydra Spectroscopic Catalog',
 'xfls_w3': 'Extragalactic FLS WIYN/Hydra Line Strength and Equivalent Width Catalog',
 'xfls_w4': 'Extragalactic FLS WIYN/Hydra Line Ratios and Extinction Catalog',
 'xmm_160_cat_s05': "SWIRE XMM_LSS Region 160um Spring '05 Spitzer Catalog",
 'xmm_24_cat_s05': "SWIRE XMM_LSS Region 24um Spring '05 Spitzer Catalog",
 'xmm_70_cat_s05': "SWIRE XMM_LSS Region 70um Spring '05 Spitzer Catalog",
 'xmm_cat_s05': "SWIRE XMM_LSS Region Spring '05 Spitzer Catalog",
 'ysoggd1215lc': 'YSOVAR GGD 12-15 Light Curve Table',
 'ysoggd1215obj': 'YSOVAR GGD 12-15 Object Table',
 'ysoi20050lc': 'YSOVAR IRAS 20050+2720 Light Curve Table',
 'ysoi20050obj': 'YSOVAR IRAS 20050+2720 Object Table',
 'ysol1688lc': 'YSOVAR L1688 Light Curve Table',
 'ysol1688obj': 'YSOVAR L1688 Object Table',
 'yson1333lc': 'YSOVAR NGC1333 Light Curve Table',
 'yson1333obj': 'YSOVAR NGC1333 Object Table',
 'z0mgsdr1index': 'z0MGS DR1 Index',
 'z0mgsdr1simple': 'z0MGS DR1 7.5 arcsec Simple Index',
 'ztf_objects_dr1': 'ZTF DR1 Objects',
 'ztf_objects_dr2': 'ZTF DR2 Objects'}

In [34]:
table = Irsa.query_region("m82", catalog="fp_psc", spatial="Cone",radius=10 * u.arcmin)

In [35]:
table


Out[35]:
<Table masked=True length=267>
radecclonclaterr_majerr_minerr_angdesignationj_mj_cmsigj_msigcomj_snrh_mh_cmsigh_msigcomh_snrk_mk_cmsigk_msigcomk_snrph_qualrd_flgbl_flgcc_flgndetgal_contammp_flghemisxdatescanglonglatadist_optphi_optb_m_optvr_m_optnopt_mchsext_keydistanglej_hh_kj_k
degdegarcsarcsdegmagmagmagmagmagmagmagmagmagdegdegarcsdegmagmagarcsdeg
float64float64objectobjectfloat64float64int32objectfloat64float64float64float64float64float64float64float64float64float64float64float64objectobjectobjectobjectobjectint32int32objectobjectint32float64float64objectfloat64int32float64float64int32int32float64float64float64float64float64
148.96887269.67975609h55m52.53s69d40m47.12s0.110.114509555252+694047110.4370.1050.1062252.38.325------7.560------EUU20010000066000020n1999-03-1361141.40940.5670--------0--1.696474322.92944------
148.96738569.67989309h55m52.17s69d40m47.61s0.080.084509555217+69404769.621------9.1140.1210.1212939.88.1700.0890.0895412.8UEE02201100000556620n1999-03-1361141.41040.5670--------0--3.422646302.656303--0.944--
148.97191369.68032109h55m53.26s69d40m49.16s0.060.064509555325+694049110.6910.0730.0741782.59.5270.0960.0962009.68.7000.0830.0843322.2EEE222111c0066556620n1999-03-1361141.40840.5680--------0--4.3816939.3634921.1640.8271.991
148.97073269.68135109h55m52.98s69d40m52.86s0.120.111009555297+694052811.6730.1150.115721.59.173------8.535------EUU200100c0066000020n1999-03-1361141.40740.5670--------0--7.2141810.402201------
148.97333369.68148009h55m53.60s69d40m53.33s0.110.114509555359+694053312.7540.0270.030266.69.516------8.853------EUU200100c0066000020n1999-03-1361141.40640.5670--------0--8.82577331.063322------
148.96286269.67873409h55m51.09s69d40m43.44s0.120.124509555108+694043411.5260.1290.129826.18.956------8.157------EUU200100c0066000020n1999-03-1361141.41240.5660--------0--8.847499254.763729------
148.96077769.67977109h55m50.59s69d40m47.18s0.110.114509555058+694047110.9600.1160.1161391.38.853------8.106------EUU20010000066000020n1999-03-1361141.41240.5650--------0--11.231337277.203872------
148.96056969.67948909h55m50.54s69d40m46.16s0.080.084509555053+694046110.064------9.5990.1260.1261880.78.8430.1180.1182912.2UEE02201100000446620n1999-03-1361141.41240.5650--------0--11.409643271.97518--0.756--
148.96102969.67813909h55m50.65s69d40m41.30s0.110.119009555064+694041312.2870.0410.042409.99.405------8.687------EUU260200c0066000020n1999-03-1361141.41340.5660--------0--11.713599247.583455------
....................................................................................................................................
148.59482669.58922609h54m22.76s69d35m21.21s0.270.2615109542275+693521216.5000.1290.1298.815.9610.2170.2175.515.8130.2260.2274.7BCD22211100006060600n1999-03-1360141.60640.5140--------0--570.876118235.5288450.5390.1480.687
149.36572769.60073909h57m27.77s69d36m02.66s0.160.129009572777+693602615.8800.0750.07616.115.4980.1080.1099.814.8200.1060.10710.3ABA22211100026060500n1999-02-0970141.38740.7250--------0--571.13938119.529370.3820.6781.06
149.15081369.53299709h56m36.20s69d31m58.79s0.070.068309563619+693158713.3980.0220.025152.512.9050.0250.02689.512.6220.0200.02289.7AAA22211100066556600n1999-03-1362141.51840.7040--------0--573.876247156.5907960.4930.2830.776
148.80923869.52903709h55m14.22s69d31m44.53s0.060.069009551421+693144515.1150.0460.04830.314.6190.0590.06018.514.5640.0730.07315.0AAA22211100066461500n1999-03-1361141.61340.609U0.414617.4016.301--577.458424200.4772150.4960.0550.551
149.41812969.63938109h57m40.35s69d38m21.77s0.450.329009574035+693821716.2750.0990.10011.215.6870.1310.1328.215.3280.1670.1676.5ABC22211100016060500n1999-02-0970141.33240.717U0.420819.7018.601--579.338522104.1815640.5880.3590.947
149.40633169.62531309h57m37.52s69d37m31.13s0.120.109009573751+693731113.6980.0210.024119.713.4210.0280.02966.213.2600.0320.03443.4AAA22211100066665500n1999-02-0970141.35040.722U0.624515.4014.701--580.197883109.3965140.2770.1610.438
148.58239869.76867709h54m19.78s69d46m07.24s0.070.069009541977+69460726.9090.0190.02660093.86.1560.0130.02046399.25.9710.0110.01841022.3AAA11111100066566600n1999-03-1360141.41640.406T0.121811.199.572--580.336915303.8188610.7530.1850.938
149.20234269.82282309h56m48.56s69d49m22.16s0.200.1816909564856+694922116.1660.1090.11011.915.6340.1570.1577.215.0900.1240.1249.2BCB22211100006040600n1999-03-1362141.19440.5490--------0--592.19048129.1982450.5320.5441.076
149.36831269.58964509h57m28.39s69d35m22.72s0.120.109009572839+693522713.8690.0240.027102.313.3670.0310.03269.513.1280.0340.03549.0AAA22211100066666600n1999-02-0970141.39840.7330--------0--594.77836122.7103610.5020.2390.741
148.74224469.53368409h54m58.14s69d32m01.26s0.060.069009545813+693201214.2190.0300.03271.613.7580.0390.04042.213.6030.0380.03936.3AAA22211100066666600n1999-03-1360141.62640.588U0.116316.2015.401--597.089216208.6523350.4610.1550.616

In [36]:
table.keys()


Out[36]:
['ra',
 'dec',
 'clon',
 'clat',
 'err_maj',
 'err_min',
 'err_ang',
 'designation',
 'j_m',
 'j_cmsig',
 'j_msigcom',
 'j_snr',
 'h_m',
 'h_cmsig',
 'h_msigcom',
 'h_snr',
 'k_m',
 'k_cmsig',
 'k_msigcom',
 'k_snr',
 'ph_qual',
 'rd_flg',
 'bl_flg',
 'cc_flg',
 'ndet',
 'gal_contam',
 'mp_flg',
 'hemis',
 'xdate',
 'scan',
 'glon',
 'glat',
 'a',
 'dist_opt',
 'phi_opt',
 'b_m_opt',
 'vr_m_opt',
 'nopt_mchs',
 'ext_key',
 'dist',
 'angle',
 'j_h',
 'h_k',
 'j_k']

SDSS query

SDSS or the Sloan Digital Sky Survey is a massive survey of the sky which originally was optical imaging and spectroscopy. It has been operating for over 20 years and the well beyond the original planned survey as it has expanded to near-infrared observations of stars and IFUs (integral field units) for observing galaxies and eventually the whole sky LVM (Local Volume Mapper). It is an immense data set to draw from.


In [37]:
from astroquery.sdss import SDSS

Coordinates of your favorite object, in this case M82 in degrees.


In [38]:
ra, dec = 148.969687, 69.679383

In [39]:
co = coordinates.SkyCoord(ra=ra, dec=dec,unit=(u.deg, u.deg), frame='fk5')

In [40]:
xid = SDSS.query_region(co, radius=10 * u.arcmin)
# print the first 10 entries
print(xid[:10])
print(xid.keys())


       ra              dec               objid        run  rerun camcol field
---------------- ---------------- ------------------- ---- ----- ------ -----
148.923611196825 69.6663207726878 1237663789038764073 4264   301      5   261
148.924689615825 69.6726754178346 1237663789038764101 4264   301      5   261
148.818879857427 69.6409543957138 1237663789038764118 4264   301      5   261
148.924633883972 69.6726954878249 1237663789038764152 4264   301      5   261
148.819608619158 69.6807100728031 1237663918423015737 4294   301      6   236
148.819847983728 69.6938004755562 1237663918423015784 4294   301      6   236
148.817864279597 69.6986945246482 1237663918423015797 4294   301      6   236
148.819193629511 69.6935685093305 1237663918423015808 4294   301      6   236
148.819155372234 69.7091800240338 1237663918423015837 4294   301      6   236
148.818288549398 69.7510837534116 1237663918423016353 4294   301      6   236
['ra', 'dec', 'objid', 'run', 'rerun', 'camcol', 'field']

In [41]:
print(xid['ra','dec'][:10]) # print the first 10 entries


       ra              dec       
---------------- ----------------
148.923611196825 69.6663207726878
148.924689615825 69.6726754178346
148.818879857427 69.6409543957138
148.924633883972 69.6726954878249
148.819608619158 69.6807100728031
148.819847983728 69.6938004755562
148.817864279597 69.6986945246482
148.819193629511 69.6935685093305
148.819155372234 69.7091800240338
148.818288549398 69.7510837534116

Skyview

Skyview is a virtual observatory that is connected to several surveys and imaging data sets spanning multiple wavelengths. It can be a handy way to get quick access to multi-wavelength imaging data for your favorite object.


In [42]:
from astroquery.skyview import SkyView

SkyView.list_surveys()


{u'Allbands:GOODS/HDF/CDF': [u'GOODS: Chandra ACIS HB',
                             u'GOODS: Chandra ACIS FB',
                             u'GOODS: Chandra ACIS SB',
                             u'GOODS: VLT VIMOS U',
                             u'GOODS: VLT VIMOS R',
                             u'GOODS: HST ACS B',
                             u'GOODS: HST ACS V',
                             u'GOODS: HST ACS I',
                             u'GOODS: HST ACS Z',
                             u'Hawaii HDF U',
                             u'Hawaii HDF B',
                             u'Hawaii HDF V0201',
                             u'Hawaii HDF V0401',
                             u'Hawaii HDF R',
                             u'Hawaii HDF I',
                             u'Hawaii HDF z',
                             u'Hawaii HDF HK',
                             u'GOODS: HST NICMOS',
                             u'GOODS: VLT ISAAC J',
                             u'GOODS: VLT ISAAC H',
                             u'GOODS: VLT ISAAC Ks',
                             u'HUDF: VLT ISAAC Ks',
                             u'GOODS: Spitzer IRAC 3.6',
                             u'GOODS: Spitzer IRAC 4.5',
                             u'GOODS: Spitzer IRAC 5.8',
                             u'GOODS: Spitzer IRAC 8.0',
                             u'GOODS: Spitzer MIPS 24',
                             u'GOODS: Herschel 100',
                             u'GOODS: Herschel 160',
                             u'GOODS: Herschel 250',
                             u'GOODS: Herschel 350',
                             u'GOODS: Herschel 500',
                             u'CDFS: LESS',
                             u'GOODS: VLA North'],
 u'Allbands:HiPS': [u'UltraVista-H',
                    u'UltraVista-J',
                    u'UltraVista-Ks',
                    u'UltraVista-NB118',
                    u'UltraVista-Y',
                    u'CFHTLS-W-u',
                    u'CFHTLS-W-g',
                    u'CFHTLS-W-r',
                    u'CFHTLS-W-i',
                    u'CFHTLS-W-z',
                    u'CFHTLS-D-u',
                    u'CFHTLS-D-g',
                    u'CFHTLS-D-r',
                    u'CFHTLS-D-i',
                    u'CFHTLS-D-z'],
 u'GammaRay': [u'Fermi 5',
               u'Fermi 4',
               u'Fermi 3',
               u'Fermi 2',
               u'Fermi 1',
               u'EGRET (3D)',
               u'EGRET <100 MeV',
               u'EGRET >100 MeV',
               u'COMPTEL'],
 u'HardX-ray': [u'INT GAL 17-35 Flux',
                u'INT GAL 17-60 Flux',
                u'INT GAL 35-80 Flux',
                u'INTEGRAL/SPI GC',
                u'GRANAT/SIGMA',
                u'RXTE Allsky 3-8keV Flux',
                u'RXTE Allsky 3-20keV Flux',
                u'RXTE Allsky 8-20keV Flux'],
 u'IR:2MASS class=': [u'2MASS-J', u'2MASS-H', u'2MASS-K'],
 u'IR:AKARI class=': [u'AKARI N60',
                      u'AKARI WIDE-S',
                      u'AKARI WIDE-L',
                      u'AKARI N160'],
 u'IR:IRAS': [u'IRIS  12',
              u'IRIS  25',
              u'IRIS  60',
              u'IRIS 100',
              u'SFD100m',
              u'SFD Dust Map',
              u'IRAS  12 micron',
              u'IRAS  25 micron',
              u'IRAS  60 micron',
              u'IRAS 100 micron'],
 u'IR:Planck': [u'Planck 857 I',
                u'Planck 545 I',
                u'Planck 353 I',
                u'Planck 353 Q',
                u'Planck 353 U',
                u'Planck 353 PI',
                u'Planck 353 PA',
                u'Planck 353 PI/I',
                u'Planck 217 I',
                u'Planck 217 Q',
                u'Planck 217 U',
                u'Planck 217 PI',
                u'Planck 217 PA',
                u'Planck 217 PI/I',
                u'Planck 143 I',
                u'Planck 143 Q',
                u'Planck 143 U',
                u'Planck 143 PI',
                u'Planck 143 PA',
                u'Planck 143 PI/I',
                u'Planck 100 I',
                u'Planck 100 Q',
                u'Planck 100 U',
                u'Planck 100 PI',
                u'Planck 100 PA',
                u'Planck 100 PI/I',
                u'Planck 070 I',
                u'Planck 070 Q',
                u'Planck 070 U',
                u'Planck 070 PI',
                u'Planck 070 PA',
                u'Planck 070 PI/I',
                u'Planck 044 I',
                u'Planck 044 Q',
                u'Planck 044 U',
                u'Planck 044 PI',
                u'Planck 044 PA',
                u'Planck 044 PI/I',
                u'Planck 030 I',
                u'Planck 030 Q',
                u'Planck 030 U',
                u'Planck 030 PI',
                u'Planck 030 PA',
                u'Planck 030 PI/I'],
 u'IR:UKIDSS class=': [u'UKIDSS-Y', u'UKIDSS-J', u'UKIDSS-H', u'UKIDSS-K'],
 u'IR:WISE class=': [u'WISE 3.4', u'WISE 4.6', u'WISE 12', u'WISE 22'],
 u'IR:WMAP&COBE': [u'WMAP ILC',
                   u'WMAP Ka',
                   u'WMAP K',
                   u'WMAP Q',
                   u'WMAP V',
                   u'WMAP W',
                   u'COBE DIRBE/AAM',
                   u'COBE DIRBE/ZSMA'],
 u'Optical:DSS class=': [u'DSS',
                         u'DSS1 Blue',
                         u'DSS1 Red',
                         u'DSS2 Red',
                         u'DSS2 Blue',
                         u'DSS2 IR'],
 u'Optical:SDSS': [u'SDSSg',
                   u'SDSSi',
                   u'SDSSr',
                   u'SDSSu',
                   u'SDSSz',
                   u'SDSSdr7g',
                   u'SDSSdr7i',
                   u'SDSSdr7r',
                   u'SDSSdr7u',
                   u'SDSSdr7z'],
 u'OtherOptical': [u'Mellinger Red',
                   u'Mellinger Green',
                   u'Mellinger Blue',
                   u'NEAT',
                   u'H-Alpha Comp',
                   u'SHASSA H',
                   u'SHASSA CC',
                   u'SHASSA C',
                   u'SHASSA Sm'],
 u'ROSATDiffuse class=': [u'RASS Background 1',
                          u'RASS Background 2',
                          u'RASS Background 3',
                          u'RASS Background 4',
                          u'RASS Background 5',
                          u'RASS Background 6',
                          u'RASS Background 7'],
 u'ROSATw/sources class=': [u'RASS-Cnt Soft',
                            u'RASS-Cnt Hard',
                            u'RASS-Cnt Broad',
                            u'PSPC 2.0 Deg-Int',
                            u'PSPC 1.0 Deg-Int',
                            u'PSPC 0.6 Deg-Int',
                            u'HRI'],
 u'Radio:GHz': [u'CO',
                u'GB6 (4850MHz)',
                u'VLA FIRST (1.4 GHz)',
                u'NVSS',
                u'Stripe82VLA',
                u'1420MHz (Bonn)',
                u'HI4PI',
                u'EBHIS',
                u'nH'],
 u'Radio:GLEAM class=': [u'GLEAM 72-103 MHz',
                         u'GLEAM 103-134 MHz',
                         u'GLEAM 139-170 MHz',
                         u'GLEAM 170-231 MHz'],
 u'Radio:MHz class=': [u'SUMSS 843 MHz',
                       u'0408MHz',
                       u'WENSS',
                       u'TGSS ADR1',
                       u'VLSSr',
                       u'0035MHz',
                       u'0022MHz'],
 u'SoftX-ray class=': [u'SwiftXRTCnt',
                       u'SwiftXRTExp',
                       u'SwiftXRTInt',
                       u'HEAO 1 A-2'],
 u'SwiftUVOT class=': [u'UVOT WHITE Intensity',
                       u'UVOT V Intensity',
                       u'UVOT B Intensity',
                       u'UVOT U Intensity',
                       u'UVOT UVW1 Intensity',
                       u'UVOT UVM2 Intensity',
                       u'UVOT UVW2 Intensity'],
 u'UV': [u'GALEX Near UV',
         u'GALEX Far UV',
         u'ROSAT WFC F1',
         u'ROSAT WFC F2',
         u'EUVE 83 A',
         u'EUVE 171 A',
         u'EUVE 405 A',
         u'EUVE 555 A'],
 u'X-ray:SwiftBAT': [u'BAT SNR 14-195',
                     u'BAT SNR 14-20',
                     u'BAT SNR 20-24',
                     u'BAT SNR 24-35',
                     u'BAT SNR 35-50',
                     u'BAT SNR 50-75',
                     u'BAT SNR 75-100',
                     u'BAT SNR 100-150',
                     u'BAT SNR 150-195']}

In [43]:
pflist = SkyView.get_images(position='M82', survey=['SDSSr'],radius=10 * u.arcmin)

In [44]:
ext = 0
pf = pflist[0] # first element of the list, might need a loop if multiple images
m82_image = pf[ext].data

Plot image


In [45]:
ax = plt.subplot()
ax.imshow(m82_image, cmap='gray_r', origin='lower', vmin=-10, vmax=20)
ax.set_xlabel('X (pixels)')
ax.set_ylabel('Y (pixels)')


Out[45]:
Text(0,0.5,'Y (pixels)')

Plot the in RA and Declination coordinates space, instead of pixels. The WCS (or World Coordinates System) in a FITS file has a set of keywords that define the coordinate system.

Typical keywords are the following:

CRVAL1, CRVAL2 - RA and Declination (in degrees) coordinates of CRPIX1 and CRPIX2.

CRPIX1, CRPIX2 - Pixel positions of CRVAL1 and CRVAL2.

CDELT1, CDELT2 - pixel scale (or plate scale) in degrees/pixel (or CD matrix: CD1_1, CD1_2, CD2_1, CD2_2 which represent the pixel scale and rotation with respect to the position angle)


In [46]:
from astropy.wcs import WCS

Use the FITS header to define the WCS of the image.


In [47]:
head = pf[ext].header
wcs = WCS(head)

ax = plt.subplot(projection=wcs)
ax.imshow(m82_image, cmap='gray_r', origin='lower', vmin=-10, vmax=20)
#ax.grid(color='white', ls='solid')
ax.set_xlabel('Right Ascension (J2000)')
ax.set_ylabel('Declination (J2000)')

#ax.scatter(xid['ra'],xid['dec'],marker="o",s=50,transform=ax.get_transform('fk5'),edgecolor='b', facecolor='none')


Resources

http://learn.astropy.org/tutorials.html - list of all the Astropy tutorials

https://docs.astropy.org/en/stable/wcs/ - Astropy WCS implementation

https://docs.astropy.org/en/stable/table/ - Astropy data tables

https://docs.astropy.org/en/stable/units/ - Astropy units

https://astroquery.readthedocs.io - astroquery documentation

https://photutils.readthedocs.io - photutils documentation


In [ ]: