MAST Table Access Protocol PanSTARRS 1 DR2 Demo#


This tutorial demonstrates how to use astroquery to access PanSTARRS 1 Data Release 2 via a Virtual Observatory standard Table Access Protocol (TAP) service at MAST, and work with the resultant data. It relies on Python 3 and astroquery, as well as some other common scientific packages.


Table of Contents#

  1. TAP Service Introduction

  2. Imports

  3. Connecting to a TAP Service

  4. Use Cases

  5. Additional Resources

  6. About This Notebook


TAP Service Introduction#

Table Access Protocol (TAP) services allow more direct and flexible access to astronomical data than the simpler types of IVOA standard data services. Queries are built with the SQL-like Astronomical Data Query Language (ADQL), and can include geographic / spatial queries as well as filtering on other characteristics of the data. This also allows the user fine-grained control over the returned columns, unlike the fixed set of coumns returned from cone, image, and spectral services.

For this example, we’ll be using the astropy affiliated PyVO client, which is interoperable with other valid TAP services, including those at MAST. PyVO documentation is available at ReadTheDocs: https://pyvo.readthedocs.io

We’ll be using PyVO to call the TAP service at MAST serving PanSTARRS 1 Data Release 2, now with individual detection information. The schema is described within the service, and we’ll show how to inspect it. The schema is also the same as the one available via the CasJobs interface, with an additional view added for the most common positional queries. CasJobs has its own copy of the schema documentation, which can be accessed through its own site: http://mastweb.stsci.edu/ps1casjobs/


Imports#

# Use the pyvo library as our client to the data service.
import pyvo as vo

# For resolving objects with tools from MAST
from astroquery.mast import Mast

# For handling ordinary astropy Tables in responses
from astropy.table import Table

# For displaying and manipulating some types of results
%matplotlib inline
import requests
import astropy
import numpy as np
import pylab
import time
import json
from matplotlib import pyplot as plt

# suppress unimportant unit warnings from many TAP services
import warnings
warnings.filterwarnings("ignore", module="astropy.io.votable.*")
warnings.filterwarnings("ignore", module="pyvo.utils.xml.elements")

Connecting to a TAP Service#

The PyVO library is able to connect to any TAP service, given the “base” URL as noted in metadata registry resources describing the service. This is the URL for the PanSTARRS 1 DR2 TAP service.

TAP_service = vo.dal.TAPService("https://mast.stsci.edu/vo-tap/api/v0.1/ps1dr2/")
TAP_service.describe()
Capability ivo://ivoa.net/std/TAP

Interface vs:ParamHTTP
    https://mast.stsci.edu/vo-tap/api/v0.1/ps1dr2

Language ADQL
Output format application/x-votable+xml
    Also available as votable

Output format text/csv;header=present
    Also available as csv

Maximum size of resultsets
    Default 100000 row
    Maximum 100000 row


Capability ivo://ivoa.net/std/DALI#examples

Interface vr:WebBrowser
    https://mast.stsci.edu/vo-tap/api/v0.1/ps1dr2/examples

List available tables#

TAP_tables = TAP_service.tables
for tablename in TAP_tables.keys():
    if not "tap_schema" in tablename:  
        TAP_tables[tablename].describe()
        print("Columns={}".format(sorted([k.name for k in TAP_tables[tablename].columns ])))
        print("----")
dbo.ForcedMeanLensing
    Contains the mean Kaiser et al. (1995) lensing parameters measured from the forced photometry of objects detected in stacked images on the individual single epoch data.  References: Kaiser, N., Squires, G., and Broadhurst, T. 1995, ApJ, 449, 460.

Columns=['batchID', 'gLensObjShearE1', 'gLensObjShearE2', 'gLensObjShearX11', 'gLensObjShearX12', 'gLensObjShearX22', 'gLensObjSmearE1', 'gLensObjSmearE2', 'gLensObjSmearX11', 'gLensObjSmearX12', 'gLensObjSmearX22', 'gLensPSFShearE1', 'gLensPSFShearE2', 'gLensPSFShearX11', 'gLensPSFShearX12', 'gLensPSFShearX22', 'gLensPSFSmearE1', 'gLensPSFSmearE2', 'gLensPSFSmearX11', 'gLensPSFSmearX12', 'gLensPSFSmearX22', 'iLensObjShearE1', 'iLensObjShearE2', 'iLensObjShearX11', 'iLensObjShearX12', 'iLensObjShearX22', 'iLensObjSmearE1', 'iLensObjSmearE2', 'iLensObjSmearX11', 'iLensObjSmearX12', 'iLensObjSmearX22', 'iLensPSFShearE1', 'iLensPSFShearE2', 'iLensPSFShearX11', 'iLensPSFShearX12', 'iLensPSFShearX22', 'iLensPSFSmearE1', 'iLensPSFSmearE2', 'iLensPSFSmearX11', 'iLensPSFSmearX12', 'iLensPSFSmearX22', 'ippObjID', 'nDetections', 'objID', 'processingVersion', 'rLensObjShearE1', 'rLensObjShearE2', 'rLensObjShearX11', 'rLensObjShearX12', 'rLensObjShearX22', 'rLensObjSmearE1', 'rLensObjSmearE2', 'rLensObjSmearX11', 'rLensObjSmearX12', 'rLensObjSmearX22', 'rLensPSFShearE1', 'rLensPSFShearE2', 'rLensPSFShearX11', 'rLensPSFShearX12', 'rLensPSFShearX22', 'rLensPSFSmearE1', 'rLensPSFSmearE2', 'rLensPSFSmearX11', 'rLensPSFSmearX12', 'rLensPSFSmearX22', 'randomForcedObjID', 'uniquePspsFOid', 'yLensObjShearE1', 'yLensObjShearE2', 'yLensObjShearX11', 'yLensObjShearX12', 'yLensObjShearX22', 'yLensObjSmearE1', 'yLensObjSmearE2', 'yLensObjSmearX11', 'yLensObjSmearX12', 'yLensObjSmearX22', 'yLensPSFShearE1', 'yLensPSFShearE2', 'yLensPSFShearX11', 'yLensPSFShearX12', 'yLensPSFShearX22', 'yLensPSFSmearE1', 'yLensPSFSmearE2', 'yLensPSFSmearX11', 'yLensPSFSmearX12', 'yLensPSFSmearX22', 'zLensObjShearE1', 'zLensObjShearE2', 'zLensObjShearX11', 'zLensObjShearX12', 'zLensObjShearX22', 'zLensObjSmearE1', 'zLensObjSmearE2', 'zLensObjSmearX11', 'zLensObjSmearX12', 'zLensObjSmearX22', 'zLensPSFShearE1', 'zLensPSFShearE2', 'zLensPSFShearX11', 'zLensPSFShearX12', 'zLensPSFShearX22', 'zLensPSFSmearE1', 'zLensPSFSmearE2', 'zLensPSFSmearX11', 'zLensPSFSmearX12', 'zLensPSFSmearX22']
----
dbo.ForcedMeanObject
    Contains the mean of single-epoch photometric information for sources detected in the stacked data, calculated as described in Magnier et al. (2013).  The mean is calculated for detections associated into objects within a one arcsecond correlation radius.  PSF, Kron (1980), and SDSS aperture R5 (r = 3.00 arcsec), R6 (r = 4.63 arcsec), and R7 (r = 7.43 arcsec) apertures (Stoughton 2002) magnitudes and statistics are listed for all filters.  References: Kaiser, N., Squires, G., and Broadhurst, T. 1995, ApJ, 449, 460; Kron, R. G. 1980, ApJS, 43, 305; Magnier, E. A., Schlafly, E., Finkbeiner, D., et al. 2013, ApJS, 205, 20; Stoughton, C., Lupton, R. H., Bernardi, M., et al. 2002, AJ, 123, 485.

Columns=['batchID', 'gE1', 'gE2', 'gFApFlux', 'gFApFluxErr', 'gFApFluxStd', 'gFApMag', 'gFApMagErr', 'gFKronFlux', 'gFKronFluxErr', 'gFKronFluxStd', 'gFKronMag', 'gFKronMagErr', 'gFPSFFlux', 'gFPSFFluxErr', 'gFPSFFluxStd', 'gFPSFMag', 'gFPSFMagErr', 'gFlags', 'gFmeanMagR5', 'gFmeanMagR5Err', 'gFmeanMagR6', 'gFmeanMagR6Err', 'gFmeanMagR7', 'gFmeanMagR7Err', 'gFmeanflxR5', 'gFmeanflxR5Err', 'gFmeanflxR5Fill', 'gFmeanflxR5Std', 'gFmeanflxR6', 'gFmeanflxR6Err', 'gFmeanflxR6Fill', 'gFmeanflxR6Std', 'gFmeanflxR7', 'gFmeanflxR7Err', 'gFmeanflxR7Fill', 'gFmeanflxR7Std', 'gnIncApFlux', 'gnIncKronFlux', 'gnIncPSFFlux', 'gnIncR5', 'gnIncR6', 'gnIncR7', 'gnTotal', 'iE1', 'iE2', 'iFApFlux', 'iFApFluxErr', 'iFApFluxStd', 'iFApMag', 'iFApMagErr', 'iFKronFlux', 'iFKronFluxErr', 'iFKronFluxStd', 'iFKronMag', 'iFKronMagErr', 'iFPSFFlux', 'iFPSFFluxErr', 'iFPSFFluxStd', 'iFPSFMag', 'iFPSFMagErr', 'iFlags', 'iFmeanMagR5', 'iFmeanMagR5Err', 'iFmeanMagR6', 'iFmeanMagR6Err', 'iFmeanMagR7', 'iFmeanMagR7Err', 'iFmeanflxR5', 'iFmeanflxR5Err', 'iFmeanflxR5Fill', 'iFmeanflxR5Std', 'iFmeanflxR6', 'iFmeanflxR6Err', 'iFmeanflxR6Fill', 'iFmeanflxR6Std', 'iFmeanflxR7', 'iFmeanflxR7Err', 'iFmeanflxR7Fill', 'iFmeanflxR7Std', 'inIncApFlux', 'inIncKronFlux', 'inIncPSFFlux', 'inIncR5', 'inIncR6', 'inIncR7', 'inTotal', 'ippObjID', 'nDetections', 'objID', 'processingVersion', 'rE1', 'rE2', 'rFApFlux', 'rFApFluxErr', 'rFApFluxStd', 'rFApMag', 'rFApMagErr', 'rFKronFlux', 'rFKronFluxErr', 'rFKronFluxStd', 'rFKronMag', 'rFKronMagErr', 'rFPSFFlux', 'rFPSFFluxErr', 'rFPSFFluxStd', 'rFPSFMag', 'rFPSFMagErr', 'rFlags', 'rFmeanMagR5', 'rFmeanMagR5Err', 'rFmeanMagR6', 'rFmeanMagR6Err', 'rFmeanMagR7', 'rFmeanMagR7Err', 'rFmeanflxR5', 'rFmeanflxR5Err', 'rFmeanflxR5Fill', 'rFmeanflxR5Std', 'rFmeanflxR6', 'rFmeanflxR6Err', 'rFmeanflxR6Fill', 'rFmeanflxR6Std', 'rFmeanflxR7', 'rFmeanflxR7Err', 'rFmeanflxR7Fill', 'rFmeanflxR7Std', 'randomForcedObjID', 'rnIncApFlux', 'rnIncKronFlux', 'rnIncPSFFlux', 'rnIncR5', 'rnIncR6', 'rnIncR7', 'rnTotal', 'uniquePspsFOid', 'yE1', 'yE2', 'yFApFlux', 'yFApFluxErr', 'yFApFluxStd', 'yFApMag', 'yFApMagErr', 'yFKronFlux', 'yFKronFluxErr', 'yFKronFluxStd', 'yFKronMag', 'yFKronMagErr', 'yFPSFFlux', 'yFPSFFluxErr', 'yFPSFFluxStd', 'yFPSFMag', 'yFPSFMagErr', 'yFlags', 'yFmeanMagR5', 'yFmeanMagR5Err', 'yFmeanMagR6', 'yFmeanMagR6Err', 'yFmeanMagR7', 'yFmeanMagR7Err', 'yFmeanflxR5', 'yFmeanflxR5Err', 'yFmeanflxR5Fill', 'yFmeanflxR5Std', 'yFmeanflxR6', 'yFmeanflxR6Err', 'yFmeanflxR6Fill', 'yFmeanflxR6Std', 'yFmeanflxR7', 'yFmeanflxR7Err', 'yFmeanflxR7Fill', 'yFmeanflxR7Std', 'ynIncApFlux', 'ynIncKronFlux', 'ynIncPSFFlux', 'ynIncR5', 'ynIncR6', 'ynIncR7', 'ynTotal', 'zE1', 'zE2', 'zFApFlux', 'zFApFluxErr', 'zFApFluxStd', 'zFApMag', 'zFApMagErr', 'zFKronFlux', 'zFKronFluxErr', 'zFKronFluxStd', 'zFKronMag', 'zFKronMagErr', 'zFPSFFlux', 'zFPSFFluxErr', 'zFPSFFluxStd', 'zFPSFMag', 'zFPSFMagErr', 'zFlags', 'zFmeanMagR5', 'zFmeanMagR5Err', 'zFmeanMagR6', 'zFmeanMagR6Err', 'zFmeanMagR7', 'zFmeanMagR7Err', 'zFmeanflxR5', 'zFmeanflxR5Err', 'zFmeanflxR5Fill', 'zFmeanflxR5Std', 'zFmeanflxR6', 'zFmeanflxR6Err', 'zFmeanflxR6Fill', 'zFmeanflxR6Std', 'zFmeanflxR7', 'zFmeanflxR7Err', 'zFmeanflxR7Fill', 'zFmeanflxR7Std', 'znIncApFlux', 'znIncKronFlux', 'znIncPSFFlux', 'znIncR5', 'znIncR6', 'znIncR7', 'znTotal']
----
dbo.ForcedMeanObjectView
    -- ObjectThin join ForcedMeanObject joined by objID colummn.

Columns=['b', 'batchID', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gE1', 'gE2', 'gFApFlux', 'gFApFluxErr', 'gFApFluxStd', 'gFKronFlux', 'gFKronFluxErr', 'gFKronFluxStd', 'gFPSFFlux', 'gFPSFFluxErr', 'gFPSFFluxStd', 'gFlags', 'gFmeanflxR5', 'gFmeanflxR5Err', 'gFmeanflxR5Fill', 'gFmeanflxR5Std', 'gFmeanflxR6', 'gFmeanflxR6Err', 'gFmeanflxR6Fill', 'gFmeanflxR6Std', 'gFmeanflxR7', 'gFmeanflxR7Err', 'gFmeanflxR7Fill', 'gFmeanflxR7Std', 'gnIncApFlux', 'gnIncKronFlux', 'gnIncPSFFlux', 'gnIncR5', 'gnIncR6', 'gnIncR7', 'gnTotal', 'htmID', 'iE1', 'iE2', 'iFApFlux', 'iFApFluxErr', 'iFApFluxStd', 'iFKronFlux', 'iFKronFluxErr', 'iFKronFluxStd', 'iFPSFFlux', 'iFPSFFluxErr', 'iFPSFFluxStd', 'iFlags', 'iFmeanflxR5', 'iFmeanflxR5Err', 'iFmeanflxR5Fill', 'iFmeanflxR5Std', 'iFmeanflxR6', 'iFmeanflxR6Err', 'iFmeanflxR6Fill', 'iFmeanflxR6Std', 'iFmeanflxR7', 'iFmeanflxR7Err', 'iFmeanflxR7Fill', 'iFmeanflxR7Std', 'inIncApFlux', 'inIncKronFlux', 'inIncPSFFlux', 'inIncR5', 'inIncR6', 'inIncR7', 'inTotal', 'ippObjID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'processingVersion', 'projectionID', 'qualityFlag', 'rE1', 'rE2', 'rFApFlux', 'rFApFluxErr', 'rFApFluxStd', 'rFKronFlux', 'rFKronFluxErr', 'rFKronFluxStd', 'rFPSFFlux', 'rFPSFFluxErr', 'rFPSFFluxStd', 'rFlags', 'rFmeanflxR5', 'rFmeanflxR5Err', 'rFmeanflxR5Fill', 'rFmeanflxR5Std', 'rFmeanflxR6', 'rFmeanflxR6Err', 'rFmeanflxR6Fill', 'rFmeanflxR6Std', 'rFmeanflxR7', 'rFmeanflxR7Err', 'rFmeanflxR7Fill', 'rFmeanflxR7Std', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rnIncApFlux', 'rnIncKronFlux', 'rnIncPSFFlux', 'rnIncR5', 'rnIncR6', 'rnIncR7', 'rnTotal', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yE1', 'yE2', 'yFApFlux', 'yFApFluxErr', 'yFApFluxStd', 'yFKronFlux', 'yFKronFluxErr', 'yFKronFluxStd', 'yFPSFFlux', 'yFPSFFluxErr', 'yFPSFFluxStd', 'yFlags', 'yFmeanflxR5', 'yFmeanflxR5Err', 'yFmeanflxR5Fill', 'yFmeanflxR5Std', 'yFmeanflxR6', 'yFmeanflxR6Err', 'yFmeanflxR6Fill', 'yFmeanflxR6Std', 'yFmeanflxR7', 'yFmeanflxR7Err', 'yFmeanflxR7Fill', 'yFmeanflxR7Std', 'ynIncApFlux', 'ynIncKronFlux', 'ynIncPSFFlux', 'ynIncR5', 'ynIncR6', 'ynIncR7', 'ynTotal', 'zE1', 'zE2', 'zFApFlux', 'zFApFluxErr', 'zFApFluxStd', 'zFKronFlux', 'zFKronFluxErr', 'zFKronFluxStd', 'zFPSFFlux', 'zFPSFFluxErr', 'zFPSFFluxStd', 'zFlags', 'zFmeanflxR5', 'zFmeanflxR5Err', 'zFmeanflxR5Fill', 'zFmeanflxR5Std', 'zFmeanflxR6', 'zFmeanflxR6Err', 'zFmeanflxR6Fill', 'zFmeanflxR6Std', 'zFmeanflxR7', 'zFmeanflxR7Err', 'zFmeanflxR7Fill', 'zFmeanflxR7Std', 'znIncApFlux', 'znIncKronFlux', 'znIncPSFFlux', 'znIncR5', 'znIncR6', 'znIncR7', 'znTotal', 'zoneID']
----
dbo.Detection
    Contains single epoch photometry of individual detections from a single exposure.  The identifiers connecting the detection back to the original image and to the object association are provided.  PSF, aperture, and Kron (1980) photometry are included, along with sky and detector coordinate positions.  References: Kron, R. G. 1980, ApJS, 43, 305.

Columns=['airMass', 'apFillF', 'apFlux', 'apFluxErr', 'apRadius', 'dec', 'decErr', 'detectID', 'dvoRegionID', 'expTime', 'extNSigma', 'filterID', 'imageID', 'infoFlag', 'infoFlag2', 'infoFlag3', 'ippDetectID', 'ippObjID', 'kronFlux', 'kronFluxErr', 'kronRad', 'momentM3C', 'momentM3S', 'momentM4C', 'momentM4S', 'momentR1', 'momentRH', 'momentXX', 'momentXY', 'momentYY', 'objID', 'obsTime', 'pltScale', 'posAngle', 'processingVersion', 'psfChiSq', 'psfCore', 'psfFlux', 'psfFluxErr', 'psfLikelihood', 'psfMajorFWHM', 'psfMinorFWHM', 'psfQf', 'psfQfPerfect', 'psfTheta', 'ra', 'raErr', 'randomDetID', 'sky', 'skyErr', 'surveyID', 'telluricExt', 'uniquePspsP2id', 'xPos', 'xPosErr', 'yPos', 'yPosErr', 'zp']
----
dbo.DetectionFlags
    Contains information flag values for detections.

Columns=['"value"', 'description', 'hexadecimal', 'name']
----
dbo.DetectionFlags2
    Contains information flag values for detections.  References: Petrosian, V. 1976, ApJL, 209, L1.

Columns=['"value"', 'description', 'hexadecimal', 'name']
----
dbo.DetectionFlags3
    Contains information flag values for detections.  References:  Kron, R. G. 1980, ApJS, 43, 305.

Columns=['"value"', 'description', 'hexadecimal', 'name']
----
dbo.DetectionObjectView
    -- ObjectThin join Detection joined by objID column.

Columns=['airMass', 'apFillF', 'apFlux', 'apFluxErr', 'apRadius', 'b', 'batchID', 'beta', 'cx', 'cy', 'cz', 'dec', 'decErr', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'detectID', 'dvoRegionID', 'epochMean', 'expTime', 'extNSigma', 'filterID', 'gFlags', 'gMeanApMag', 'gMeanApMagErr', 'gMeanApMagNpt', 'gMeanApMagStd', 'gMeanKronMag', 'gMeanKronMagErr', 'gMeanKronMagNpt', 'gMeanKronMagStd', 'gMeanPSFMag', 'gMeanPSFMagErr', 'gMeanPSFMagMax', 'gMeanPSFMagMin', 'gMeanPSFMagNpt', 'gMeanPSFMagStd', 'gQfPerfect', 'htmID', 'iFlags', 'iMeanApMag', 'iMeanApMagErr', 'iMeanApMagNpt', 'iMeanApMagStd', 'iMeanKronMag', 'iMeanKronMagErr', 'iMeanKronMagNpt', 'iMeanKronMagStd', 'iMeanPSFMag', 'iMeanPSFMagErr', 'iMeanPSFMagMax', 'iMeanPSFMagMin', 'iMeanPSFMagNpt', 'iMeanPSFMagStd', 'iQfPerfect', 'imageID', 'infoFlag', 'infoFlag2', 'infoFlag3', 'ippObjID', 'kronFlux', 'kronFluxErr', 'kronRad', 'l', 'lambda', 'momentM3C', 'momentM3S', 'momentM4C', 'momentM4S', 'momentR1', 'momentRH', 'momentXX', 'momentXY', 'momentYY', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'obsTime', 'pltScale', 'posAngle', 'posMeanChisq', 'processingVersion', 'projectionID', 'psfChiSq', 'psfCore', 'psfFlux', 'psfFluxErr', 'psfLikelihood', 'psfMajorFWHM', 'psfMinorFWHM', 'psfQf', 'psfQfPerfect', 'psfTheta', 'qualityFlag', 'rFlags', 'rMeanApMag', 'rMeanApMagErr', 'rMeanApMagNpt', 'rMeanApMagStd', 'rMeanKronMag', 'rMeanKronMagErr', 'rMeanKronMagNpt', 'rMeanKronMagStd', 'rMeanPSFMag', 'rMeanPSFMagErr', 'rMeanPSFMagMax', 'rMeanPSFMagMin', 'rMeanPSFMagNpt', 'rMeanPSFMagStd', 'rQfPerfect', 'ra', 'raErr', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomDetID', 'randomID', 'sky', 'skyCellID', 'skyErr', 'surveyID', 'telluricExt', 'tessID', 'uniquePspsOBid', 'uniquePspsP2id', 'xPos', 'xPosErr', 'yFlags', 'yMeanApMag', 'yMeanApMagErr', 'yMeanApMagNpt', 'yMeanApMagStd', 'yMeanKronMag', 'yMeanKronMagErr', 'yMeanKronMagNpt', 'yMeanKronMagStd', 'yMeanPSFMag', 'yMeanPSFMagErr', 'yMeanPSFMagMax', 'yMeanPSFMagMin', 'yMeanPSFMagNpt', 'yMeanPSFMagStd', 'yPos', 'yPosErr', 'yQfPerfect', 'zFlags', 'zMeanApMag', 'zMeanApMagErr', 'zMeanApMagNpt', 'zMeanApMagStd', 'zMeanKronMag', 'zMeanKronMagErr', 'zMeanKronMagNpt', 'zMeanKronMagStd', 'zMeanPSFMag', 'zMeanPSFMagErr', 'zMeanPSFMagMax', 'zMeanPSFMagMin', 'zMeanPSFMagNpt', 'zMeanPSFMagStd', 'zQfPerfect', 'zoneID', 'zp']
----
dbo.DiffDetection
    Contains the photometry of individual detections from a difference image.  The identifiers connecting the detection back to the difference image and to the object association are provided.  PSF, aperture, and Kron (1980) photometry are included, along with sky and detector coordinate positions.  Statistics  References: Kron, R. G. 1980, ApJS, 43, 305.

Columns=['DapFillF', 'DapFlux', 'DapFluxErr', 'DinfoFlag', 'DinfoFlag2', 'DinfoFlag3', 'DkronFlux', 'DkronFluxErr', 'DkronRad', 'DmomentR1', 'DmomentRH', 'DmomentXX', 'DmomentXY', 'DmomentYY', 'DpsfChiSq', 'DpsfCore', 'DpsfFlux', 'DpsfFluxErr', 'DpsfLikelihood', 'DpsfMajorFWHM', 'DpsfMinorFWHM', 'DpsfQf', 'DpsfQfPerfect', 'DpsfTheta', 'Dsky', 'DskyErr', 'airMass', 'ccdID', 'dec', 'decErr', 'diffDetID', 'diffFPosRatio', 'diffImageID', 'diffNPos', 'diffNPosAll', 'diffNPosMask', 'diffNPosRatio', 'diffNegDist', 'diffNegSN', 'diffObjID', 'diffPosDist', 'diffPosSN', 'dvoRegionID', 'expTime', 'filterID', 'fromPosImage', 'ippDetectID', 'ippObjID', 'obsTime', 'pltScale', 'posAngle', 'processingVersion', 'projectionID', 'ra', 'raErr', 'randomDiffID', 'skyCellID', 'surveyID', 'telluricExt', 'tessID', 'uniquePspsDFid', 'xPos', 'xPosChip', 'xPosErr', 'yPos', 'yPosChip', 'yPosErr', 'zp']
----
dbo.DiffDetEffMeta
    Contains the detection efficiency information for a given individual difference image.  Provides the number of recovered sources out of 500 injected sources and statistics about the magnitudes of the recovered sources for a range of magnitude offsets.

Columns=['counts01', 'counts02', 'counts03', 'counts04', 'counts05', 'counts06', 'counts07', 'counts08', 'counts09', 'counts10', 'counts11', 'counts12', 'counts13', 'diffImageID', 'diffMean01', 'diffMean02', 'diffMean03', 'diffMean04', 'diffMean05', 'diffMean06', 'diffMean07', 'diffMean08', 'diffMean09', 'diffMean10', 'diffMean11', 'diffMean12', 'diffMean13', 'diffStdev01', 'diffStdev02', 'diffStdev03', 'diffStdev04', 'diffStdev05', 'diffStdev06', 'diffStdev07', 'diffStdev08', 'diffStdev09', 'diffStdev10', 'diffStdev11', 'diffStdev12', 'diffStdev13', 'errMean01', 'errMean02', 'errMean03', 'errMean04', 'errMean05', 'errMean06', 'errMean07', 'errMean08', 'errMean09', 'errMean10', 'errMean11', 'errMean12', 'errMean13', 'magref', 'nInjected', 'offset01', 'offset02', 'offset03', 'offset04', 'offset05', 'offset06', 'offset07', 'offset08', 'offset09', 'offset10', 'offset11', 'offset12', 'offset13']
----
dbo.DiffDetObject
    Contains the positional information for difference detection objects in a number of coordinate systems.  The objects associate difference detections within a one arcsecond radius.  The number of detections in each filter from is listed, along with maximum coverage fractions. References: Szalay, A. S., Gray, J., Fekete, G., et al. 2007, arXiv:cs/0701164.

Columns=['b', 'batchID', 'beta', 'cx', 'cy', 'cz', 'dec', 'diffObjAltName1', 'diffObjAltName2', 'diffObjAltName3', 'diffObjID', 'diffObjName', 'diffObjPSOName', 'diffObjPopularName', 'dvoRegionID', 'gQfPerfect', 'htmID', 'iQfPerfect', 'ippObjID', 'l', 'lambda', 'nDetections', 'ng', 'ni', 'nr', 'ny', 'nz', 'objInfoFlag', 'processingVersion', 'qualityFlag', 'rQfPerfect', 'ra', 'randomDiffObjID', 'surveyID', 'uniquePspsDOid', 'yQfPerfect', 'zQfPerfect', 'zoneID']
----
dbo.DiffDetObjectView
    -- DiffDetObject join DiffDetection joined by diffobjID column.

Columns=['DapFillF', 'DapFlux', 'DapFluxErr', 'DinfoFlag', 'DinfoFlag2', 'DinfoFlag3', 'DkronFlux', 'DkronFluxErr', 'DkronRad', 'DmomentR1', 'DmomentRH', 'DmomentXX', 'DmomentXY', 'DmomentYY', 'DpsfChiSq', 'DpsfCore', 'DpsfFlux', 'DpsfFluxErr', 'DpsfLikelihood', 'DpsfMajorFWHM', 'DpsfMinorFWHM', 'DpsfQf', 'DpsfQfPerfect', 'DpsfTheta', 'Dsky', 'DskyErr', 'airMass', 'b', 'batchID', 'beta', 'ccdID', 'cx', 'cy', 'cz', 'dec', 'decErr', 'diffFPosRatio', 'diffNPos', 'diffNPosAll', 'diffNPosMask', 'diffNPosRatio', 'diffNegDist', 'diffNegSN', 'diffObjAltName1', 'diffObjAltName2', 'diffObjAltName3', 'diffObjID', 'diffObjName', 'diffPosDist', 'diffPosSN', 'dvoRegionID', 'expTime', 'filterID', 'fromPosImage', 'gQfPerfect', 'htmID', 'iQfPerfect', 'ippObjID', 'l', 'lambda', 'nDetections', 'ng', 'ni', 'nr', 'ny', 'nz', 'objInfoFlag', 'obsTime', 'pltScale', 'posAngle', 'processingVersion', 'projectionID', 'qualityFlag', 'rQfPerfect', 'ra', 'raErr', 'randomDiffObjID', 'skyCellID', 'surveyID', 'telluricExt', 'tessID', 'uniquePspsDOid', 'xPos', 'xPosChip', 'xPosErr', 'yPos', 'yPosChip', 'yPosErr', 'yQfPerfect', 'zQfPerfect', 'zoneID', 'zp']
----
dbo.DiffMeta
    Contains metadata related to a difference image constructed by subtracting a stacked image from a single epoch image, or in the case of the MD Survey from a nightly stack (stack made from all exposures in a single filter in a single night).  The astrometric calibration of the reference stack is listed.

Columns=['analysisVer', 'batchID', 'cdelt1', 'cdelt2', 'convolveMax', 'crpix1', 'crpix2', 'crval1', 'crval2', 'ctype1', 'ctype2', 'deconvolveMax', 'detectionThreshold', 'diffImageID', 'diffTypeID', 'expTime', 'filterID', 'frameID', 'ippDiffID', 'kernel', 'md5sum', 'mode', 'negImageID', 'normalization', 'numStamps', 'pc001001', 'pc001002', 'pc002001', 'pc002002', 'photoCalID', 'posImageID', 'processingVersion', 'projectionID', 'psfFWHM', 'psfModelID', 'psfTheta', 'psfWidMajor', 'psfWidMinor', 'skyCellID', 'stampDevMean', 'stampDevRMS', 'surveyID', 'tessID']
----
dbo.DiffToImage
    Contains the mapping of which input images were used to construct a particular difference image.

Columns=['diffImageID', 'imageID']
----
dbo.DiffType
    Contains descriptions of the types of difference images constructed.

Columns=['description', 'diffTypeID', 'name']
----
dbo.Filter
    Contains a description of the optical filters used in the survey (Tonry et al 2012, ApJ 750, 99).

Columns=['filterID', 'filterType']
----
dbo.FitModel
    Contains descriptions of the models used in fitting detections in images, both PSF-like and extended galaxies.  References: de Vaucouleurs, G. 1948, Annales d Astrophysique, 11, 247; Sersic, J. L. 1963, Boletin de la Asociacion Argentina de Astronomia La Plata Argentina, 6, 41.

Columns=['description', 'fitModelID', 'name', 'param1', 'param10', 'param2', 'param3', 'param4', 'param5', 'param6', 'param7', 'param8', 'param9']
----
dbo.ForcedGalaxyModelView
    -- ObjectThin join ForcedGalaxyShape joined by objID column.

Columns=['b', 'batchID', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gGalChisq', 'gGalFlags', 'gGalIndex', 'gGalMag', 'gGalMagErr', 'gGalMajor', 'gGalMajorErr', 'gGalMinor', 'gGalMinorErr', 'gGalPhi', 'galModelType', 'gippDetectID', 'gstackImageID', 'htmID', 'iGalChisq', 'iGalFlags', 'iGalIndex', 'iGalMag', 'iGalMagErr', 'iGalMajor', 'iGalMajorErr', 'iGalMinor', 'iGalMinorErr', 'iGalPhi', 'iippDetectID', 'ippObjID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nFilter', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'processingVersion', 'projectionID', 'qualityFlag', 'rGalChisq', 'rGalFlags', 'rGalIndex', 'rGalMag', 'rGalMagErr', 'rGalMajor', 'rGalMajorErr', 'rGalMinor', 'rGalMinorErr', 'rGalPhi', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rippDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yGalChisq', 'yGalFlags', 'yGalIndex', 'yGalMag', 'yGalMagErr', 'yGalMajor', 'yGalMajorErr', 'yGalMinor', 'yGalMinorErr', 'yGalPhi', 'yippDetectID', 'ystackImageID', 'zGalChisq', 'zGalFlags', 'zGalIndex', 'zGalMag', 'zGalMagErr', 'zGalMajor', 'zGalMajorErr', 'zGalMinor', 'zGalMinorErr', 'zGalPhi', 'zippDetectID', 'zoneID', 'zstackImageID']
----
dbo.ForcedGalaxyShape
    Contains the extended source galaxy shape parameters.  All filters are matched into a single row.  The positions, magnitudes, fluxes, and Sersic indices are inherited from their parent measurement in the StackModelFit tables, and are reproduced here for convenience.  The major and minor axes and orientation are recalculated on a warp-by-warp basis from the best fit given these inherited properties. References:  Sersic, J. L. 1963, Boletin de la Asociacion Argentina de Astronomia La Plata Argentina, 6, 41.

Columns=['gGalChisq', 'gGalFlags', 'gGalIndex', 'gGalMag', 'gGalMagErr', 'gGalMajor', 'gGalMajorErr', 'gGalMinor', 'gGalMinorErr', 'gGalPhi', 'galModelType', 'gippDetectID', 'gstackImageID', 'iGalChisq', 'iGalFlags', 'iGalIndex', 'iGalMag', 'iGalMagErr', 'iGalMajor', 'iGalMajorErr', 'iGalMinor', 'iGalMinorErr', 'iGalPhi', 'iippDetectID', 'ippObjID', 'istackImageID', 'nFilter', 'objID', 'rGalChisq', 'rGalFlags', 'rGalIndex', 'rGalMag', 'rGalMagErr', 'rGalMajor', 'rGalMajorErr', 'rGalMinor', 'rGalMinorErr', 'rGalPhi', 'randomForcedGalID', 'rippDetectID', 'rstackImageID', 'surveyID', 'uniquePspsFGid', 'yGalChisq', 'yGalFlags', 'yGalIndex', 'yGalMag', 'yGalMagErr', 'yGalMajor', 'yGalMajorErr', 'yGalMinor', 'yGalMinorErr', 'yGalPhi', 'yippDetectID', 'ystackImageID', 'zGalChisq', 'zGalFlags', 'zGalIndex', 'zGalMag', 'zGalMagErr', 'zGalMajor', 'zGalMajorErr', 'zGalMinor', 'zGalMinorErr', 'zGalPhi', 'zippDetectID', 'zstackImageID']
----
dbo.ForcedGalaxyShapeFlags
    Contains information flag values that define ForcedGalaxyShape chisq surface failures.

Columns=['"value"', 'description', 'hexadecimal', 'name']
----
dbo.FrameMeta
    Contains metadata related to an individual exposure.  A ""Frame"" refers to the collection of all images obtained by the 60 OTA devices in the camera in a single exposure. The camera configuration, telescope pointing, observation time, and astrometric solution from the detector focal plane (L,M) to the sky (RA,Dec) is provided.

Columns=['airmass', 'analysisVer', 'batchID', 'cameraConfigID', 'cameraID', 'cdelt1', 'cdelt2', 'crpix1', 'crpix2', 'crval1', 'crval2', 'ctype1', 'ctype2', 'decBore', 'expStart', 'expTime', 'filterID', 'frameID', 'frameName', 'ippCamID', 'ippChipID', 'ippWarpID', 'md5sum', 'nOTA', 'nPhotoRef', 'pc001001', 'pc001002', 'pc002001', 'pc002002', 'pca1x0y2', 'pca1x0y3', 'pca1x1y1', 'pca1x1y2', 'pca1x2y0', 'pca1x2y1', 'pca1x3y0', 'pca2x0y2', 'pca2x0y3', 'pca2x1y1', 'pca2x1y2', 'pca2x2y0', 'pca2x2y1', 'pca2x3y0', 'photoScat', 'polyOrder', 'processingVersion', 'raBore', 'surveyID', 'telescopeID']
----
dbo.ImageDetEffMeta
    Contains the detection efficiency information for a given individual OTA image.  Provides the number of recovered sources out of 500 injected fake source and statistics about the magnitudes of the recovered sources for a range of magnitude offsets.

Columns=['counts01', 'counts02', 'counts03', 'counts04', 'counts05', 'counts06', 'counts07', 'counts08', 'counts09', 'counts10', 'counts11', 'counts12', 'counts13', 'diffMean01', 'diffMean02', 'diffMean03', 'diffMean04', 'diffMean05', 'diffMean06', 'diffMean07', 'diffMean08', 'diffMean09', 'diffMean10', 'diffMean11', 'diffMean12', 'diffMean13', 'diffStdev01', 'diffStdev02', 'diffStdev03', 'diffStdev04', 'diffStdev05', 'diffStdev06', 'diffStdev07', 'diffStdev08', 'diffStdev09', 'diffStdev10', 'diffStdev11', 'diffStdev12', 'diffStdev13', 'errMean01', 'errMean02', 'errMean03', 'errMean04', 'errMean05', 'errMean06', 'errMean07', 'errMean08', 'errMean09', 'errMean10', 'errMean11', 'errMean12', 'errMean13', 'frameID', 'imageID', 'magref', 'nInjected', 'offset01', 'offset02', 'offset03', 'offset04', 'offset05', 'offset06', 'offset07', 'offset08', 'offset09', 'offset10', 'offset11', 'offset12', 'offset13']
----
dbo.ImageFlags
    Contains information flag values for images.

Columns=['"value"', 'description', 'hexadecimal', 'name']
----
dbo.ImageMeta
    Contains metadata related to an individual OTA image that comprises a portion of the full exposure.  The characterization of the image quality, the detrends applied, and the astrometric solution from the raw pixels (X,Y) to the detector focal plane (L,M) is provided.

Columns=['apResid', 'astroScat', 'bias', 'biasScat', 'ccdID', 'cdelt1', 'cdelt2', 'crpix1', 'crpix2', 'crval1', 'crval2', 'ctype1', 'ctype2', 'dapResid', 'detectionThreshold', 'detectorID', 'detrend1', 'detrend2', 'detrend3', 'detrend4', 'detrend5', 'detrend6', 'detrend7', 'detrend8', 'filterID', 'frameID', 'imageID', 'momentM2C', 'momentM2S', 'momentM3', 'momentM4', 'momentMajor', 'momentMinor', 'nAstroRef', 'nAxis1', 'nAxis2', 'nDetect', 'nPhotoRef', 'pc001001', 'pc001002', 'pc002001', 'pc002002', 'pca1x0y2', 'pca1x0y3', 'pca1x1y1', 'pca1x1y2', 'pca1x2y0', 'pca1x2y1', 'pca1x3y0', 'pca2x0y2', 'pca2x0y3', 'pca2x1y1', 'pca2x1y2', 'pca2x2y0', 'pca2x2y1', 'pca2x3y0', 'photoCalID', 'photoScat', 'photoZero', 'polyOrder', 'processingVersion', 'psfFWHM', 'psfModelID', 'psfTheta', 'psfWidMajor', 'psfWidMinor', 'qaFlags', 'recalAstroScatX', 'recalAstroScatY', 'recalNAstroStars', 'recalNPhotoStars', 'recalphotoScat', 'sky', 'skyScat']
----
dbo.MeanObject
    Contains the mean photometric information for objects based on the single epoch data, calculated as described in Magnier et al (2013). To be included in this table, an object must be bright enough to have been detected at least once in an individual exposure.  PSF, Kron (1980), and aperture magnitudes and statistics are listed for all filters.  References: Kron, R. G. 1980, ApJS, 43, 305; Magnier, E. A., Schlafly, E., Finkbeiner, D., et al. 2013, ApJS, 205, 20.

Columns=['gFlags', 'gMeanApMag', 'gMeanApMagErr', 'gMeanApMagNpt', 'gMeanApMagStd', 'gMeanKronMag', 'gMeanKronMagErr', 'gMeanKronMagNpt', 'gMeanKronMagStd', 'gMeanPSFMag', 'gMeanPSFMagErr', 'gMeanPSFMagMax', 'gMeanPSFMagMin', 'gMeanPSFMagNpt', 'gMeanPSFMagStd', 'gQfPerfect', 'iFlags', 'iMeanApMag', 'iMeanApMagErr', 'iMeanApMagNpt', 'iMeanApMagStd', 'iMeanKronMag', 'iMeanKronMagErr', 'iMeanKronMagNpt', 'iMeanKronMagStd', 'iMeanPSFMag', 'iMeanPSFMagErr', 'iMeanPSFMagMax', 'iMeanPSFMagMin', 'iMeanPSFMagNpt', 'iMeanPSFMagStd', 'iQfPerfect', 'objID', 'rFlags', 'rMeanApMag', 'rMeanApMagErr', 'rMeanApMagNpt', 'rMeanApMagStd', 'rMeanKronMag', 'rMeanKronMagErr', 'rMeanKronMagNpt', 'rMeanKronMagStd', 'rMeanPSFMag', 'rMeanPSFMagErr', 'rMeanPSFMagMax', 'rMeanPSFMagMin', 'rMeanPSFMagNpt', 'rMeanPSFMagStd', 'rQfPerfect', 'uniquePspsOBid', 'yFlags', 'yMeanApMag', 'yMeanApMagErr', 'yMeanApMagNpt', 'yMeanApMagStd', 'yMeanKronMag', 'yMeanKronMagErr', 'yMeanKronMagNpt', 'yMeanKronMagStd', 'yMeanPSFMag', 'yMeanPSFMagErr', 'yMeanPSFMagMax', 'yMeanPSFMagMin', 'yMeanPSFMagNpt', 'yMeanPSFMagStd', 'yQfPerfect', 'zFlags', 'zMeanApMag', 'zMeanApMagErr', 'zMeanApMagNpt', 'zMeanApMagStd', 'zMeanKronMag', 'zMeanKronMagErr', 'zMeanKronMagNpt', 'zMeanKronMagStd', 'zMeanPSFMag', 'zMeanPSFMagErr', 'zMeanPSFMagMax', 'zMeanPSFMagMin', 'zMeanPSFMagNpt', 'zMeanPSFMagStd', 'zQfPerfect']
----
dbo.MeanObjectView
    -- View based on a combination of the tables MeanObject and ObjectThin joined by objID colummn.

Columns=['b', 'batchID', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gFlags', 'gMeanApMag', 'gMeanApMagErr', 'gMeanApMagNpt', 'gMeanApMagStd', 'gMeanKronMag', 'gMeanKronMagErr', 'gMeanKronMagNpt', 'gMeanKronMagStd', 'gMeanPSFMag', 'gMeanPSFMagErr', 'gMeanPSFMagMax', 'gMeanPSFMagMin', 'gMeanPSFMagNpt', 'gMeanPSFMagStd', 'gQfPerfect', 'htmID', 'iFlags', 'iMeanApMag', 'iMeanApMagErr', 'iMeanApMagNpt', 'iMeanApMagStd', 'iMeanKronMag', 'iMeanKronMagErr', 'iMeanKronMagNpt', 'iMeanKronMagStd', 'iMeanPSFMag', 'iMeanPSFMagErr', 'iMeanPSFMagMax', 'iMeanPSFMagMin', 'iMeanPSFMagNpt', 'iMeanPSFMagStd', 'iQfPerfect', 'ippObjID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'processingVersion', 'projectionID', 'qualityFlag', 'rFlags', 'rMeanApMag', 'rMeanApMagErr', 'rMeanApMagNpt', 'rMeanApMagStd', 'rMeanKronMag', 'rMeanKronMagErr', 'rMeanKronMagNpt', 'rMeanKronMagStd', 'rMeanPSFMag', 'rMeanPSFMagErr', 'rMeanPSFMagMax', 'rMeanPSFMagMin', 'rMeanPSFMagNpt', 'rMeanPSFMagStd', 'rQfPerfect', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yFlags', 'yMeanApMag', 'yMeanApMagErr', 'yMeanApMagNpt', 'yMeanApMagStd', 'yMeanKronMag', 'yMeanKronMagErr', 'yMeanKronMagNpt', 'yMeanKronMagStd', 'yMeanPSFMag', 'yMeanPSFMagErr', 'yMeanPSFMagMax', 'yMeanPSFMagMin', 'yMeanPSFMagNpt', 'yMeanPSFMagStd', 'yQfPerfect', 'zFlags', 'zMeanApMag', 'zMeanApMagErr', 'zMeanApMagNpt', 'zMeanApMagStd', 'zMeanKronMag', 'zMeanKronMagErr', 'zMeanKronMagNpt', 'zMeanKronMagStd', 'zMeanPSFMag', 'zMeanPSFMagErr', 'zMeanPSFMagMax', 'zMeanPSFMagMin', 'zMeanPSFMagNpt', 'zMeanPSFMagStd', 'zQfPerfect', 'zoneID']
----
dbo.ObjectFilterFlags
    Contains information flags for the photometric calibration of an object.

Columns=['"value"', 'description', 'hexadecimal', 'name']
----
dbo.ObjectInfoFlags
    Contains information flag values for objects.

Columns=['"value"', 'description', 'hexadecimal', 'name']
----
dbo.ObjectQualityFlags
    Contains information flag values that denote if an object is real or a possible false positive.

Columns=['"value"', 'description', 'hexadecimal', 'name']
----
dbo.ObjectThin
    Contains the positional information for objects in a number of coordinate systems.  The objects associate single epoch detections and the stacked detections within a one arcsecond radius.  The mean position from the single epoch data is used as the basis for coordinates when available, or the position of an object in the stack when it is not.  The right ascension and declination for both the stack and single epoch mean is provided.  The number of detections in each filter from single epoch data is listed, along with which filters the object has a stack detection.  References: Szalay, A. S., Gray, J., Fekete, G., et al. 2007, arXiv:cs/0701164.

Columns=['b', 'batchID', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'htmID', 'ippObjID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'objPopularName', 'posMeanChisq', 'processingVersion', 'projectionID', 'qualityFlag', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'zoneID']
----
dbo.PhotoCal
    Contains photometric calibration information for each filter and detector image combinations.

Columns=['AB', 'colorExtn', 'colorterm', 'extinction', 'filterID', 'orphanCalColor', 'orphanCalColorErr', 'photoCalID', 'photoCodeDesc', 'startDate', 'zeropoint']
----
dbo.StackApFlx
    Contains the unconvolved fluxes within the SDSS R5 (r = 3.00 arcsec), R6 (r = 4.63 arcsec), and R7 (r = 7.43 arcsec) apertures (Stoughton 2005).  Convolved fluxes within these same apertures are also provided for images convolved to 6 sky pixels (1.5 arcsec) and 8 sky pixels (2.0 arcsec).  All filters are matched into a single row.  See StackObjectThin table for discussion of primary, secondary, and best detections.  References: Stoughton, C., Lupton, R. H., Bernardi, M., et al. 2005, AJ, 123, 485.

Columns=['bestDetection', 'gc6flxR5', 'gc6flxR5Err', 'gc6flxR5Fill', 'gc6flxR5Std', 'gc6flxR6', 'gc6flxR6Err', 'gc6flxR6Fill', 'gc6flxR6Std', 'gc6flxR7', 'gc6flxR7Err', 'gc6flxR7Fill', 'gc6flxR7Std', 'gc8flxR5', 'gc8flxR5Err', 'gc8flxR5Fill', 'gc8flxR5Std', 'gc8flxR6', 'gc8flxR6Err', 'gc8flxR6Fill', 'gc8flxR6Std', 'gc8flxR7', 'gc8flxR7Err', 'gc8flxR7Fill', 'gc8flxR7Std', 'gflxR5', 'gflxR5Err', 'gflxR5Fill', 'gflxR5Std', 'gflxR6', 'gflxR6Err', 'gflxR6Fill', 'gflxR6Std', 'gflxR7', 'gflxR7Err', 'gflxR7Fill', 'gflxR7Std', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'ic6flxR5', 'ic6flxR5Err', 'ic6flxR5Fill', 'ic6flxR5Std', 'ic6flxR6', 'ic6flxR6Err', 'ic6flxR6Fill', 'ic6flxR6Std', 'ic6flxR7', 'ic6flxR7Err', 'ic6flxR7Fill', 'ic6flxR7Std', 'ic8flxR5', 'ic8flxR5Err', 'ic8flxR5Fill', 'ic8flxR5Std', 'ic8flxR6', 'ic8flxR6Err', 'ic8flxR6Fill', 'ic8flxR6Std', 'ic8flxR7', 'ic8flxR7Err', 'ic8flxR7Fill', 'ic8flxR7Std', 'iflxR5', 'iflxR5Err', 'iflxR5Fill', 'iflxR5Std', 'iflxR6', 'iflxR6Err', 'iflxR6Fill', 'iflxR6Std', 'iflxR7', 'iflxR7Err', 'iflxR7Fill', 'iflxR7Std', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'randomStackObjID', 'rc6flxR5', 'rc6flxR5Err', 'rc6flxR5Fill', 'rc6flxR5Std', 'rc6flxR6', 'rc6flxR6Err', 'rc6flxR6Fill', 'rc6flxR6Std', 'rc6flxR7', 'rc6flxR7Err', 'rc6flxR7Fill', 'rc6flxR7Std', 'rc8flxR5', 'rc8flxR5Err', 'rc8flxR5Fill', 'rc8flxR5Std', 'rc8flxR6', 'rc8flxR6Err', 'rc8flxR6Fill', 'rc8flxR6Std', 'rc8flxR7', 'rc8flxR7Err', 'rc8flxR7Fill', 'rc8flxR7Std', 'rflxR5', 'rflxR5Err', 'rflxR5Fill', 'rflxR5Std', 'rflxR6', 'rflxR6Err', 'rflxR6Fill', 'rflxR6Std', 'rflxR7', 'rflxR7Err', 'rflxR7Fill', 'rflxR7Std', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'yc6flxR5', 'yc6flxR5Err', 'yc6flxR5Fill', 'yc6flxR5Std', 'yc6flxR6', 'yc6flxR6Err', 'yc6flxR6Fill', 'yc6flxR6Std', 'yc6flxR7', 'yc6flxR7Err', 'yc6flxR7Fill', 'yc6flxR7Std', 'yc8flxR5', 'yc8flxR5Err', 'yc8flxR5Fill', 'yc8flxR5Std', 'yc8flxR6', 'yc8flxR6Err', 'yc8flxR6Fill', 'yc8flxR6Std', 'yc8flxR7', 'yc8flxR7Err', 'yc8flxR7Fill', 'yc8flxR7Std', 'yflxR5', 'yflxR5Err', 'yflxR5Fill', 'yflxR5Std', 'yflxR6', 'yflxR6Err', 'yflxR6Fill', 'yflxR6Std', 'yflxR7', 'yflxR7Err', 'yflxR7Fill', 'yflxR7Std', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zc6flxR5', 'zc6flxR5Err', 'zc6flxR5Fill', 'zc6flxR5Std', 'zc6flxR6', 'zc6flxR6Err', 'zc6flxR6Fill', 'zc6flxR6Std', 'zc6flxR7', 'zc6flxR7Err', 'zc6flxR7Fill', 'zc6flxR7Std', 'zc8flxR5', 'zc8flxR5Err', 'zc8flxR5Fill', 'zc8flxR5Std', 'zc8flxR6', 'zc8flxR6Err', 'zc8flxR6Fill', 'zc8flxR6Std', 'zc8flxR7', 'zc8flxR7Err', 'zc8flxR7Fill', 'zc8flxR7Std', 'zflxR5', 'zflxR5Err', 'zflxR5Fill', 'zflxR5Std', 'zflxR6', 'zflxR6Err', 'zflxR6Fill', 'zflxR6Std', 'zflxR7', 'zflxR7Err', 'zflxR7Fill', 'zflxR7Std', 'zippDetectID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackApFlxExGalCon6
    Contains the fluxes within the SDSS R3 (r = 1.03 arcsec), R4 (r = 1.76 arcsec), R5 (r = 3.00 arcsec), R6 (r = 4.63 arcsec), R7 (r = 7.43 arcsec), R8 (r = 11.42 arcsec), R9 (r = 18.20 arcsec), R10 (r = 28.20 arcsec), and R11 (r = 44.21 arcsec) apertures (Stoughton 2005) for extended sources after the images have been convolved to a target of 6 sky pixels (1.5 arcsec).  These measurements are only provided for objects in the extragalactic sky, i.e., they are not provided for objects in the Galactic plane because they are not useful in crowded areas.  See StackObjectThin table for discussion of primary, secondary, and best detections.  References: Stoughton, C., Lupton, R. H., Bernardi, M., et al. 2005, AJ, 123, 485.

Columns=['bestDetection', 'gc6flxR10', 'gc6flxR10Err', 'gc6flxR10Fill', 'gc6flxR10Std', 'gc6flxR11', 'gc6flxR11Err', 'gc6flxR11Fill', 'gc6flxR11Std', 'gc6flxR3', 'gc6flxR3Err', 'gc6flxR3Fill', 'gc6flxR3Std', 'gc6flxR4', 'gc6flxR4Err', 'gc6flxR4Fill', 'gc6flxR4Std', 'gc6flxR5', 'gc6flxR5Err', 'gc6flxR5Fill', 'gc6flxR5Std', 'gc6flxR6', 'gc6flxR6Err', 'gc6flxR6Fill', 'gc6flxR6Std', 'gc6flxR7', 'gc6flxR7Err', 'gc6flxR7Fill', 'gc6flxR7Std', 'gc6flxR8', 'gc6flxR8Err', 'gc6flxR8Fill', 'gc6flxR8Std', 'gc6flxR9', 'gc6flxR9Err', 'gc6flxR9Fill', 'gc6flxR9Std', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'ic6flxR10', 'ic6flxR10Err', 'ic6flxR10Fill', 'ic6flxR10Std', 'ic6flxR11', 'ic6flxR11Err', 'ic6flxR11Fill', 'ic6flxR11Std', 'ic6flxR3', 'ic6flxR3Err', 'ic6flxR3Fill', 'ic6flxR3Std', 'ic6flxR4', 'ic6flxR4Err', 'ic6flxR4Fill', 'ic6flxR4Std', 'ic6flxR5', 'ic6flxR5Err', 'ic6flxR5Fill', 'ic6flxR5Std', 'ic6flxR6', 'ic6flxR6Err', 'ic6flxR6Fill', 'ic6flxR6Std', 'ic6flxR7', 'ic6flxR7Err', 'ic6flxR7Fill', 'ic6flxR7Std', 'ic6flxR8', 'ic6flxR8Err', 'ic6flxR8Fill', 'ic6flxR8Std', 'ic6flxR9', 'ic6flxR9Err', 'ic6flxR9Fill', 'ic6flxR9Std', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'randomStackObjID', 'rc6flxR10', 'rc6flxR10Err', 'rc6flxR10Fill', 'rc6flxR10Std', 'rc6flxR11', 'rc6flxR11Err', 'rc6flxR11Fill', 'rc6flxR11Std', 'rc6flxR3', 'rc6flxR3Err', 'rc6flxR3Fill', 'rc6flxR3Std', 'rc6flxR4', 'rc6flxR4Err', 'rc6flxR4Fill', 'rc6flxR4Std', 'rc6flxR5', 'rc6flxR5Err', 'rc6flxR5Fill', 'rc6flxR5Std', 'rc6flxR6', 'rc6flxR6Err', 'rc6flxR6Fill', 'rc6flxR6Std', 'rc6flxR7', 'rc6flxR7Err', 'rc6flxR7Fill', 'rc6flxR7Std', 'rc6flxR8', 'rc6flxR8Err', 'rc6flxR8Fill', 'rc6flxR8Std', 'rc6flxR9', 'rc6flxR9Err', 'rc6flxR9Fill', 'rc6flxR9Std', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'yc6flxR10', 'yc6flxR10Err', 'yc6flxR10Fill', 'yc6flxR10Std', 'yc6flxR11', 'yc6flxR11Err', 'yc6flxR11Fill', 'yc6flxR11Std', 'yc6flxR3', 'yc6flxR3Err', 'yc6flxR3Fill', 'yc6flxR3Std', 'yc6flxR4', 'yc6flxR4Err', 'yc6flxR4Fill', 'yc6flxR4Std', 'yc6flxR5', 'yc6flxR5Err', 'yc6flxR5Fill', 'yc6flxR5Std', 'yc6flxR6', 'yc6flxR6Err', 'yc6flxR6Fill', 'yc6flxR6Std', 'yc6flxR7', 'yc6flxR7Err', 'yc6flxR7Fill', 'yc6flxR7Std', 'yc6flxR8', 'yc6flxR8Err', 'yc6flxR8Fill', 'yc6flxR8Std', 'yc6flxR9', 'yc6flxR9Err', 'yc6flxR9Fill', 'yc6flxR9Std', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zc6flxR10', 'zc6flxR10Err', 'zc6flxR10Fill', 'zc6flxR10Std', 'zc6flxR11', 'zc6flxR11Err', 'zc6flxR11Fill', 'zc6flxR11Std', 'zc6flxR3', 'zc6flxR3Err', 'zc6flxR3Fill', 'zc6flxR3Std', 'zc6flxR4', 'zc6flxR4Err', 'zc6flxR4Fill', 'zc6flxR4Std', 'zc6flxR5', 'zc6flxR5Err', 'zc6flxR5Fill', 'zc6flxR5Std', 'zc6flxR6', 'zc6flxR6Err', 'zc6flxR6Fill', 'zc6flxR6Std', 'zc6flxR7', 'zc6flxR7Err', 'zc6flxR7Fill', 'zc6flxR7Std', 'zc6flxR8', 'zc6flxR8Err', 'zc6flxR8Fill', 'zc6flxR8Std', 'zc6flxR9', 'zc6flxR9Err', 'zc6flxR9Fill', 'zc6flxR9Std', 'zippDetectID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackApFlxExGalCon6ObjectView
    -- ObjectThin join StackApFlxExGalCon6 joined by objID column.

Columns=['b', 'batchID', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gc6flxR10', 'gc6flxR10Err', 'gc6flxR10Fill', 'gc6flxR10Std', 'gc6flxR11', 'gc6flxR11Err', 'gc6flxR11Fill', 'gc6flxR11Std', 'gc6flxR3', 'gc6flxR3Err', 'gc6flxR3Fill', 'gc6flxR3Std', 'gc6flxR4', 'gc6flxR4Err', 'gc6flxR4Fill', 'gc6flxR4Std', 'gc6flxR5', 'gc6flxR5Err', 'gc6flxR5Fill', 'gc6flxR5Std', 'gc6flxR6', 'gc6flxR6Err', 'gc6flxR6Fill', 'gc6flxR6Std', 'gc6flxR7', 'gc6flxR7Err', 'gc6flxR7Fill', 'gc6flxR7Std', 'gc6flxR8', 'gc6flxR8Err', 'gc6flxR8Fill', 'gc6flxR8Std', 'gc6flxR9', 'gc6flxR9Err', 'gc6flxR9Fill', 'gc6flxR9Std', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'htmID', 'ic6flxR10', 'ic6flxR10Err', 'ic6flxR10Fill', 'ic6flxR10Std', 'ic6flxR11', 'ic6flxR11Err', 'ic6flxR11Fill', 'ic6flxR11Std', 'ic6flxR3', 'ic6flxR3Err', 'ic6flxR3Fill', 'ic6flxR3Std', 'ic6flxR4', 'ic6flxR4Err', 'ic6flxR4Fill', 'ic6flxR4Std', 'ic6flxR5', 'ic6flxR5Err', 'ic6flxR5Fill', 'ic6flxR5Std', 'ic6flxR6', 'ic6flxR6Err', 'ic6flxR6Fill', 'ic6flxR6Std', 'ic6flxR7', 'ic6flxR7Err', 'ic6flxR7Fill', 'ic6flxR7Std', 'ic6flxR8', 'ic6flxR8Err', 'ic6flxR8Fill', 'ic6flxR8Std', 'ic6flxR9', 'ic6flxR9Err', 'ic6flxR9Fill', 'ic6flxR9Std', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'primaryDetection', 'processingVersion', 'projectionID', 'qualityFlag', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rc6flxR10', 'rc6flxR10Err', 'rc6flxR10Fill', 'rc6flxR10Std', 'rc6flxR11', 'rc6flxR11Err', 'rc6flxR11Fill', 'rc6flxR11Std', 'rc6flxR3', 'rc6flxR3Err', 'rc6flxR3Fill', 'rc6flxR3Std', 'rc6flxR4', 'rc6flxR4Err', 'rc6flxR4Fill', 'rc6flxR4Std', 'rc6flxR5', 'rc6flxR5Err', 'rc6flxR5Fill', 'rc6flxR5Std', 'rc6flxR6', 'rc6flxR6Err', 'rc6flxR6Fill', 'rc6flxR6Std', 'rc6flxR7', 'rc6flxR7Err', 'rc6flxR7Fill', 'rc6flxR7Std', 'rc6flxR8', 'rc6flxR8Err', 'rc6flxR8Fill', 'rc6flxR8Std', 'rc6flxR9', 'rc6flxR9Err', 'rc6flxR9Fill', 'rc6flxR9Std', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yc6flxR10', 'yc6flxR10Err', 'yc6flxR10Fill', 'yc6flxR10Std', 'yc6flxR11', 'yc6flxR11Err', 'yc6flxR11Fill', 'yc6flxR11Std', 'yc6flxR3', 'yc6flxR3Err', 'yc6flxR3Fill', 'yc6flxR3Std', 'yc6flxR4', 'yc6flxR4Err', 'yc6flxR4Fill', 'yc6flxR4Std', 'yc6flxR5', 'yc6flxR5Err', 'yc6flxR5Fill', 'yc6flxR5Std', 'yc6flxR6', 'yc6flxR6Err', 'yc6flxR6Fill', 'yc6flxR6Std', 'yc6flxR7', 'yc6flxR7Err', 'yc6flxR7Fill', 'yc6flxR7Std', 'yc6flxR8', 'yc6flxR8Err', 'yc6flxR8Fill', 'yc6flxR8Std', 'yc6flxR9', 'yc6flxR9Err', 'yc6flxR9Fill', 'yc6flxR9Std', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zc6flxR10', 'zc6flxR10Err', 'zc6flxR10Fill', 'zc6flxR10Std', 'zc6flxR11', 'zc6flxR11Err', 'zc6flxR11Fill', 'zc6flxR11Std', 'zc6flxR3', 'zc6flxR3Err', 'zc6flxR3Fill', 'zc6flxR3Std', 'zc6flxR4', 'zc6flxR4Err', 'zc6flxR4Fill', 'zc6flxR4Std', 'zc6flxR5', 'zc6flxR5Err', 'zc6flxR5Fill', 'zc6flxR5Std', 'zc6flxR6', 'zc6flxR6Err', 'zc6flxR6Fill', 'zc6flxR6Std', 'zc6flxR7', 'zc6flxR7Err', 'zc6flxR7Fill', 'zc6flxR7Std', 'zc6flxR8', 'zc6flxR8Err', 'zc6flxR8Fill', 'zc6flxR8Std', 'zc6flxR9', 'zc6flxR9Err', 'zc6flxR9Fill', 'zc6flxR9Std', 'zippDetectID', 'zoneID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackApFlxExGalCon8
    Contains the fluxes within the SDSS R3 (r = 1.03 arcsec), R4 (r = 1.76 arcsec), R5 (r = 3.00 arcsec), R6 (r = 4.63 arcsec), R7 (r = 7.43 arcsec), R8 (r = 11.42 arcsec), R9 (r = 18.20 arcsec), R10 (r = 28.20 arcsec), and R11 (r = 44.21 arcsec) apertures (Stoughton 2005) for extended sources after the images have been convolved to a target of 8 sky pixels (2.0 arcsec).  These measurements are only provided for objects in the extragalactic sky, i.e., they are not provided for objects in the Galactic plane because they are not useful in crowded areas.  See StackObjectThin table for discussion of primary, secondary, and best detections.  References: Stoughton, C., Lupton, R. H., Bernardi, M., et al. 2005, AJ, 123, 485.

Columns=['bestDetection', 'gc8flxR10', 'gc8flxR10Err', 'gc8flxR10Fill', 'gc8flxR10Std', 'gc8flxR11', 'gc8flxR11Err', 'gc8flxR11Fill', 'gc8flxR11Std', 'gc8flxR3', 'gc8flxR3Err', 'gc8flxR3Fill', 'gc8flxR3Std', 'gc8flxR4', 'gc8flxR4Err', 'gc8flxR4Fill', 'gc8flxR4Std', 'gc8flxR5', 'gc8flxR5Err', 'gc8flxR5Fill', 'gc8flxR5Std', 'gc8flxR6', 'gc8flxR6Err', 'gc8flxR6Fill', 'gc8flxR6Std', 'gc8flxR7', 'gc8flxR7Err', 'gc8flxR7Fill', 'gc8flxR7Std', 'gc8flxR8', 'gc8flxR8Err', 'gc8flxR8Fill', 'gc8flxR8Std', 'gc8flxR9', 'gc8flxR9Err', 'gc8flxR9Fill', 'gc8flxR9Std', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'ic8flxR10', 'ic8flxR10Err', 'ic8flxR10Fill', 'ic8flxR10Std', 'ic8flxR11', 'ic8flxR11Err', 'ic8flxR11Fill', 'ic8flxR11Std', 'ic8flxR3', 'ic8flxR3Err', 'ic8flxR3Fill', 'ic8flxR3Std', 'ic8flxR4', 'ic8flxR4Err', 'ic8flxR4Fill', 'ic8flxR4Std', 'ic8flxR5', 'ic8flxR5Err', 'ic8flxR5Fill', 'ic8flxR5Std', 'ic8flxR6', 'ic8flxR6Err', 'ic8flxR6Fill', 'ic8flxR6Std', 'ic8flxR7', 'ic8flxR7Err', 'ic8flxR7Fill', 'ic8flxR7Std', 'ic8flxR8', 'ic8flxR8Err', 'ic8flxR8Fill', 'ic8flxR8Std', 'ic8flxR9', 'ic8flxR9Err', 'ic8flxR9Fill', 'ic8flxR9Std', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'randomStackObjID', 'rc8flxR10', 'rc8flxR10Err', 'rc8flxR10Fill', 'rc8flxR10Std', 'rc8flxR11', 'rc8flxR11Err', 'rc8flxR11Fill', 'rc8flxR11Std', 'rc8flxR3', 'rc8flxR3Err', 'rc8flxR3Fill', 'rc8flxR3Std', 'rc8flxR4', 'rc8flxR4Err', 'rc8flxR4Fill', 'rc8flxR4Std', 'rc8flxR5', 'rc8flxR5Err', 'rc8flxR5Fill', 'rc8flxR5Std', 'rc8flxR6', 'rc8flxR6Err', 'rc8flxR6Fill', 'rc8flxR6Std', 'rc8flxR7', 'rc8flxR7Err', 'rc8flxR7Fill', 'rc8flxR7Std', 'rc8flxR8', 'rc8flxR8Err', 'rc8flxR8Fill', 'rc8flxR8Std', 'rc8flxR9', 'rc8flxR9Err', 'rc8flxR9Fill', 'rc8flxR9Std', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'yc8flxR10', 'yc8flxR10Err', 'yc8flxR10Fill', 'yc8flxR10Std', 'yc8flxR11', 'yc8flxR11Err', 'yc8flxR11Fill', 'yc8flxR11Std', 'yc8flxR3', 'yc8flxR3Err', 'yc8flxR3Fill', 'yc8flxR3Std', 'yc8flxR4', 'yc8flxR4Err', 'yc8flxR4Fill', 'yc8flxR4Std', 'yc8flxR5', 'yc8flxR5Err', 'yc8flxR5Fill', 'yc8flxR5Std', 'yc8flxR6', 'yc8flxR6Err', 'yc8flxR6Fill', 'yc8flxR6Std', 'yc8flxR7', 'yc8flxR7Err', 'yc8flxR7Fill', 'yc8flxR7Std', 'yc8flxR8', 'yc8flxR8Err', 'yc8flxR8Fill', 'yc8flxR8Std', 'yc8flxR9', 'yc8flxR9Err', 'yc8flxR9Fill', 'yc8flxR9Std', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zc8flxR10', 'zc8flxR10Err', 'zc8flxR10Fill', 'zc8flxR10Std', 'zc8flxR11', 'zc8flxR11Err', 'zc8flxR11Fill', 'zc8flxR11Std', 'zc8flxR3', 'zc8flxR3Err', 'zc8flxR3Fill', 'zc8flxR3Std', 'zc8flxR4', 'zc8flxR4Err', 'zc8flxR4Fill', 'zc8flxR4Std', 'zc8flxR5', 'zc8flxR5Err', 'zc8flxR5Fill', 'zc8flxR5Std', 'zc8flxR6', 'zc8flxR6Err', 'zc8flxR6Fill', 'zc8flxR6Std', 'zc8flxR7', 'zc8flxR7Err', 'zc8flxR7Fill', 'zc8flxR7Std', 'zc8flxR8', 'zc8flxR8Err', 'zc8flxR8Fill', 'zc8flxR8Std', 'zc8flxR9', 'zc8flxR9Err', 'zc8flxR9Fill', 'zc8flxR9Std', 'zippDetectID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackApFlxExGalCon8ObjectView
    -- ObjectThin join StackApFlxExGalCon8 joined by objID column.

Columns=['b', 'batchID', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gc8flxR10', 'gc8flxR10Err', 'gc8flxR10Fill', 'gc8flxR10Std', 'gc8flxR11', 'gc8flxR11Err', 'gc8flxR11Fill', 'gc8flxR11Std', 'gc8flxR3', 'gc8flxR3Err', 'gc8flxR3Fill', 'gc8flxR3Std', 'gc8flxR4', 'gc8flxR4Err', 'gc8flxR4Fill', 'gc8flxR4Std', 'gc8flxR5', 'gc8flxR5Err', 'gc8flxR5Fill', 'gc8flxR5Std', 'gc8flxR6', 'gc8flxR6Err', 'gc8flxR6Fill', 'gc8flxR6Std', 'gc8flxR7', 'gc8flxR7Err', 'gc8flxR7Fill', 'gc8flxR7Std', 'gc8flxR8', 'gc8flxR8Err', 'gc8flxR8Fill', 'gc8flxR8Std', 'gc8flxR9', 'gc8flxR9Err', 'gc8flxR9Fill', 'gc8flxR9Std', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'htmID', 'ic8flxR10', 'ic8flxR10Err', 'ic8flxR10Fill', 'ic8flxR10Std', 'ic8flxR11', 'ic8flxR11Err', 'ic8flxR11Fill', 'ic8flxR11Std', 'ic8flxR3', 'ic8flxR3Err', 'ic8flxR3Fill', 'ic8flxR3Std', 'ic8flxR4', 'ic8flxR4Err', 'ic8flxR4Fill', 'ic8flxR4Std', 'ic8flxR5', 'ic8flxR5Err', 'ic8flxR5Fill', 'ic8flxR5Std', 'ic8flxR6', 'ic8flxR6Err', 'ic8flxR6Fill', 'ic8flxR6Std', 'ic8flxR7', 'ic8flxR7Err', 'ic8flxR7Fill', 'ic8flxR7Std', 'ic8flxR8', 'ic8flxR8Err', 'ic8flxR8Fill', 'ic8flxR8Std', 'ic8flxR9', 'ic8flxR9Err', 'ic8flxR9Fill', 'ic8flxR9Std', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'processingVersion', 'projectionID', 'qualityFlag', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rc8flxR10', 'rc8flxR10Err', 'rc8flxR10Fill', 'rc8flxR10Std', 'rc8flxR11', 'rc8flxR11Err', 'rc8flxR11Fill', 'rc8flxR11Std', 'rc8flxR3', 'rc8flxR3Err', 'rc8flxR3Fill', 'rc8flxR3Std', 'rc8flxR4', 'rc8flxR4Err', 'rc8flxR4Fill', 'rc8flxR4Std', 'rc8flxR5', 'rc8flxR5Err', 'rc8flxR5Fill', 'rc8flxR5Std', 'rc8flxR6', 'rc8flxR6Err', 'rc8flxR6Fill', 'rc8flxR6Std', 'rc8flxR7', 'rc8flxR7Err', 'rc8flxR7Fill', 'rc8flxR7Std', 'rc8flxR8', 'rc8flxR8Err', 'rc8flxR8Fill', 'rc8flxR8Std', 'rc8flxR9', 'rc8flxR9Err', 'rc8flxR9Fill', 'rc8flxR9Std', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yc8flxR10', 'yc8flxR10Err', 'yc8flxR10Fill', 'yc8flxR10Std', 'yc8flxR11', 'yc8flxR11Err', 'yc8flxR11Fill', 'yc8flxR11Std', 'yc8flxR3', 'yc8flxR3Err', 'yc8flxR3Fill', 'yc8flxR3Std', 'yc8flxR4', 'yc8flxR4Err', 'yc8flxR4Fill', 'yc8flxR4Std', 'yc8flxR5', 'yc8flxR5Err', 'yc8flxR5Fill', 'yc8flxR5Std', 'yc8flxR6', 'yc8flxR6Err', 'yc8flxR6Fill', 'yc8flxR6Std', 'yc8flxR7', 'yc8flxR7Err', 'yc8flxR7Fill', 'yc8flxR7Std', 'yc8flxR8', 'yc8flxR8Err', 'yc8flxR8Fill', 'yc8flxR8Std', 'yc8flxR9', 'yc8flxR9Err', 'yc8flxR9Fill', 'yc8flxR9Std', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zc8flxR10', 'zc8flxR10Err', 'zc8flxR10Fill', 'zc8flxR10Std', 'zc8flxR11', 'zc8flxR11Err', 'zc8flxR11Fill', 'zc8flxR11Std', 'zc8flxR3', 'zc8flxR3Err', 'zc8flxR3Fill', 'zc8flxR3Std', 'zc8flxR4', 'zc8flxR4Err', 'zc8flxR4Fill', 'zc8flxR4Std', 'zc8flxR5', 'zc8flxR5Err', 'zc8flxR5Fill', 'zc8flxR5Std', 'zc8flxR6', 'zc8flxR6Err', 'zc8flxR6Fill', 'zc8flxR6Std', 'zc8flxR7', 'zc8flxR7Err', 'zc8flxR7Fill', 'zc8flxR7Std', 'zc8flxR8', 'zc8flxR8Err', 'zc8flxR8Fill', 'zc8flxR8Std', 'zc8flxR9', 'zc8flxR9Err', 'zc8flxR9Fill', 'zc8flxR9Std', 'zippDetectID', 'zoneID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackApFlxExGalUnc
    Contains the unconvolved fluxes within the SDSS R3 (r = 1.03 arcsec), R4 (r = 1.76 arcsec), R5 (r = 3.00 arcsec), R6 (r = 4.63 arcsec), R7 (r = 7.43 arcsec), R8 (r = 11.42 arcsec), R9 (r = 18.20 arcsec), R10 (r = 28.20 arcsec), and R11 (r = 44.21 arcsec) apertures (Stoughton 2005) for extended sources.  These measurements are only provided for objects in the extragalactic sky, i.e., they are not provided for objects in the Galactic plane because they are not useful in crowded areas.  See StackObjectThin table for discussion of primary, secondary, and best detections.  References: Stoughton, C., Lupton, R. H., Bernardi, M., et al. 2005, AJ, 123, 485.

Columns=['bestDetection', 'gflxR10', 'gflxR10Err', 'gflxR10Fill', 'gflxR10Std', 'gflxR11', 'gflxR11Err', 'gflxR11Fill', 'gflxR11Std', 'gflxR3', 'gflxR3Err', 'gflxR3Fill', 'gflxR3Std', 'gflxR4', 'gflxR4Err', 'gflxR4Fill', 'gflxR4Std', 'gflxR5', 'gflxR5Err', 'gflxR5Fill', 'gflxR5Std', 'gflxR6', 'gflxR6Err', 'gflxR6Fill', 'gflxR6Std', 'gflxR7', 'gflxR7Err', 'gflxR7Fill', 'gflxR7Std', 'gflxR8', 'gflxR8Err', 'gflxR8Fill', 'gflxR8Std', 'gflxR9', 'gflxR9Err', 'gflxR9Fill', 'gflxR9Std', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'iflxR10', 'iflxR10Err', 'iflxR10Fill', 'iflxR10Std', 'iflxR11', 'iflxR11Err', 'iflxR11Fill', 'iflxR11Std', 'iflxR3', 'iflxR3Err', 'iflxR3Fill', 'iflxR3Std', 'iflxR4', 'iflxR4Err', 'iflxR4Fill', 'iflxR4Std', 'iflxR5', 'iflxR5Err', 'iflxR5Fill', 'iflxR5Std', 'iflxR6', 'iflxR6Err', 'iflxR6Fill', 'iflxR6Std', 'iflxR7', 'iflxR7Err', 'iflxR7Fill', 'iflxR7Std', 'iflxR8', 'iflxR8Err', 'iflxR8Fill', 'iflxR8Std', 'iflxR9', 'iflxR9Err', 'iflxR9Fill', 'iflxR9Std', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'randomStackObjID', 'rflxR10', 'rflxR10Err', 'rflxR10Fill', 'rflxR10Std', 'rflxR11', 'rflxR11Err', 'rflxR11Fill', 'rflxR11Std', 'rflxR3', 'rflxR3Err', 'rflxR3Fill', 'rflxR3Std', 'rflxR4', 'rflxR4Err', 'rflxR4Fill', 'rflxR4Std', 'rflxR5', 'rflxR5Err', 'rflxR5Fill', 'rflxR5Std', 'rflxR6', 'rflxR6Err', 'rflxR6Fill', 'rflxR6Std', 'rflxR7', 'rflxR7Err', 'rflxR7Fill', 'rflxR7Std', 'rflxR8', 'rflxR8Err', 'rflxR8Fill', 'rflxR8Std', 'rflxR9', 'rflxR9Err', 'rflxR9Fill', 'rflxR9Std', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'yflxR10', 'yflxR10Err', 'yflxR10Fill', 'yflxR10Std', 'yflxR11', 'yflxR11Err', 'yflxR11Fill', 'yflxR11Std', 'yflxR3', 'yflxR3Err', 'yflxR3Fill', 'yflxR3Std', 'yflxR4', 'yflxR4Err', 'yflxR4Fill', 'yflxR4Std', 'yflxR5', 'yflxR5Err', 'yflxR5Fill', 'yflxR5Std', 'yflxR6', 'yflxR6Err', 'yflxR6Fill', 'yflxR6Std', 'yflxR7', 'yflxR7Err', 'yflxR7Fill', 'yflxR7Std', 'yflxR8', 'yflxR8Err', 'yflxR8Fill', 'yflxR8Std', 'yflxR9', 'yflxR9Err', 'yflxR9Fill', 'yflxR9Std', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zflxR10', 'zflxR10Err', 'zflxR10Fill', 'zflxR10Std', 'zflxR11', 'zflxR11Err', 'zflxR11Fill', 'zflxR11Std', 'zflxR3', 'zflxR3Err', 'zflxR3Fill', 'zflxR3Std', 'zflxR4', 'zflxR4Err', 'zflxR4Fill', 'zflxR4Std', 'zflxR5', 'zflxR5Err', 'zflxR5Fill', 'zflxR5Std', 'zflxR6', 'zflxR6Err', 'zflxR6Fill', 'zflxR6Std', 'zflxR7', 'zflxR7Err', 'zflxR7Fill', 'zflxR7Std', 'zflxR8', 'zflxR8Err', 'zflxR8Fill', 'zflxR8Std', 'zflxR9', 'zflxR9Err', 'zflxR9Fill', 'zflxR9Std', 'zippDetectID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackApFlxExGalUncObjectView
    -- ObjectThin join StackApFlxExGalUnc joined by objID column.

Columns=['b', 'batchID', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gflxR10', 'gflxR10Err', 'gflxR10Fill', 'gflxR10Std', 'gflxR11', 'gflxR11Err', 'gflxR11Fill', 'gflxR11Std', 'gflxR3', 'gflxR3Err', 'gflxR3Fill', 'gflxR3Std', 'gflxR4', 'gflxR4Err', 'gflxR4Fill', 'gflxR4Std', 'gflxR5', 'gflxR5Err', 'gflxR5Fill', 'gflxR5Std', 'gflxR6', 'gflxR6Err', 'gflxR6Fill', 'gflxR6Std', 'gflxR7', 'gflxR7Err', 'gflxR7Fill', 'gflxR7Std', 'gflxR8', 'gflxR8Err', 'gflxR8Fill', 'gflxR8Std', 'gflxR9', 'gflxR9Err', 'gflxR9Fill', 'gflxR9Std', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'htmID', 'iflxR10', 'iflxR10Err', 'iflxR10Fill', 'iflxR10Std', 'iflxR11', 'iflxR11Err', 'iflxR11Fill', 'iflxR11Std', 'iflxR3', 'iflxR3Err', 'iflxR3Fill', 'iflxR3Std', 'iflxR4', 'iflxR4Err', 'iflxR4Fill', 'iflxR4Std', 'iflxR5', 'iflxR5Err', 'iflxR5Fill', 'iflxR5Std', 'iflxR6', 'iflxR6Err', 'iflxR6Fill', 'iflxR6Std', 'iflxR7', 'iflxR7Err', 'iflxR7Fill', 'iflxR7Std', 'iflxR8', 'iflxR8Err', 'iflxR8Fill', 'iflxR8Std', 'iflxR9', 'iflxR9Err', 'iflxR9Fill', 'iflxR9Std', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'primaryDetection', 'processingVersion', 'projectionID', 'qualityFlag', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'randomStackObjID', 'rflxR10', 'rflxR10Err', 'rflxR10Fill', 'rflxR10Std', 'rflxR11', 'rflxR11Err', 'rflxR11Fill', 'rflxR11Std', 'rflxR3', 'rflxR3Err', 'rflxR3Fill', 'rflxR3Std', 'rflxR4', 'rflxR4Err', 'rflxR4Fill', 'rflxR4Std', 'rflxR5', 'rflxR5Err', 'rflxR5Fill', 'rflxR5Std', 'rflxR6', 'rflxR6Err', 'rflxR6Fill', 'rflxR6Std', 'rflxR7', 'rflxR7Err', 'rflxR7Fill', 'rflxR7Std', 'rflxR8', 'rflxR8Err', 'rflxR8Fill', 'rflxR8Std', 'rflxR9', 'rflxR9Err', 'rflxR9Fill', 'rflxR9Std', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yflxR10', 'yflxR10Err', 'yflxR10Fill', 'yflxR10Std', 'yflxR11', 'yflxR11Err', 'yflxR11Fill', 'yflxR11Std', 'yflxR3', 'yflxR3Err', 'yflxR3Fill', 'yflxR3Std', 'yflxR4', 'yflxR4Err', 'yflxR4Fill', 'yflxR4Std', 'yflxR5', 'yflxR5Err', 'yflxR5Fill', 'yflxR5Std', 'yflxR6', 'yflxR6Err', 'yflxR6Fill', 'yflxR6Std', 'yflxR7', 'yflxR7Err', 'yflxR7Fill', 'yflxR7Std', 'yflxR8', 'yflxR8Err', 'yflxR8Fill', 'yflxR8Std', 'yflxR9', 'yflxR9Err', 'yflxR9Fill', 'yflxR9Std', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zflxR10', 'zflxR10Err', 'zflxR10Fill', 'zflxR10Std', 'zflxR11', 'zflxR11Err', 'zflxR11Fill', 'zflxR11Std', 'zflxR3', 'zflxR3Err', 'zflxR3Fill', 'zflxR3Std', 'zflxR4', 'zflxR4Err', 'zflxR4Fill', 'zflxR4Std', 'zflxR5', 'zflxR5Err', 'zflxR5Fill', 'zflxR5Std', 'zflxR6', 'zflxR6Err', 'zflxR6Fill', 'zflxR6Std', 'zflxR7', 'zflxR7Err', 'zflxR7Fill', 'zflxR7Std', 'zflxR8', 'zflxR8Err', 'zflxR8Fill', 'zflxR8Std', 'zflxR9', 'zflxR9Err', 'zflxR9Fill', 'zflxR9Std', 'zippDetectID', 'zoneID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackApFlxObjectView
    -- ObjectThin join StackApFlx joined by objID column.

Columns=['b', 'batchID', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gc6flxR5', 'gc6flxR5Err', 'gc6flxR5Fill', 'gc6flxR5Std', 'gc6flxR6', 'gc6flxR6Err', 'gc6flxR6Fill', 'gc6flxR6Std', 'gc6flxR7', 'gc6flxR7Err', 'gc6flxR7Fill', 'gc6flxR7Std', 'gc8flxR5', 'gc8flxR5Err', 'gc8flxR5Fill', 'gc8flxR5Std', 'gc8flxR6', 'gc8flxR6Err', 'gc8flxR6Fill', 'gc8flxR6Std', 'gc8flxR7', 'gc8flxR7Err', 'gc8flxR7Fill', 'gc8flxR7Std', 'gflxR5', 'gflxR5Err', 'gflxR5Fill', 'gflxR5Std', 'gflxR6', 'gflxR6Err', 'gflxR6Fill', 'gflxR6Std', 'gflxR7', 'gflxR7Err', 'gflxR7Fill', 'gflxR7Std', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'htmID', 'ic6flxR5', 'ic6flxR5Err', 'ic6flxR5Fill', 'ic6flxR5Std', 'ic6flxR6', 'ic6flxR6Err', 'ic6flxR6Fill', 'ic6flxR6Std', 'ic6flxR7', 'ic6flxR7Err', 'ic6flxR7Fill', 'ic6flxR7Std', 'ic8flxR5', 'ic8flxR5Err', 'ic8flxR5Fill', 'ic8flxR5Std', 'ic8flxR6', 'ic8flxR6Err', 'ic8flxR6Fill', 'ic8flxR6Std', 'ic8flxR7', 'ic8flxR7Err', 'ic8flxR7Fill', 'ic8flxR7Std', 'iflxR5', 'iflxR5Err', 'iflxR5Fill', 'iflxR5Std', 'iflxR6', 'iflxR6Err', 'iflxR6Fill', 'iflxR6Std', 'iflxR7', 'iflxR7Err', 'iflxR7Fill', 'iflxR7Std', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'processingVersion', 'projectionID', 'qualityFlag', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rc6flxR5', 'rc6flxR5Err', 'rc6flxR5Fill', 'rc6flxR5Std', 'rc6flxR6', 'rc6flxR6Err', 'rc6flxR6Fill', 'rc6flxR6Std', 'rc6flxR7', 'rc6flxR7Err', 'rc6flxR7Fill', 'rc6flxR7Std', 'rc8flxR5', 'rc8flxR5Err', 'rc8flxR5Fill', 'rc8flxR5Std', 'rc8flxR6', 'rc8flxR6Err', 'rc8flxR6Fill', 'rc8flxR6Std', 'rc8flxR7', 'rc8flxR7Err', 'rc8flxR7Fill', 'rc8flxR7Std', 'rflxR5', 'rflxR5Err', 'rflxR5Fill', 'rflxR5Std', 'rflxR6', 'rflxR6Err', 'rflxR6Fill', 'rflxR6Std', 'rflxR7', 'rflxR7Err', 'rflxR7Fill', 'rflxR7Std', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yc6flxR5', 'yc6flxR5Err', 'yc6flxR5Fill', 'yc6flxR5Std', 'yc6flxR6', 'yc6flxR6Err', 'yc6flxR6Fill', 'yc6flxR6Std', 'yc6flxR7', 'yc6flxR7Err', 'yc6flxR7Fill', 'yc6flxR7Std', 'yc8flxR5', 'yc8flxR5Err', 'yc8flxR5Fill', 'yc8flxR5Std', 'yc8flxR6', 'yc8flxR6Err', 'yc8flxR6Fill', 'yc8flxR6Std', 'yc8flxR7', 'yc8flxR7Err', 'yc8flxR7Fill', 'yc8flxR7Std', 'yflxR5', 'yflxR5Err', 'yflxR5Fill', 'yflxR5Std', 'yflxR6', 'yflxR6Err', 'yflxR6Fill', 'yflxR6Std', 'yflxR7', 'yflxR7Err', 'yflxR7Fill', 'yflxR7Std', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zc6flxR5', 'zc6flxR5Err', 'zc6flxR5Fill', 'zc6flxR5Std', 'zc6flxR6', 'zc6flxR6Err', 'zc6flxR6Fill', 'zc6flxR6Std', 'zc6flxR7', 'zc6flxR7Err', 'zc6flxR7Fill', 'zc6flxR7Std', 'zc8flxR5', 'zc8flxR5Err', 'zc8flxR5Fill', 'zc8flxR5Std', 'zc8flxR6', 'zc8flxR6Err', 'zc8flxR6Fill', 'zc8flxR6Std', 'zc8flxR7', 'zc8flxR7Err', 'zc8flxR7Fill', 'zc8flxR7Std', 'zflxR5', 'zflxR5Err', 'zflxR5Fill', 'zflxR5Std', 'zflxR6', 'zflxR6Err', 'zflxR6Fill', 'zflxR6Std', 'zflxR7', 'zflxR7Err', 'zflxR7Fill', 'zflxR7Std', 'zippDetectID', 'zoneID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackDetEffMeta
    Contains the detection efficiency information for a given stacked image.  Provides the number of recovered sources out of 500 injected sources for each magnitude bin and statistics about the magnitudes of the recovered sources for a range of magnitude offsets.

Columns=['counts01', 'counts02', 'counts03', 'counts04', 'counts05', 'counts06', 'counts07', 'counts08', 'counts09', 'counts10', 'counts11', 'counts12', 'counts13', 'diffMean01', 'diffMean02', 'diffMean03', 'diffMean04', 'diffMean05', 'diffMean06', 'diffMean07', 'diffMean08', 'diffMean09', 'diffMean10', 'diffMean11', 'diffMean12', 'diffMean13', 'diffStdev01', 'diffStdev02', 'diffStdev03', 'diffStdev04', 'diffStdev05', 'diffStdev06', 'diffStdev07', 'diffStdev08', 'diffStdev09', 'diffStdev10', 'diffStdev11', 'diffStdev12', 'diffStdev13', 'errMean01', 'errMean02', 'errMean03', 'errMean04', 'errMean05', 'errMean06', 'errMean07', 'errMean08', 'errMean09', 'errMean10', 'errMean11', 'errMean12', 'errMean13', 'magref', 'nInjected', 'offset01', 'offset02', 'offset03', 'offset04', 'offset05', 'offset06', 'offset07', 'offset08', 'offset09', 'offset10', 'offset11', 'offset12', 'offset13', 'stackImageID']
----
dbo.StackMeta
    Contains the metadata describing the stacked image produced from the combination of a set of single epoch exposures.  The nature of the stack is given by the StackTypeID.  The astrometric and photometric calibration of the stacked image are listed.

Columns=['analysisVer', 'astroScat', 'batchID', 'cdelt1', 'cdelt2', 'crpix1', 'crpix2', 'crval1', 'crval2', 'ctype1', 'ctype2', 'detectionThreshold', 'expTime', 'filterID', 'md5sum', 'nAstroRef', 'nP2Images', 'nPhotoRef', 'pc001001', 'pc001002', 'pc002001', 'pc002002', 'photoCalID', 'photoScat', 'photoZero', 'processingVersion', 'projectionID', 'psfFWHM', 'psfModelID', 'psfTheta', 'psfWidMajor', 'psfWidMinor', 'recalAstroScatX', 'recalAstroScatY', 'recalNAstroStars', 'recalNPhotoStars', 'recalphotoScat', 'skyCellID', 'stackImageID', 'stackTypeID', 'surveyID', 'tessID']
----
dbo.StackModelFitDeV
    Contains the de Vaucouleurs (1948) fit parameters to extended sources. See StackObjectThin table for discussion of primary, secondary, and best detections.  References:  de Vaucouleurs, G. 1948, Annales d Astrophysique, 11, 247.

Columns=['bestDetection', 'gDeVAb', 'gDeVAbErr', 'gDeVChisq', 'gDeVDec', 'gDeVDecErr', 'gDeVMag', 'gDeVMagErr', 'gDeVPhi', 'gDeVPhiErr', 'gDeVRa', 'gDeVRaErr', 'gDeVRadius', 'gDeVRadiusErr', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'iDeVAb', 'iDeVAbErr', 'iDeVChisq', 'iDeVDec', 'iDeVDecErr', 'iDeVMag', 'iDeVMagErr', 'iDeVPhi', 'iDeVPhiErr', 'iDeVRa', 'iDeVRaErr', 'iDeVRadius', 'iDeVRadiusErr', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'rDeVAb', 'rDeVAbErr', 'rDeVChisq', 'rDeVDec', 'rDeVDecErr', 'rDeVMag', 'rDeVMagErr', 'rDeVPhi', 'rDeVPhiErr', 'rDeVRa', 'rDeVRaErr', 'rDeVRadius', 'rDeVRadiusErr', 'randomStackObjID', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'yDeVAb', 'yDeVAbErr', 'yDeVChisq', 'yDeVDec', 'yDeVDecErr', 'yDeVMag', 'yDeVMagErr', 'yDeVPhi', 'yDeVPhiErr', 'yDeVRa', 'yDeVRaErr', 'yDeVRadius', 'yDeVRadiusErr', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zDeVAb', 'zDeVAbErr', 'zDeVChisq', 'zDeVDec', 'zDeVDecErr', 'zDeVMag', 'zDeVMagErr', 'zDeVPhi', 'zDeVPhiErr', 'zDeVRa', 'zDeVRaErr', 'zDeVRadius', 'zDeVRadiusErr', 'zippDetectID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackModelFitDeVObjectView
    -- ObjectThin join StackModelFitDeV joined by objID column.

Columns=['b', 'batchID', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gDeVAb', 'gDeVAbErr', 'gDeVChisq', 'gDeVDec', 'gDeVDecErr', 'gDeVMag', 'gDeVMagErr', 'gDeVPhi', 'gDeVPhiErr', 'gDeVRa', 'gDeVRaErr', 'gDeVRadius', 'gDeVRadiusErr', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'htmID', 'iDeVAb', 'iDeVAbErr', 'iDeVChisq', 'iDeVDec', 'iDeVDecErr', 'iDeVMag', 'iDeVMagErr', 'iDeVPhi', 'iDeVPhiErr', 'iDeVRa', 'iDeVRaErr', 'iDeVRadius', 'iDeVRadiusErr', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'primaryDetection', 'processingVersion', 'projectionID', 'qualityFlag', 'rDeVAb', 'rDeVAbErr', 'rDeVChisq', 'rDeVDec', 'rDeVDecErr', 'rDeVMag', 'rDeVMagErr', 'rDeVPhi', 'rDeVPhiErr', 'rDeVRa', 'rDeVRaErr', 'rDeVRadius', 'rDeVRadiusErr', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yDeVAb', 'yDeVAbErr', 'yDeVChisq', 'yDeVDec', 'yDeVDecErr', 'yDeVMag', 'yDeVMagErr', 'yDeVPhi', 'yDeVPhiErr', 'yDeVRa', 'yDeVRaErr', 'yDeVRadius', 'yDeVRadiusErr', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zDeVAb', 'zDeVAbErr', 'zDeVChisq', 'zDeVDec', 'zDeVDecErr', 'zDeVMag', 'zDeVMagErr', 'zDeVPhi', 'zDeVPhiErr', 'zDeVRa', 'zDeVRaErr', 'zDeVRadius', 'zDeVRadiusErr', 'zippDetectID', 'zoneID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackModelFitExp
    Contains the exponential fit parameters to extended sources.  See StackObjectThin table for discussion of primary, secondary, and best detections.

Columns=['bestDetection', 'gExpAb', 'gExpAbErr', 'gExpChisq', 'gExpDec', 'gExpDecErr', 'gExpMag', 'gExpMagErr', 'gExpPhi', 'gExpPhiErr', 'gExpRa', 'gExpRaErr', 'gExpRadius', 'gExpRadiusErr', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'iExpAb', 'iExpAbErr', 'iExpChisq', 'iExpDec', 'iExpDecErr', 'iExpMag', 'iExpMagErr', 'iExpPhi', 'iExpPhiErr', 'iExpRa', 'iExpRaErr', 'iExpRadius', 'iExpRadiusErr', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'rExpAb', 'rExpAbErr', 'rExpChisq', 'rExpDec', 'rExpDecErr', 'rExpMag', 'rExpMagErr', 'rExpPhi', 'rExpPhiErr', 'rExpRa', 'rExpRaErr', 'rExpRadius', 'rExpRadiusErr', 'randomStackObjID', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'yExpAb', 'yExpAbErr', 'yExpChisq', 'yExpDec', 'yExpDecErr', 'yExpMag', 'yExpMagErr', 'yExpPhi', 'yExpPhiErr', 'yExpRa', 'yExpRaErr', 'yExpRadius', 'yExpRadiusErr', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zExpAb', 'zExpAbErr', 'zExpChisq', 'zExpDec', 'zExpDecErr', 'zExpMag', 'zExpMagErr', 'zExpPhi', 'zExpPhiErr', 'zExpRa', 'zExpRaErr', 'zExpRadius', 'zExpRadiusErr', 'zippDetectID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackModelFitExpObjectView
    -- ObjectThin join StackModelFitExp joined by objID column.

Columns=['b', 'batchID', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gExpAb', 'gExpAbErr', 'gExpChisq', 'gExpDec', 'gExpDecErr', 'gExpMag', 'gExpMagErr', 'gExpPhi', 'gExpPhiErr', 'gExpRa', 'gExpRaErr', 'gExpRadius', 'gExpRadiusErr', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'htmID', 'iExpAb', 'iExpAbErr', 'iExpChisq', 'iExpDec', 'iExpDecErr', 'iExpMag', 'iExpMagErr', 'iExpPhi', 'iExpPhiErr', 'iExpRa', 'iExpRaErr', 'iExpRadius', 'iExpRadiusErr', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'primaryDetection', 'processingVersion', 'projectionID', 'qualityFlag', 'rExpAb', 'rExpAbErr', 'rExpChisq', 'rExpDec', 'rExpDecErr', 'rExpMag', 'rExpMagErr', 'rExpPhi', 'rExpPhiErr', 'rExpRa', 'rExpRaErr', 'rExpRadius', 'rExpRadiusErr', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yExpAb', 'yExpAbErr', 'yExpChisq', 'yExpDec', 'yExpDecErr', 'yExpMag', 'yExpMagErr', 'yExpPhi', 'yExpPhiErr', 'yExpRa', 'yExpRaErr', 'yExpRadius', 'yExpRadiusErr', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zExpAb', 'zExpAbErr', 'zExpChisq', 'zExpDec', 'zExpDecErr', 'zExpMag', 'zExpMagErr', 'zExpPhi', 'zExpPhiErr', 'zExpRa', 'zExpRaErr', 'zExpRadius', 'zExpRadiusErr', 'zippDetectID', 'zoneID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackModelFitExtra
    Contains the galaxy shape and concentration parameters measured from the stack detections.  See StackObjectThin table for discussion of primary, secondary, and best detections.  References:  Blakeslee, J. P., Holden, B. P., Franx, M., et al. 2006, ApJ, 644, 30; Cheng, J. Y., Faber, S. M., Schade, D., Lilly, S. J., Crampton, D., et al.  1995, ApJL, 451, L1; Simard, L., et al. 2011, MNRAS, 412, 727; Simard, L., Willmer, C. N. A., Vogt, N. P., et al. 2005, ApJS, 142, 1.

Columns=['bestDetection', 'gS2', 'gbumpy', 'ghalfLightRad', 'gippDetectID', 'glogRA', 'glogRT', 'gstackDetectID', 'gstackImageID', 'iS2', 'ibumpy', 'ihalfLightRad', 'iippDetectID', 'ilogRA', 'ilogRT', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'rS2', 'randomStackObjID', 'rbumpy', 'rhalfLightRad', 'rippDetectID', 'rlogRA', 'rlogRT', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'yS2', 'ybumpy', 'yhalfLightRad', 'yippDetectID', 'ylogRA', 'ylogRT', 'ystackDetectID', 'ystackImageID', 'zS2', 'zbumpy', 'zhalfLightRad', 'zippDetectID', 'zlogRA', 'zlogRT', 'zstackDetectID', 'zstackImageID']
----
dbo.StackModelFitPetObjectView
    -- ObjectThin join StackPetrosian joined by objID column.

Columns=['b', 'batchID', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gippDetectID', 'gpetCf', 'gpetMag', 'gpetMagErr', 'gpetR50', 'gpetR50Err', 'gpetR90', 'gpetR90Err', 'gpetRadius', 'gpetRadiusErr', 'gstackDetectID', 'gstackImageID', 'htmID', 'iippDetectID', 'ipetCf', 'ipetMag', 'ipetMagErr', 'ipetR50', 'ipetR50Err', 'ipetR90', 'ipetR90Err', 'ipetRadius', 'ipetRadiusErr', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'primaryDetection', 'processingVersion', 'projectionID', 'qualityFlag', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rippDetectID', 'rpetCf', 'rpetMag', 'rpetMagErr', 'rpetR50', 'rpetR50Err', 'rpetR90', 'rpetR90Err', 'rpetRadius', 'rpetRadiusErr', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'yippDetectID', 'ypetCf', 'ypetMag', 'ypetMagErr', 'ypetR50', 'ypetR50Err', 'ypetR90', 'ypetR90Err', 'ypetRadius', 'ypetRadiusErr', 'ystackDetectID', 'ystackImageID', 'zippDetectID', 'zoneID', 'zpetCf', 'zpetMag', 'zpetMagErr', 'zpetR50', 'zpetR50Err', 'zpetR90', 'zpetR90Err', 'zpetRadius', 'zpetRadiusErr', 'zstackDetectID', 'zstackImageID']
----
dbo.StackModelFitSer
    Contains the Sersic (1963) fit parameters to extended sources.  See StackObjectThin table for discussion of primary, secondary, and best detections.  References:  Sersic, J. L. 1963, Boletin de la Asociacion Argentina de Astronomia La Plata Argentina, 6, 41.

Columns=['bestDetection', 'gSerAb', 'gSerAbErr', 'gSerChisq', 'gSerDec', 'gSerDecErr', 'gSerMag', 'gSerMagErr', 'gSerNu', 'gSerNuErr', 'gSerPhi', 'gSerPhiErr', 'gSerRa', 'gSerRaErr', 'gSerRadius', 'gSerRadiusErr', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'iSerAb', 'iSerAbErr', 'iSerChisq', 'iSerDec', 'iSerDecErr', 'iSerMag', 'iSerMagErr', 'iSerNu', 'iSerNuErr', 'iSerPhi', 'iSerPhiErr', 'iSerRa', 'iSerRaErr', 'iSerRadius', 'iSerRadiusErr', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'rSerAb', 'rSerAbErr', 'rSerChisq', 'rSerDec', 'rSerDecErr', 'rSerMag', 'rSerMagErr', 'rSerNu', 'rSerNuErr', 'rSerPhi', 'rSerPhiErr', 'rSerRa', 'rSerRaErr', 'rSerRadius', 'rSerRadiusErr', 'randomStackObjID', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'ySerAb', 'ySerAbErr', 'ySerChisq', 'ySerDec', 'ySerDecErr', 'ySerMag', 'ySerMagErr', 'ySerNu', 'ySerNuErr', 'ySerPhi', 'ySerPhiErr', 'ySerRa', 'ySerRaErr', 'ySerRadius', 'ySerRadiusErr', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zSerAb', 'zSerAbErr', 'zSerChisq', 'zSerDec', 'zSerDecErr', 'zSerMag', 'zSerMagErr', 'zSerNu', 'zSerNuErr', 'zSerPhi', 'zSerPhiErr', 'zSerRa', 'zSerRaErr', 'zSerRadius', 'zSerRadiusErr', 'zippDetectID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackModelFitSerObjectView
    -- ObjectThin join StackModelFitSer joined by objID column.

Columns=['b', 'batchID', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gSerAb', 'gSerAbErr', 'gSerChisq', 'gSerDec', 'gSerDecErr', 'gSerMag', 'gSerMagErr', 'gSerNu', 'gSerNuErr', 'gSerPhi', 'gSerPhiErr', 'gSerRa', 'gSerRaErr', 'gSerRadius', 'gSerRadiusErr', 'gippDetectID', 'gstackDetectID', 'gstackImageID', 'htmID', 'iSerAb', 'iSerAbErr', 'iSerChisq', 'iSerDec', 'iSerDecErr', 'iSerMag', 'iSerMagErr', 'iSerNu', 'iSerNuErr', 'iSerPhi', 'iSerPhiErr', 'iSerRa', 'iSerRaErr', 'iSerRadius', 'iSerRadiusErr', 'iippDetectID', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'primaryDetection', 'processingVersion', 'projectionID', 'qualityFlag', 'rSerAb', 'rSerAbErr', 'rSerChisq', 'rSerDec', 'rSerDecErr', 'rSerMag', 'rSerMagErr', 'rSerNu', 'rSerNuErr', 'rSerPhi', 'rSerPhiErr', 'rSerRa', 'rSerRaErr', 'rSerRadius', 'rSerRadiusErr', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rippDetectID', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'ySerAb', 'ySerAbErr', 'ySerChisq', 'ySerDec', 'ySerDecErr', 'ySerMag', 'ySerMagErr', 'ySerNu', 'ySerNuErr', 'ySerPhi', 'ySerPhiErr', 'ySerRa', 'ySerRaErr', 'ySerRadius', 'ySerRadiusErr', 'yippDetectID', 'ystackDetectID', 'ystackImageID', 'zSerAb', 'zSerAbErr', 'zSerChisq', 'zSerDec', 'zSerDecErr', 'zSerMag', 'zSerMagErr', 'zSerNu', 'zSerNuErr', 'zSerPhi', 'zSerPhiErr', 'zSerRa', 'zSerRaErr', 'zSerRadius', 'zSerRadiusErr', 'zippDetectID', 'zoneID', 'zstackDetectID', 'zstackImageID']
----
dbo.StackModelObjectView
    -- View based on a combination of the tables ObjectThin, StackModelFitExp, StackModelFitDeVm, StackModelFitSer, and StackPetrosian. -- Note: User beware that this view contains a lot of columns and selecting all of them is not recommended.

Columns=['b', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'gDeVAb', 'gDeVAbErr', 'gDeVChisq', 'gDeVDec', 'gDeVDecErr', 'gDeVMag', 'gDeVMagErr', 'gDeVPhi', 'gDeVPhiErr', 'gDeVRa', 'gDeVRaErr', 'gDeVRadius', 'gDeVRadiusErr', 'gExpAb', 'gExpAbErr', 'gExpChisq', 'gExpDec', 'gExpDecErr', 'gExpMag', 'gExpMagErr', 'gExpPhi', 'gExpPhiErr', 'gExpRa', 'gExpRaErr', 'gExpRadius', 'gExpRadiusErr', 'gSerAb', 'gSerAbErr', 'gSerChisq', 'gSerDec', 'gSerDecErr', 'gSerMag', 'gSerMagErr', 'gSerNu', 'gSerNuErr', 'gSerPhi', 'gSerPhiErr', 'gSerRa', 'gSerRaErr', 'gSerRadius', 'gSerRadiusErr', 'gippDetectID', 'gpetCf', 'gpetMag', 'gpetMagErr', 'gpetR50', 'gpetR50Err', 'gpetR90', 'gpetR90Err', 'gpetRadius', 'gpetRadiusErr', 'gstackDetectID', 'gstackImageID', 'htmID', 'iDeVAb', 'iDeVAbErr', 'iDeVChisq', 'iDeVDec', 'iDeVDecErr', 'iDeVMag', 'iDeVMagErr', 'iDeVPhi', 'iDeVPhiErr', 'iDeVRa', 'iDeVRaErr', 'iDeVRadius', 'iDeVRadiusErr', 'iExpAb', 'iExpAbErr', 'iExpChisq', 'iExpDec', 'iExpDecErr', 'iExpMag', 'iExpMagErr', 'iExpPhi', 'iExpPhiErr', 'iExpRa', 'iExpRaErr', 'iExpRadius', 'iExpRadiusErr', 'iSerAb', 'iSerAbErr', 'iSerChisq', 'iSerDec', 'iSerDecErr', 'iSerMag', 'iSerMagErr', 'iSerNu', 'iSerNuErr', 'iSerPhi', 'iSerPhiErr', 'iSerRa', 'iSerRaErr', 'iSerRadius', 'iSerRadiusErr', 'iippDetectID', 'ipetCf', 'ipetMag', 'ipetMagErr', 'ipetR50', 'ipetR50Err', 'ipetR90', 'ipetR90Err', 'ipetRadius', 'ipetRadiusErr', 'ippObjID', 'istackDetectID', 'istackImageID', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'primaryDetection', 'processingVersion', 'projectionID', 'qualityFlag', 'rDeVAb', 'rDeVAbErr', 'rDeVChisq', 'rDeVDec', 'rDeVDecErr', 'rDeVMag', 'rDeVMagErr', 'rDeVPhi', 'rDeVPhiErr', 'rDeVRa', 'rDeVRaErr', 'rDeVRadius', 'rDeVRadiusErr', 'rExpAb', 'rExpAbErr', 'rExpChisq', 'rExpDec', 'rExpDecErr', 'rExpMag', 'rExpMagErr', 'rExpPhi', 'rExpPhiErr', 'rExpRa', 'rExpRaErr', 'rExpRadius', 'rExpRadiusErr', 'rSerAb', 'rSerAbErr', 'rSerChisq', 'rSerDec', 'rSerDecErr', 'rSerMag', 'rSerMagErr', 'rSerNu', 'rSerNuErr', 'rSerPhi', 'rSerPhiErr', 'rSerRa', 'rSerRaErr', 'rSerRadius', 'rSerRadiusErr', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'randomStackObjID', 'rippDetectID', 'rpetCf', 'rpetMag', 'rpetMagErr', 'rpetR50', 'rpetR50Err', 'rpetR90', 'rpetR90Err', 'rpetRadius', 'rpetRadiusErr', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'uniquePspsSTid', 'yDeVAb', 'yDeVAbErr', 'yDeVChisq', 'yDeVDec', 'yDeVDecErr', 'yDeVMag', 'yDeVMagErr', 'yDeVPhi', 'yDeVPhiErr', 'yDeVRa', 'yDeVRaErr', 'yDeVRadius', 'yDeVRadiusErr', 'yExpAb', 'yExpAbErr', 'yExpChisq', 'yExpDec', 'yExpDecErr', 'yExpMag', 'yExpMagErr', 'yExpPhi', 'yExpPhiErr', 'yExpRa', 'yExpRaErr', 'yExpRadius', 'yExpRadiusErr', 'ySerAb', 'ySerAbErr', 'ySerChisq', 'ySerDec', 'ySerDecErr', 'ySerMag', 'ySerMagErr', 'ySerNu', 'ySerNuErr', 'ySerPhi', 'ySerPhiErr', 'ySerRa', 'ySerRaErr', 'ySerRadius', 'ySerRadiusErr', 'yippDetectID', 'ypetCf', 'ypetMag', 'ypetMagErr', 'ypetR50', 'ypetR50Err', 'ypetR90', 'ypetR90Err', 'ypetRadius', 'ypetRadiusErr', 'ystackDetectID', 'ystackImageID', 'zDeVAb', 'zDeVAbErr', 'zDeVChisq', 'zDeVDec', 'zDeVDecErr', 'zDeVMag', 'zDeVMagErr', 'zDeVPhi', 'zDeVPhiErr', 'zDeVRa', 'zDeVRaErr', 'zDeVRadius', 'zDeVRadiusErr', 'zExpAb', 'zExpAbErr', 'zExpChisq', 'zExpDec', 'zExpDecErr', 'zExpMag', 'zExpMagErr', 'zExpPhi', 'zExpPhiErr', 'zExpRa', 'zExpRaErr', 'zExpRadius', 'zExpRadiusErr', 'zSerAb', 'zSerAbErr', 'zSerChisq', 'zSerDec', 'zSerDecErr', 'zSerMag', 'zSerMagErr', 'zSerNu', 'zSerNuErr', 'zSerPhi', 'zSerPhiErr', 'zSerRa', 'zSerRaErr', 'zSerRadius', 'zSerRadiusErr', 'zippDetectID', 'zoneID', 'zpetCf', 'zpetMag', 'zpetMagErr', 'zpetR50', 'zpetR50Err', 'zpetR90', 'zpetR90Err', 'zpetRadius', 'zpetRadiusErr', 'zstackDetectID', 'zstackImageID']
----
dbo.StackObjectAttributes
    Contains the PSF, Kron (1980), and aperture fluxes for all filters in a single row, along with point-source object shape parameters.  See StackObjectThin table for discussion of primary, secondary, and best detections.  References: Kron, R. G. 1980, ApJS, 43, 305.

Columns=['bestDetection', 'gApFillFac', 'gApFlux', 'gApFluxErr', 'gApRadius', 'gExtNSigma', 'gKronFlux', 'gKronFluxErr', 'gKronRad', 'gPSFFlux', 'gPSFFluxErr', 'gPlateScale', 'gexpTime', 'gippDetectID', 'gmomentR1', 'gmomentRH', 'gmomentXX', 'gmomentXY', 'gmomentYY', 'gpsfChiSq', 'gpsfCore', 'gpsfLikelihood', 'gpsfMajorFWHM', 'gpsfMinorFWHM', 'gpsfQf', 'gpsfQfPerfect', 'gpsfTheta', 'gsky', 'gskyErr', 'gstackDetectID', 'gstackImageID', 'gxPos', 'gxPosErr', 'gyPos', 'gyPosErr', 'gzp', 'iApFillFac', 'iApFlux', 'iApFluxErr', 'iApRadius', 'iExtNSigma', 'iKronFlux', 'iKronFluxErr', 'iKronRad', 'iPSFFlux', 'iPSFFluxErr', 'iPlateScale', 'iexpTime', 'iippDetectID', 'imomentR1', 'imomentRH', 'imomentXX', 'imomentXY', 'imomentYY', 'ippObjID', 'ipsfChiSq', 'ipsfCore', 'ipsfLikelihood', 'ipsfMajorFWHM', 'ipsfMinorFWHM', 'ipsfQf', 'ipsfQfPerfect', 'ipsfTheta', 'isky', 'iskyErr', 'istackDetectID', 'istackImageID', 'ixPos', 'ixPosErr', 'iyPos', 'iyPosErr', 'izp', 'objID', 'primaryDetection', 'rApFillFac', 'rApFlux', 'rApFluxErr', 'rApRadius', 'rExtNSigma', 'rKronFlux', 'rKronFluxErr', 'rKronRad', 'rPSFFlux', 'rPSFFluxErr', 'rPlateScale', 'randomStackObjID', 'rexpTime', 'rippDetectID', 'rmomentR1', 'rmomentRH', 'rmomentXX', 'rmomentXY', 'rmomentYY', 'rpsfChiSq', 'rpsfCore', 'rpsfLikelihood', 'rpsfMajorFWHM', 'rpsfMinorFWHM', 'rpsfQf', 'rpsfQfPerfect', 'rpsfTheta', 'rsky', 'rskyErr', 'rstackDetectID', 'rstackImageID', 'rxPos', 'rxPosErr', 'ryPos', 'ryPosErr', 'rzp', 'uniquePspsSTid', 'yApFillFac', 'yApFlux', 'yApFluxErr', 'yApRadius', 'yExtNSigma', 'yKronFlux', 'yKronFluxErr', 'yKronRad', 'yPSFFlux', 'yPSFFluxErr', 'yPlateScale', 'yexpTime', 'yippDetectID', 'ymomentR1', 'ymomentRH', 'ymomentXX', 'ymomentXY', 'ymomentYY', 'ypsfChiSq', 'ypsfCore', 'ypsfLikelihood', 'ypsfMajorFWHM', 'ypsfMinorFWHM', 'ypsfQf', 'ypsfQfPerfect', 'ypsfTheta', 'ysky', 'yskyErr', 'ystackDetectID', 'ystackImageID', 'yxPos', 'yxPosErr', 'yyPos', 'yyPosErr', 'yzp', 'zApFillFac', 'zApFlux', 'zApFluxErr', 'zApRadius', 'zExtNSigma', 'zKronFlux', 'zKronFluxErr', 'zKronRad', 'zPSFFlux', 'zPSFFluxErr', 'zPlateScale', 'zexpTime', 'zippDetectID', 'zmomentR1', 'zmomentRH', 'zmomentXX', 'zmomentXY', 'zmomentYY', 'zpsfChiSq', 'zpsfCore', 'zpsfLikelihood', 'zpsfMajorFWHM', 'zpsfMinorFWHM', 'zpsfQf', 'zpsfQfPerfect', 'zpsfTheta', 'zsky', 'zskyErr', 'zstackDetectID', 'zstackImageID', 'zxPos', 'zxPosErr', 'zyPos', 'zyPosErr', 'zzp']
----
dbo.StackObjectThin
    Contains the positional and photometric information for point-source photometry of stack detections.  The information for all filters are joined into a single row, with metadata indicating if this stack object represents the primary detection.  Due to overlaps in the stack tessellations, an object may appear in multiple stack images.  The primary detection is the unique detection from the stack image that provides the best coverage with minimal projection stretching.  All other detections of the object in that filter are secondary, regardless of their properties.  The detection flagged as best is the primary detection if that detection has a psfQf value greater than 0.98;  if that is not met, then any of the primary or secondary detections with the highest psfQf value is flagged as best. References: Kron, R. G. 1980, ApJS, 43, 305; Magnier et al. 2015, in prep.

Columns=['bestDetection', 'dvoRegionID', 'gApMag', 'gApMagErr', 'gEpoch', 'gKronMag', 'gKronMagErr', 'gPSFMag', 'gPSFMagErr', 'gdec', 'gdecErr', 'ginfoFlag', 'ginfoFlag2', 'ginfoFlag3', 'ginfoFlag4', 'gippDetectID', 'gnFrames', 'gra', 'graErr', 'gstackDetectID', 'gstackImageID', 'iApMag', 'iApMagErr', 'iEpoch', 'iKronMag', 'iKronMagErr', 'iPSFMag', 'iPSFMagErr', 'idec', 'idecErr', 'iinfoFlag', 'iinfoFlag2', 'iinfoFlag3', 'iinfoFlag4', 'iippDetectID', 'inFrames', 'ippObjID', 'ira', 'iraErr', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'processingVersion', 'projectionID', 'rApMag', 'rApMagErr', 'rEpoch', 'rKronMag', 'rKronMagErr', 'rPSFMag', 'rPSFMagErr', 'randomStackObjID', 'rdec', 'rdecErr', 'rinfoFlag', 'rinfoFlag2', 'rinfoFlag3', 'rinfoFlag4', 'rippDetectID', 'rnFrames', 'rra', 'rraErr', 'rstackDetectID', 'rstackImageID', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsSTid', 'yApMag', 'yApMagErr', 'yEpoch', 'yKronMag', 'yKronMagErr', 'yPSFMag', 'yPSFMagErr', 'ydec', 'ydecErr', 'yinfoFlag', 'yinfoFlag2', 'yinfoFlag3', 'yinfoFlag4', 'yippDetectID', 'ynFrames', 'yra', 'yraErr', 'ystackDetectID', 'ystackImageID', 'zApMag', 'zApMagErr', 'zEpoch', 'zKronMag', 'zKronMagErr', 'zPSFMag', 'zPSFMagErr', 'zdec', 'zdecErr', 'zinfoFlag', 'zinfoFlag2', 'zinfoFlag3', 'zinfoFlag4', 'zippDetectID', 'znFrames', 'zra', 'zraErr', 'zstackDetectID', 'zstackImageID']
----
dbo.StackObjectView
    -- View based on a combination of the tables ObjectThin, StackObjectThin and StackObjectAttributes joined by objID column.

Columns=['b', 'batchID', 'bestDetection', 'beta', 'cx', 'cy', 'cz', 'decMean', 'decMeanErr', 'decStack', 'decStackErr', 'dvoRegionID', 'epochMean', 'gApFillFac', 'gApFlux', 'gApFluxErr', 'gApMag', 'gApMagErr', 'gApRadius', 'gEpoch', 'gExtNSigma', 'gKronFlux', 'gKronFluxErr', 'gKronMag', 'gKronMagErr', 'gKronRad', 'gPSFFlux', 'gPSFFluxErr', 'gPSFMag', 'gPSFMagErr', 'gPlateScale', 'gdec', 'gdecErr', 'gexpTime', 'ginfoFlag', 'ginfoFlag2', 'ginfoFlag3', 'gippDetectID', 'gmomentR1', 'gmomentRH', 'gmomentXX', 'gmomentXY', 'gmomentYY', 'gnFrames', 'gpsfChiSq', 'gpsfCore', 'gpsfLikelihood', 'gpsfMajorFWHM', 'gpsfMinorFWHM', 'gpsfQf', 'gpsfQfPerfect', 'gpsfTheta', 'gra', 'graErr', 'gsky', 'gskyErr', 'gstackDetectID', 'gstackImageID', 'gxPos', 'gxPosErr', 'gyPos', 'gyPosErr', 'gzp', 'htmID', 'iApFillFac', 'iApFlux', 'iApFluxErr', 'iApMag', 'iApMagErr', 'iApRadius', 'iEpoch', 'iExtNSigma', 'iKronFlux', 'iKronFluxErr', 'iKronMag', 'iKronMagErr', 'iKronRad', 'iPSFFlux', 'iPSFFluxErr', 'iPSFMag', 'iPSFMagErr', 'iPlateScale', 'idec', 'idecErr', 'iexpTime', 'iinfoFlag', 'iinfoFlag2', 'iinfoFlag3', 'iippDetectID', 'imomentR1', 'imomentRH', 'imomentXX', 'imomentXY', 'imomentYY', 'inFrames', 'ippObjID', 'ipsfChiSq', 'ipsfCore', 'ipsfLikelihood', 'ipsfMajorFWHM', 'ipsfMinorFWHM', 'ipsfQf', 'ipsfQfPerfect', 'ipsfTheta', 'ira', 'iraErr', 'isky', 'iskyErr', 'istackDetectID', 'istackImageID', 'ixPos', 'ixPosErr', 'iyPos', 'iyPosErr', 'izp', 'l', 'lambda', 'nDetections', 'nStackDetections', 'nStackObjectRows', 'ng', 'ni', 'nr', 'ny', 'nz', 'objAltName1', 'objAltName2', 'objAltName3', 'objID', 'objInfoFlag', 'objName', 'posMeanChisq', 'primaryDetection', 'processingVersion', 'projectionID', 'qualityFlag', 'rApFillFac', 'rApFlux', 'rApFluxErr', 'rApMag', 'rApMagErr', 'rApRadius', 'rEpoch', 'rExtNSigma', 'rKronFlux', 'rKronFluxErr', 'rKronMag', 'rKronMagErr', 'rKronRad', 'rPSFFlux', 'rPSFFluxErr', 'rPSFMag', 'rPSFMagErr', 'rPlateScale', 'raMean', 'raMeanErr', 'raStack', 'raStackErr', 'randomID', 'rdec', 'rdecErr', 'rexpTime', 'rinfoFlag', 'rinfoFlag2', 'rinfoFlag3', 'rippDetectID', 'rmomentR1', 'rmomentRH', 'rmomentXX', 'rmomentXY', 'rmomentYY', 'rnFrames', 'rpsfChiSq', 'rpsfCore', 'rpsfLikelihood', 'rpsfMajorFWHM', 'rpsfMinorFWHM', 'rpsfQf', 'rpsfQfPerfect', 'rpsfTheta', 'rra', 'rraErr', 'rsky', 'rskyErr', 'rstackDetectID', 'rstackImageID', 'rxPos', 'rxPosErr', 'ryPos', 'ryPosErr', 'rzp', 'skyCellID', 'surveyID', 'tessID', 'uniquePspsOBid', 'uniquePspsSTid', 'yApFillFac', 'yApFlux', 'yApFluxErr', 'yApMag', 'yApMagErr', 'yApRadius', 'yEpoch', 'yExtNSigma', 'yKronFlux', 'yKronFluxErr', 'yKronMag', 'yKronMagErr', 'yKronRad', 'yPSFFlux', 'yPSFFluxErr', 'yPSFMag', 'yPSFMagErr', 'yPlateScale', 'ydec', 'ydecErr', 'yexpTime', 'yinfoFlag', 'yinfoFlag2', 'yinfoFlag3', 'yippDetectID', 'ymomentR1', 'ymomentRH', 'ymomentXX', 'ymomentXY', 'ymomentYY', 'ynFrames', 'ypsfChiSq', 'ypsfCore', 'ypsfLikelihood', 'ypsfMajorFWHM', 'ypsfMinorFWHM', 'ypsfQf', 'ypsfQfPerfect', 'ypsfTheta', 'yra', 'yraErr', 'ysky', 'yskyErr', 'ystackDetectID', 'ystackImageID', 'yxPos', 'yxPosErr', 'yyPos', 'yyPosErr', 'yzp', 'zApFillFac', 'zApFlux', 'zApFluxErr', 'zApMag', 'zApMagErr', 'zApRadius', 'zEpoch', 'zExtNSigma', 'zKronFlux', 'zKronFluxErr', 'zKronMag', 'zKronMagErr', 'zKronRad', 'zPSFFlux', 'zPSFFluxErr', 'zPSFMag', 'zPSFMagErr', 'zPlateScale', 'zdec', 'zdecErr', 'zexpTime', 'zinfoFlag', 'zinfoFlag2', 'zinfoFlag3', 'zippDetectID', 'zmomentR1', 'zmomentRH', 'zmomentXX', 'zmomentXY', 'zmomentYY', 'znFrames', 'zoneID', 'zpsfChiSq', 'zpsfCore', 'zpsfLikelihood', 'zpsfMajorFWHM', 'zpsfMinorFWHM', 'zpsfQf', 'zpsfQfPerfect', 'zpsfTheta', 'zra', 'zraErr', 'zsky', 'zskyErr', 'zstackDetectID', 'zstackImageID', 'zxPos', 'zxPosErr', 'zyPos', 'zyPosErr', 'zzp']
----
dbo.StackPetrosian
    Contains the Petrosian (1976) magnitudes and radii for extended sources.  See StackObjectThin table for discussion of primary, secondary, and best detections.  References: Petrosian, V. 1976, ApJL, 209, L1.

Columns=['bestDetection', 'gippDetectID', 'gpetCf', 'gpetMag', 'gpetMagErr', 'gpetR50', 'gpetR50Err', 'gpetR90', 'gpetR90Err', 'gpetRadius', 'gpetRadiusErr', 'gstackDetectID', 'gstackImageID', 'iippDetectID', 'ipetCf', 'ipetMag', 'ipetMagErr', 'ipetR50', 'ipetR50Err', 'ipetR90', 'ipetR90Err', 'ipetRadius', 'ipetRadiusErr', 'ippObjID', 'istackDetectID', 'istackImageID', 'objID', 'primaryDetection', 'randomStackObjID', 'rippDetectID', 'rpetCf', 'rpetMag', 'rpetMagErr', 'rpetR50', 'rpetR50Err', 'rpetR90', 'rpetR90Err', 'rpetRadius', 'rpetRadiusErr', 'rstackDetectID', 'rstackImageID', 'uniquePspsSTid', 'yippDetectID', 'ypetCf', 'ypetMag', 'ypetMagErr', 'ypetR50', 'ypetR50Err', 'ypetR90', 'ypetR90Err', 'ypetRadius', 'ypetRadiusErr', 'ystackDetectID', 'ystackImageID', 'zippDetectID', 'zpetCf', 'zpetMag', 'zpetMagErr', 'zpetR50', 'zpetR50Err', 'zpetR90', 'zpetR90Err', 'zpetRadius', 'zpetRadiusErr', 'zstackDetectID', 'zstackImageID']
----
dbo.StackToFrame
    Contains the mapping of input frames used to construct a particular stack along with processing stats.

Columns=['airMass', 'expTime', 'frameID', 'scaleFactor', 'stackImageID', 'zp']
----
dbo.StackToImage
    Contains the mapping of which input images were used to construct a particular stack.

Columns=['imageID', 'stackImageID']
----
dbo.StackType
    Contains descriptions of the types of stacked images constructed.

Columns=['description', 'name', 'stackTypeID']
----
dbo.Survey
    Contains descriptions of the various PS1 Science Consortium Surveys.

Columns=['description', 'name', 'surveyID']
----
dbo.TessellationType
    Contains descriptions of the types of image tessellations for the sky.

Columns=['description', 'name', 'tessID']
----

Use Cases#

Simple Positional Query#

This searches the mean object catalog for objects within .2 degrees of M87 (RA=187.706, Dec=12.391 in degrees). The view used contains information from the ObjectThin table (which has information on object positions and the number of available measurements) and the MeanObject table (which has information on photometry averaged over the multiple epochs of observation).

Note that the results are restricted to objects with nDetections>1, where nDetections is the total number of times the object was detected on the single-epoch images in any filter at any time. Objects with nDetections=1 tend to be artifacts, so this is a quick way to eliminate most spurious objects from the catalog.

This query runs in TAP’s asynchronous mode, which is a queued batch mode with some overhead and longer timeouts, useful for big catalogs like PanSTARRS. It may not be necessary for all queries to PS1 DR2, but the PyVO client can automatically handle the additional processing required over synchronous mode.

job = TAP_service.run_async("""
SELECT objID, RAMean, DecMean, nDetections, ng, nr, ni, nz, ny, gMeanPSFMag, rMeanPSFMag, iMeanPSFMag, zMeanPSFMag, yMeanPSFMag
FROM dbo.MeanObjectView
WHERE
CONTAINS(POINT('ICRS', RAMean, DecMean),CIRCLE('ICRS',187.706,12.391,.2))=1
AND nDetections > 1
  """)
TAP_results = job.to_table()
TAP_results
Table length=6927
objidrameandecmeanndetectionsngnrninznygmeanpsfmagrmeanpsfmagimeanpsfmagzmeanpsfmagymeanpsfmag
degdegmagmagmagmagmag
int64float64float64int16int16int16int16int16int16float32float32float32float32float32
122861877059169881187.7059100330960212.391133459973965410101481210.29510.73211.07611.34211.557
122861877056308967187.7055994812.39030211200002-999.0-999.0-999.0-999.014.9985
122871877063310741187.7063111873214312.39181079630862302010-999.014.4229-999.014.4249-999.0
122861877058698594187.7058091912.39013311200002-999.0-999.0-999.0-999.014.7305
122861877050678994187.7051254260855212.39043055705990652210017.028715.084316.169-999.0-999.0
122871877062551436187.7062236512.39236505200002-999.0-999.0-999.0-999.015.1102
122861877044629638187.7045159812.39086724200020-999.0-999.0-999.015.5294-999.0
122861877056688054187.7055899612.38960002200020-999.0-999.0-999.014.4064-999.0
122871877075050430187.7074791212.3915839200020-999.0-999.0-999.015.5752-999.0
..........................................
123101877313707983187.7312114312.58941058200020-999.0-999.0-999.019.9209-999.0
122901875031002013187.5031451810709512.41791544021220537710117221.232620.747320.574220.680320.2113
122661878055210091187.8055073626471512.2162813978174585713141261220.905920.351620.069919.995619.8391
122631877536376320187.7536933612.19655761200020-999.0-999.0-999.021.0599-999.0
123031875562633406187.5562239304035812.527354381090412300300-999.0-999.020.5518-999.0-999.0
122681878343382931187.8343815572258412.235251674424532245964022.091221.704221.306821.0164-999.0
123061878259604285187.8258887212.5531376321010021.9049-999.021.4564-999.0-999.0
122751878844752179187.8844679363601512.29302227841492977162414111221.462320.355520.139420.036819.8008
123001875376856622187.5378508678950312.505173082359276403100-999.021.188721.1419-999.0-999.0
123101876640214622187.6639871776572512.586746063373354300210-999.0-999.021.853121.6726-999.0

Get DR2 light curve for RR Lyrae star KQ UMa#

This time we start with the object name, use the MAST name resolver (which relies on Simbad and NED) to convert the name to RA and Dec, and then query the PS1 DR2 mean object catalog at that position. Then we run a spatial query to TAP using those coordinates.

objname = 'KQ UMa'
coords = Mast.resolve_object(objname)
ra,dec = coords.ra.value,coords.dec.value
radius = 1.0/3600.0 # radius = 1 arcsec

query = """
SELECT objID, RAMean, DecMean, nDetections, ng, nr, ni, nz, ny, gMeanPSFMag, 
    rMeanPSFMag, iMeanPSFMag, zMeanPSFMag, yMeanPSFMag
FROM dbo.MeanObjectView
WHERE
CONTAINS(POINT('ICRS', RAMean, DecMean),CIRCLE('ICRS',{},{},{}))=1
AND nDetections > 1
""".format(ra,dec,radius)
print(query)

job = TAP_service.run_async(query)
TAP_results = job.to_table()
TAP_results
SELECT objID, RAMean, DecMean, nDetections, ng, nr, ni, nz, ny, gMeanPSFMag, 
    rMeanPSFMag, iMeanPSFMag, zMeanPSFMag, yMeanPSFMag
FROM dbo.MeanObjectView
WHERE
CONTAINS(POINT('ICRS', RAMean, DecMean),CIRCLE('ICRS',139.33446271609,68.63508880829,0.0002777777777777778))=1
AND nDetections > 1
Table length=1
objidrameandecmeanndetectionsngnrninznygmeanpsfmagrmeanpsfmagimeanpsfmagzmeanpsfmagymeanpsfmag
degdegmagmagmagmagmag
int64float64float64int16int16int16int16int16int16float32float32float32float32float32
190361393344112894139.3344530533415868.635059161692316681021131415.040214.55314.210914.281414.3041

Get Repeated Detection Information#

Extract all the objects with the same object ID from the Detection table, which contains all the individual measurements for this source. The results are joined to the Filter table to convert the filter numbers to names.

objid = TAP_results['objid'][0]
query = """
SELECT
    objID, detectID, Detection.filterID as filterID, Filter.filterType, obsTime, ra, dec,
    psfFlux, psfFluxErr, psfMajorFWHM, psfMinorFWHM, psfQfPerfect, 
    apFlux, apFluxErr, infoFlag, infoFlag2, infoFlag3
FROM Detection
NATURAL JOIN Filter
WHERE objID={}
ORDER BY filterID, obsTime
""".format(objid)
print(query)

job = TAP_service.run_async(query)
detection_TAP_results = job.to_table()
detection_TAP_results
SELECT
    objID, detectID, Detection.filterID as filterID, Filter.filterType, obsTime, ra, dec,
    psfFlux, psfFluxErr, psfMajorFWHM, psfMinorFWHM, psfQfPerfect, 
    apFlux, apFluxErr, infoFlag, infoFlag2, infoFlag3
FROM Detection
NATURAL JOIN Filter
WHERE objID=190361393344112894
ORDER BY filterID, obsTime
Table length=66
objIDdetectIDfilteridfilterTypeobsTimeradecpsfFluxpsfFluxErrpsfMajorFWHMpsfMinorFWHMpsfQfPerfectapFluxapFluxErrinfoFlaginfoFlag2infoFlag3
degdeg
int64int64uint8objectfloat64float64float64float32float32float32float32float32float32float32int64int32int32
1903613933441128941533477163100000101g55634.477414139.334520768.635035770.008261921.14074e-051.881851.767340.9929160.008617051.14233e-05102760517128124782656
1903613933441128941533489683100000081g55634.4899457139.3344882168.635061460.00773731.10268e-051.810311.605180.9984610.007921721.09406e-05102760517128124782656
1903613933441128942322287915600000171g56423.2881719139.3344944168.635039520.003351987.26745e-061.602041.450480.9985890.003386587.2363e-06102760517128108038208
1903613933441128942555598663700000151g56656.5989211139.3344459268.635045890.003729097.37688e-061.828311.686920.9991910.003721637.52088e-06102760517128124815424
1903613933441128942620400703700000161g56721.4009635139.3344514868.635048070.0035767.22894e-061.605851.503960.9986050.003596037.43463e-061027605171287374912
1903613933441128942620407083700000141g56721.4073411139.3344530468.635044060.003505547.14809e-061.624151.488270.9994870.003596247.43434e-061027605171287374912
1903613933441128942642318642600000221g56743.3189045139.334443168.635044970.003438677.81574e-061.539571.47610.9990490.003612397.85237e-061027605171287374912
1903613933441128942642325162600000241g56743.3254198139.3344451268.635052850.003474037.87789e-061.527511.433250.9993670.003603497.8686e-061027605171287374912
1903613933441128941534413404100000122r55635.4136426139.3344717368.63505340.009787581.10843e-051.678791.56530.9985090.009907631.11231e-05102760517128124815424
...................................................
1903613933441128941832543545200000145y55933.5437238139.334453468.635059040.00793942.4924e-050.9592310.9014580.9968530.008030782.37126e-051027605171287374912
1903613933441128941832551635200000155y55933.5518128139.3344423268.635056690.009155732.64422e-051.113310.953680.9971150.009145152.48501e-0510276051712874483776
1903613933441128941917267252000000115y56018.2674345139.3344607968.635064030.008296462.59461e-051.073321.015630.9979240.008337592.33303e-051027605171287374912
1903613933441128941917273692000000125y56018.2738664139.3344518968.635061520.008199962.55524e-051.095041.059140.9978190.008207532.3153e-051027605171287374912
1903613933441128942291225691500000145y56392.2258719139.3344274268.635062340.007804222.57689e-051.028780.8931950.9986180.007772792.16455e-051027605171287374912
1903613933441128942291232731500000115y56392.2329084139.3344459568.635057440.008035032.55974e-050.9418010.8887880.998050.008070372.2092e-051027605171287374912
1903613933441128942643226481500000245y56744.2269452139.33445468.635058640.005404461.32146e-051.388291.34770.9989220.005498671.13527e-05102760517128124782656
1903613933441128942656230081500000275y56757.2305455139.3344431968.635063750.006366141.60784e-050.8950410.8033650.8525160.004128591.01303e-0510276058112834880
1903613933441128942871653746300000235y56972.6539243139.3344422668.635060870.006878172.79326e-051.536861.288130.9916470.006999142.16585e-051027605171287374912
1903613933441128942872651166300000285y56973.6513438139.3344499168.635057590.006653772.7704e-051.856191.703970.998640.006631062.13156e-051027605171287342144

Plot the light curves#

The psfFlux values from the Detection table are converted from Janskys to AB magnitudes. Measurements in the 5 different filters are plotted separately.

# convert flux in Jy to magnitudes
t = detection_TAP_results['obsTime']
mag = -2.5*np.log10(detection_TAP_results['psfFlux']) + 8.90
xlim = np.array([t.min(),t.max()])
xlim = xlim + np.array([-1,1])*0.02*(xlim[1]-xlim[0])

pylab.rcParams.update({'font.size': 14})
pylab.figure(1,(10,10))

#detection_TAP_results['filterType'] is a byte string, compare accordingly:
for i, filter in enumerate(['g','r','i','z','y']):
    
    pylab.subplot(511+i)
    w = np.where(detection_TAP_results['filterType'] == filter)  
    pylab.plot(t[w],mag[w],'-o')
    pylab.ylabel(f'{filter} [mag]')
    pylab.xlim(xlim)
    pylab.gca().invert_yaxis()
    if i==0:
        pylab.title(objname)
        
pylab.xlabel('Time [MJD]')
pylab.tight_layout()
../../../_images/43a05aab7d50f17838fa7d4e9ffceacd27dc7b8a8209de019b9b479a1dbccdcc.png

Plot differences from the mean magnitudes in the initial search.

# convert flux in Jy to magnitudes
t = detection_TAP_results['obsTime']
mag = -2.5*np.log10(detection_TAP_results['psfFlux']) + 8.90
xlim = np.array([t.min(),t.max()])
xlim = xlim + np.array([-1,1])*0.02*(xlim[1]-xlim[0])

pylab.rcParams.update({'font.size': 14})
pylab.figure(1,(10,10))

#detection_TAP_results['filterType'] is a byte string, compare accordingly:
for i, filter in enumerate(['g','r','i','z','y']):
    pylab.subplot(511+i)
    w = np.where(detection_TAP_results['filterType']==filter)
    magmean = TAP_results[f'{filter}meanpsfmag'][0]
    pylab.plot(t[w],mag[w] - magmean,'-o')
    pylab.ylabel(f'{filter} [mag - {np.round(float(magmean), 4)}]')
    pylab.xlim(xlim)
    pylab.gca().invert_yaxis()
    if i==0:
        pylab.title(objname)
        
pylab.xlabel('Time [MJD]')
pylab.tight_layout()
../../../_images/81067b68f186e92eac0cb7474f78669fdf3c4b48c1d34b7e9eb650e78e88148c.png

Identify bad data#

There is one clearly bad $z$ magnitude with a very large difference. Select the bad point and look at it in more detail.

Note that indexing a table (or numpy array) with a logical expression selects just the rows where that expression is true.

detection_TAP_results[ (detection_TAP_results['filterType']=='z') & (np.abs(mag-TAP_results['zmeanpsfmag'][0]) > 2) ]
Table length=1
objIDdetectIDfilteridfilterTypeobsTimeradecpsfFluxpsfFluxErrpsfMajorFWHMpsfMinorFWHMpsfQfPerfectapFluxapFluxErrinfoFlaginfoFlag2infoFlag3
degdeg
int64int64uint8objectfloat64float64float64float32float32float32float32float32float32float32int64int32int32
1903613933441128941832526275200002344z55933.5264577139.3348816868.635322730.0003179456.73008e-061.075371.01530.3229860.0002132172.36939e-0610276045312832768

From examining this table, it looks like psfQfPerfect is bad. This flag is the PSF-weighted fraction of unmasked pixels in the image (see the documentation for more details). Values near unity indicate good data that is not significantly affected by bad pixels.

Check all the psfQfPerfect values for the $z$ filter to see if this value really is unusual. The list of values below are sorted by magnitude. The bad point is the only value with psfQfPerfect < 0.95.

w = np.where(detection_TAP_results['filterType']=='z')
zdtab = detection_TAP_results[w]
zdtab['mag'] = mag[w]
zdtab['dmag'] = zdtab['mag'] - TAP_results['zmeanpsfmag'][0]
ii = np.argsort(-np.abs(zdtab['dmag']))
zdtab = zdtab[ii]
zdtab['objID','obsTime','mag','dmag','psfQfPerfect']
Table length=13
objIDobsTimemagdmagpsfQfPerfect
int64float64float32float32float32
19036139334411289455933.526457717.644123.36271950.322986
19036139334411289456289.615934613.890659-0.39074040.997811
19036139334411289456289.624111213.916806-0.36459350.988369
19036139334411289456351.416848313.998973-0.282426830.999257
19036139334411289455281.252828514.5379140.256514550.99754
19036139334411289456351.42407614.032502-0.248897550.999187
19036139334411289455527.650891914.5121170.230717660.997265
19036139334411289456648.567601914.05643-0.224969860.997982
19036139334411289455527.638146914.4651410.183741570.99738
19036139334411289455281.262515114.4285550.147154810.955584
19036139334411289455933.53451514.307640.0262403490.997489
19036139334411289456019.296878214.278636-0.00276374820.997654
19036139334411289456019.303801414.2828910.00149154660.997338

Repeat the plot with bad psfQfPerfect values excluded#

Do the plot again but exclude low psfQfPerfect values.

# convert flux in Jy to magnitudes
t = detection_TAP_results['obsTime']
mag = -2.5*np.log10(detection_TAP_results['psfFlux']) + 8.90
magmean = 0.0*mag
for i, filter in enumerate(['g','r','i','z','y']):
    magmean[detection_TAP_results['filterType']==filter] = TAP_results[f'{filter}meanpsfmag'][0]

dmag = mag - magmean
dmag1 = dmag[detection_TAP_results['psfQfPerfect']>0.9]
# fix the x and y axis ranges
xlim = np.array([t.min(),t.max()])
xlim = xlim + np.array([-1,1])*0.02*(xlim[1]-xlim[0])
# flip axis direction for magnitude
ylim = np.array([dmag1.max(),dmag1.min()])
ylim = ylim + np.array([-1,1])*0.02*(ylim[1]-ylim[0])

pylab.rcParams.update({'font.size': 14})
pylab.figure(1,(10,10))

for i, filter in enumerate(['g','r','i','z','y']):
    pylab.subplot(511+i)
    w = np.where((detection_TAP_results['filterType']==filter) & (detection_TAP_results['psfQfPerfect']>0.9))[0]
    pylab.plot(t[w],dmag[w],'-o')
    pylab.ylabel('{} [mag - {:.2f}]'.format(filter,magmean[w[0]]))
    pylab.xlim(xlim)
    pylab.ylim(ylim)
    if i==0:
        pylab.title(objname)
        
pylab.xlabel('Time [MJD]')
pylab.tight_layout()
../../../_images/7e0f9621b55e2704c64a269aa8d30225866b22ebd0a60e6ed9184f93c7f0209e.png

Plot versus the periodic phase instead of epoch#

Plot versus phase using known RR Lyr period from Simbad (table J/AJ/132/1202/table4).

period = 0.48636 #days, from Simbad
# convert flux in Jy to magnitudes
t = (detection_TAP_results['obsTime'] % period) / period
mag = -2.5*np.log10(detection_TAP_results['psfFlux']) + 8.90
magmean = 0.0*mag
for i, filter in enumerate(['g','r','i','z','y']):
    magmean[detection_TAP_results['filterType']==filter] = TAP_results[f'{filter}meanpsfmag'][0]
    
dmag = mag - magmean
dmag1 = dmag[detection_TAP_results['psfQfPerfect']>0.9]
# fix the x and y axis ranges
xlim = np.array([t.min(),t.max()])
xlim = xlim + np.array([-1,1])*0.02*(xlim[1]-xlim[0])
# flip axis direction for magnitude
ylim = np.array([dmag1.max(),dmag1.min()])
ylim = ylim + np.array([-1,1])*0.02*(ylim[1]-ylim[0])

pylab.rcParams.update({'font.size': 14})
pylab.figure(1,(10,10))

for i, filter in enumerate(['g','r','i','z','y']):
    pylab.subplot(511+i)
    w = np.where((detection_TAP_results['filterType']==filter) & (detection_TAP_results['psfQfPerfect']>0.9))[0]
    w = w[np.argsort(t[w])]
    pylab.plot(t[w],dmag[w],'-o')
    pylab.ylabel('{} [mag - {:.2f}]'.format(filter,magmean[w[0]]))
    pylab.xlim(xlim)
    pylab.ylim(ylim)
    if i==0:
        pylab.title(objname)
        
pylab.xlabel('Phase')
pylab.tight_layout()
../../../_images/d702cbba634cf73e11153babf440425868e826ca63cbbd41d0baa74ee8ef983a.png

Repeat search using eclipsing binary KIC 2161623#

From Villanova Kepler Eclipsing Binaries

objname = 'KIC 2161623'
coords = Mast.resolve_object(objname)
ra,dec = coords.ra.value,coords.dec.value
radius = 1.0/3600.0 # radius = 1 arcsec

query = """
SELECT objID, RAMean, DecMean, nDetections, ng, nr, ni, nz, ny, gMeanPSFMag, rMeanPSFMag, iMeanPSFMag, zMeanPSFMag, yMeanPSFMag
FROM dbo.MeanObjectView
WHERE
CONTAINS(POINT('ICRS', RAMean, DecMean),CIRCLE('ICRS',{},{},{}))=1
AND nDetections > 1
""".format(ra,dec,radius)
print(query)

job = TAP_service.run_async(query)
TAP_results = job.to_table()
TAP_results
SELECT objID, RAMean, DecMean, nDetections, ng, nr, ni, nz, ny, gMeanPSFMag, rMeanPSFMag, iMeanPSFMag, zMeanPSFMag, yMeanPSFMag
FROM dbo.MeanObjectView
WHERE
CONTAINS(POINT('ICRS', RAMean, DecMean),CIRCLE('ICRS',291.744461,37.59102,0.0002777777777777778))=1
AND nDetections > 1
Table length=1
objidrameandecmeanndetectionsngnrninznygmeanpsfmagrmeanpsfmagimeanpsfmagzmeanpsfmagymeanpsfmag
degdegmagmagmagmagmag
int64float64float64int16int16int16int16int16int16float32float32float32float32float32
153102917444859851291.7444628363461437.5909988815496967101612151414.599814.282114.158714.200414.0672

Get Repeated Detection Information#

This time include the psfQfPerfect limit directly in the database query.

objid = TAP_results['objid'][0]

query = """
SELECT
    objID, detectID, Detection.filterID as filterID, Filter.filterType, obsTime, ra, dec,
    psfFlux, psfFluxErr, psfMajorFWHM, psfMinorFWHM, psfQfPerfect, 
    apFlux, apFluxErr, infoFlag, infoFlag2, infoFlag3
FROM Detection
NATURAL JOIN Filter
WHERE objID={}
AND psfQfPerfect >= 0.9
ORDER BY filterID, obsTime
""".format(objid)
print(query)

job = TAP_service.run_async(query)
detection_TAP_results = job.to_table()

# add magnitude and difference from mean
detection_TAP_results['magmean'] = 0.0
for i, filter in enumerate([b'g',b'r',b'i',b'z',b'y']):
    detection_TAP_results['magmean'][detection_TAP_results['filterType']==filter] = TAP_results[filter.decode('ascii')+'meanpsfmag'][0]
detection_TAP_results['mag'] = -2.5*np.log10(detection_TAP_results['psfFlux']) + 8.90
detection_TAP_results['dmag'] = detection_TAP_results['mag']-detection_TAP_results['magmean']

detection_TAP_results
SELECT
    objID, detectID, Detection.filterID as filterID, Filter.filterType, obsTime, ra, dec,
    psfFlux, psfFluxErr, psfMajorFWHM, psfMinorFWHM, psfQfPerfect, 
    apFlux, apFluxErr, infoFlag, infoFlag2, infoFlag3
FROM Detection
NATURAL JOIN Filter
WHERE objID=153102917444859851
AND psfQfPerfect >= 0.9
ORDER BY filterID, obsTime
Table length=45
objIDdetectIDfilteridfilterTypeobsTimeradecpsfFluxpsfFluxErrpsfMajorFWHMpsfMinorFWHMpsfQfPerfectapFluxapFluxErrinfoFlaginfoFlag2infoFlag3magmeanmagdmag
degdeg
int64int64uint8objectfloat64float64float64float32float32float32float32float32float32float32int64int32int32float64float32float64
153102917444859851901504437100000881g55002.5047803291.7444639137.59100060.005010086.65687e-061.987441.812110.9994210.005174137.31225e-061027605171281248154240.014.65038914.650388717651367
153102917444859851901519597100000871g55002.5199475291.7444661137.591001560.004873346.48844e-061.984871.707930.9992340.005115427.27714e-061027605171281248154240.014.68043314.68043327331543
1531029174448598511315349965600001291g55416.3502179291.7444608237.590996920.005256228.41646e-061.624031.578930.9985660.00529928.62578e-0610276051712873749120.014.59831614.598316192626953
1531029174448598511315361806500001381g55416.362065291.7444593737.590997330.005330288.62169e-061.320811.271860.9987570.005400828.91577e-061027605171281248154240.014.58312514.583125114440918
1531029174448598512045289305600000761g56146.2895546291.7444591437.590980730.005223998.43794e-061.333691.292110.9997580.005325068.88465e-0610276051712873749120.014.60499414.60499382019043
1531029174448598512045300415600000851g56146.3006673291.7444648637.590976490.005235398.44281e-061.428831.226830.9646460.005324198.85594e-0610276051712873749120.014.60262814.602627754211426
1531029174448598512410322651200000941g56511.322909291.7444565737.590997520.005286418.3427e-061.151231.107890.9987220.005374848.8135e-0610276051712873749120.014.59209814.592098236083984
1531029174448598512410333211200000811g56511.3334693291.7444594537.590996430.005278898.31263e-061.078980.9873230.9952790.00533468.77771e-0610276051712873749120.014.59364314.593643188476562
153102917444859851912525437100001022r55013.5256677291.7444598537.590994540.007002438.7848e-061.901871.686890.9989620.007235139.82915e-0610276051712873749120.014.28687814.286877632141113
............................................................
1531029174448598511599616164100001255y55700.6163536291.7444634637.590997680.008672862.66106e-050.7800350.6504660.9595020.008731062.5663e-0510276051712873749120.014.05459414.054594039916992
1531029174448598511604600874100001365y55705.6010605291.7444637237.590996670.008389142.4518e-050.8922940.7857140.9974980.008507052.38093e-0510276051712873749120.014.09070614.090705871582031
1531029174448598511604612744100001345y55705.6129264291.7444647937.590994840.008463762.45964e-050.8435670.7193540.9821990.008459892.36938e-0510276051712873749120.014.08109214.08109188079834
1531029174448598511717343720100001275y55818.3439014291.7444641937.590999730.008995372.60801e-051.256050.9636240.9975090.008931252.37426e-05102760517128577065600.014.01495314.014952659606934
1531029174448598511717355230100001295y55818.3554064291.7444605837.591002080.008938852.61524e-051.26840.9412590.9979290.008983012.38145e-05102760517128409293440.014.02179514.021795272827148
1531029174448598511944620756400001605y56045.6209324291.744462737.590999140.009013122.46438e-051.411571.293440.9983750.009005782.28883e-05102760517128577065600.014.01281214.012811660766602
1531029174448598511944627526400001585y56045.6277083291.7444598937.590997180.008816422.44413e-051.403771.198980.9995120.008887092.26963e-0510276051712873749120.014.0367714.03676986694336
1531029174448598512133193243000001595y56234.1934155291.7444637337.59100090.008511512.42822e-051.045040.8496060.994970.008423522.41261e-0510276051712873749120.014.07498414.074983596801758
1531029174448598512133198803000001635y56234.1989869291.7444691537.591000790.008522162.36733e-051.038710.8439690.9949770.008332252.42534e-05102760517128744837760.014.07362614.073625564575195
1531029174448598512453355593600001735y56554.3560604291.7444648837.590998740.008707051.611e-051.429061.389350.9596460.008868841.39697e-05102760517128409293440.014.05032314.050322532653809
t = detection_TAP_results['obsTime']
dmag = detection_TAP_results['dmag']
xlim = np.array([t.min(),t.max()])
xlim = xlim + np.array([-1,1])*0.02*(xlim[1]-xlim[0])
ylim = np.array([dmag.max(),dmag.min()])
ylim = ylim + np.array([-1,1])*0.02*(ylim[1]-ylim[0])

pylab.rcParams.update({'font.size': 14})
pylab.figure(1,(10,10))

for i, filter in enumerate(['g','r','i','z','y']):
    pylab.subplot(511+i)
    w = np.where(detection_TAP_results['filterType']==filter)[0]
    pylab.plot(t[w],dmag[w],'-o')
    magmean = detection_TAP_results['magmean'][w[0]]
    pylab.ylabel('{} [mag - {:.2f}]'.format(filter,magmean))
    pylab.xlim(xlim)
    pylab.ylim(ylim)
    if i==0:
        pylab.title(objname)
        
pylab.xlabel('Time [MJD]')
pylab.tight_layout()
../../../_images/f0685c35427f87606e2acd1aa31ad2d57da879d2e41fdf54db59a4452e037a50.png

Plot versus phase using known period#

Eclipsing binaries basically vary by same amount in all filters since it is a geometrical effect, so combine the data into a single light curve. Wrap using known period and plot versus phase.

period = 2.2834698
bjd0 = 54999.599837
t = ((detection_TAP_results['obsTime']-bjd0) % period) / period
dmag = detection_TAP_results['dmag']
w = np.argsort(t)
t = t[w]
dmag = dmag[w]
xlim = np.array([t.min(),t.max()])
xlim = xlim + np.array([-1,1])*0.02*(xlim[1]-xlim[0])
ylim = np.array([dmag.max(),dmag.min()])
ylim = ylim + np.array([-1,1])*0.02*(ylim[1]-ylim[0])

pylab.rcParams.update({'font.size': 14})
pylab.figure(1,(10,6))
pylab.plot(t,dmag,'-o')
pylab.xlim(xlim)
pylab.ylim(ylim)
pylab.xlabel('Phase')
pylab.ylabel('Delta magnitude from mean [mag]')
pylab.title(objname)
pylab.tight_layout()
../../../_images/29e3bf228fe7eedd71db620b5b3a08cec772c3aee4ff43638e43ed9b88e448af.png

Repeat search for another eclipsing binary KIC 8153568#

objname = 'KIC 8153568'
coords = Mast.resolve_object(objname)
ra,dec = coords.ra.value,coords.dec.value
radius = 1.0/3600.0 # radius = 1 arcsec

query = """
SELECT objID, RAMean, DecMean, nDetections, ng, nr, ni, nz, ny, gMeanPSFMag, rMeanPSFMag, iMeanPSFMag, zMeanPSFMag, yMeanPSFMag
FROM dbo.MeanObjectView
WHERE
CONTAINS(POINT('ICRS', RAMean, DecMean),CIRCLE('ICRS',{},{},{}))=1
AND nDetections > 1
""".format(ra,dec,radius)
print(query)

job = TAP_service.run_async(query)
TAP_results = job.to_table()
TAP_results
SELECT objID, RAMean, DecMean, nDetections, ng, nr, ni, nz, ny, gMeanPSFMag, rMeanPSFMag, iMeanPSFMag, zMeanPSFMag, yMeanPSFMag
FROM dbo.MeanObjectView
WHERE
CONTAINS(POINT('ICRS', RAMean, DecMean),CIRCLE('ICRS',286.90445,44.00551,0.0002777777777777778))=1
AND nDetections > 1
Table length=1
objidrameandecmeanndetectionsngnrninznygmeanpsfmagrmeanpsfmagimeanpsfmagzmeanpsfmagymeanpsfmag
degdegmagmagmagmagmag
int64float64float64int16int16int16int16int16int16float32float32float32float32float32
160802869044447231286.9044500512221744.0054794547150988161531101615.182514.989914.890715.199914.8484
objid = TAP_results['objid'][0]
query = """
SELECT
    objID, detectID, Detection.filterID as filterID, Filter.filterType, obsTime, ra, dec,
    psfFlux, psfFluxErr, psfMajorFWHM, psfMinorFWHM, psfQfPerfect, 
    apFlux, apFluxErr, infoFlag, infoFlag2, infoFlag3
FROM Detection
NATURAL JOIN Filter
WHERE objID={}
AND psfQfPerfect >= 0.9
ORDER BY filterID, obsTime
""".format(objid)
print(query)

job = TAP_service.run_async(query)
detection_TAP_results = job.to_table()

# add magnitude and difference from mean
detection_TAP_results['magmean'] = 0.0
for i, filter in enumerate([b'g',b'r',b'i',b'z',b'y']):
    detection_TAP_results['magmean'][detection_TAP_results['filterType']==filter] = TAP_results[filter.decode('ascii')+'meanpsfmag'][0]
detection_TAP_results['mag'] = -2.5*np.log10(detection_TAP_results['psfFlux']) + 8.90
detection_TAP_results['dmag'] = detection_TAP_results['mag']-detection_TAP_results['magmean']

detection_TAP_results
SELECT
    objID, detectID, Detection.filterID as filterID, Filter.filterType, obsTime, ra, dec,
    psfFlux, psfFluxErr, psfMajorFWHM, psfMinorFWHM, psfQfPerfect, 
    apFlux, apFluxErr, infoFlag, infoFlag2, infoFlag3
FROM Detection
NATURAL JOIN Filter
WHERE objID=160802869044447231
AND psfQfPerfect >= 0.9
ORDER BY filterID, obsTime
Table length=60
objIDdetectIDfilteridfilterTypeobsTimeradecpsfFluxpsfFluxErrpsfMajorFWHMpsfMinorFWHMpsfQfPerfectapFluxapFluxErrinfoFlaginfoFlag2infoFlag3magmeanmagdmag
degdeg
int64int64uint8objectfloat64float64float64float32float32float32float32float32float32float32int64int32int32float64float32float64
160802869044447231913364294300001131g55014.3646518286.9044337444.005475750.0031095.98065e-061.781.238110.9983350.003124475.69291e-0610276051712873749120.015.168447515.168447494506836
160802869044447231913374804300001161g55014.3751566286.9044389444.005475020.003130566.00144e-061.669391.327730.9981970.003156135.71358e-061027605171281248154240.015.16094515.160944938659668
1608028690444472311260575651200000921g55361.57592286.9044531744.005474510.003095736.72312e-061.74981.624220.9988260.003100456.69387e-0610276051712873749120.015.17309215.173091888427734
1608028690444472311260587411300001111g55361.587678286.9044515744.005480650.003028156.57752e-061.628391.525790.9983870.00310626.76425e-0610276051712873749120.015.19705615.19705581665039
1608028690444472311287441263100002841g55388.4415151286.904450244.005478910.0008064623.51444e-061.101320.9925010.9976310.0008104163.45294e-061027605171281248154240.016.63354116.633541107177734
1608028690444472311287453413100002491g55388.4536712286.9044504344.005479360.0009817623.82737e-061.10851.074410.9974910.0009855843.78859e-061027605171281248154240.016.41998516.419984817504883
1608028690444472311645448417200000971g55746.4486739286.9044531544.005476460.003066556.32653e-061.328511.166930.998310.003047336.63894e-06102760517128409293440.015.18337415.183374404907227
1608028690444472311647444085300001111g55748.4443394286.9044520744.005478350.003040576.5461e-061.371531.231930.9985440.003078286.69725e-0610276051712873749120.015.19261215.192611694335938
1608028690444472311647455265300001131g55748.4555151286.9044527544.00547970.003047286.57104e-061.275311.264240.9985190.003085646.71944e-0610276051712873749120.015.19021915.190218925476074
............................................................
1608028690444472312814229355500001354z56915.2295351286.904444144.005471620.004052511.10757e-051.311431.133850.9995880.004052121.03719e-051027605171281248154240.014.8806914.88068962097168
1608028690444472311360270091200001455y55461.2702758286.9044550344.005478270.004297691.96242e-051.486521.389680.9986860.004233951.58905e-0510276051712873749120.014.81691214.816911697387695
1608028690444472311360282041200001485y55461.2822322286.9044599444.005482290.004174612.0278e-051.765061.7130.9987050.004197361.56164e-0510276051712873749120.014.8484614.84846019744873
1608028690444472311599599934000001475y55700.6001108286.9044469244.005480860.004009831.95314e-051.040480.8986510.9980290.003961771.71112e-05102760517128409293440.014.89218514.89218521118164
1608028690444472311599611654000001425y55700.611833286.9044446344.005480940.004096671.92559e-050.8760260.7410520.9988060.004039491.75641e-0510276051712873749120.014.86892314.86892318725586
1608028690444472311604596264000001595y55705.5964454286.904448944.00548110.003313431.64053e-051.01180.848480.9974650.003279931.48499e-051027605171281248154240.015.09930515.099305152893066
1608028690444472311604607954000001715y55705.6081345286.9044468444.005479640.003211941.64645e-051.081210.9909370.9978730.00318011.44718e-051027605171281248154240.015.13308115.133081436157227
1608028690444472311710235866400001365y55811.2360427286.904452544.005483570.00421441.82169e-050.7231510.6624750.99780.004252461.73593e-0510276051712873421440.014.838160514.838160514831543
1608028690444472311710247766400001515y55811.2479472286.9044527644.005482270.004250271.862e-050.7636580.6921140.9977030.004313361.74107e-0510276051712873421440.014.828958514.828958511352539
1608028690444472312453350024700001535y56554.3504901286.9044508544.005477840.004270931.24367e-051.463481.403940.9726070.004264339.76066e-0610276051712873749120.014.82369414.823694229125977
t = detection_TAP_results['obsTime']
dmag = detection_TAP_results['dmag']
xlim = np.array([t.min(),t.max()])
xlim = xlim + np.array([-1,1])*0.02*(xlim[1]-xlim[0])
ylim = np.array([dmag.max(),dmag.min()])
ylim = ylim + np.array([-1,1])*0.02*(ylim[1]-ylim[0])

pylab.rcParams.update({'font.size': 14})
pylab.figure(1,(10,10))

for i, filter in enumerate(['g','r','i','z','y']):
    pylab.subplot(511+i)
    w = np.where(detection_TAP_results['filterType']==filter)[0]
    pylab.plot(t[w],dmag[w],'-o')
    magmean = detection_TAP_results['magmean'][w[0]]
    pylab.ylabel('{} [mag - {:.2f}]'.format(filter,magmean))
    pylab.xlim(xlim)
    pylab.ylim(ylim)
    if i==0:
        pylab.title(objname)
        
pylab.xlabel('Time [MJD]')
pylab.tight_layout()
../../../_images/b1b2dc185a81014c8b9d473323295fa72965688fdee7f1a56af86bd5f706b84e.png

Eclipsing binaries basically vary by same amount in all filters since it is a geometrical effect, so combine the data into a single light curve.

Wrap using known period and plot versus phase. Plot two periods of the light curve this time.

This nice light curve appears to show a secondary eclipse.

period = 3.6071431
bjd0 = 54999.289794
t = ((detection_TAP_results['obsTime']-bjd0) % period) / period
dmag = detection_TAP_results['dmag']
w = np.argsort(t)
# extend to two periods
nw = len(w)
w = np.append(w,w)
t = t[w]
# add one to second period
t[-nw:] += 1
dmag = dmag[w]
xlim = [0,2.0]
ylim = np.array([dmag.max(),dmag.min()])
ylim = ylim + np.array([-1,1])*0.02*(ylim[1]-ylim[0])

pylab.rcParams.update({'font.size': 14})
pylab.figure(1,(12,6))
pylab.plot(t,dmag,'-o')
pylab.xlim(xlim)
pylab.ylim(ylim)
pylab.xlabel('Phase')
pylab.ylabel('Delta magnitude from mean [mag]')
pylab.title(objname)
pylab.tight_layout()
../../../_images/f02c8028d44d0ffff11d8196e5bee32d15d90a0eab89cae9bb552c9e23852ee2.png

Additional Resources#

Table Access Protocol#

  • IVOA standard for RESTful web service access to tabular data

  • http://www.ivoa.net/documents/TAP/

PanSTARRS 1 DR 2#

  • Catalog for PanSTARRS with additional Detection information

  • https://outerspace.stsci.edu/display/PANSTARRS/

Astronomical Query Data Language (2.0)#

  • IVOA standard for querying astronomical data in tabular format, with geometric search support

  • http://www.ivoa.net/documents/latest/ADQL.html

PyVO#

  • an affiliated package for astropy

  • find and retrieve astronomical data available from archives that support standard IVOA virtual observatory service protocols.

  • https://pyvo.readthedocs.io/en/latest/index.html


About this Notebook#

Authors: Rick White & Theresa Dower, STScI Archive Scientist & Software Engineer
Last Updated: Jan 2023

For support, please contact the Archive HelpDesk at archive@stsci.edu.


Space Telescope Logo

Return to top of page