Owner: Jim Chiang (@jchiang87)
Updated by: Javier Sánchez (@fjaviersanchez)
Last Run: 2020-06-12
In this notebook, we use the data butler to retrieve catalogs from coadd and visit-level analyses of Run2.2i, and use the lsst.afw.table.matchRaDec
function to do positional matching against galaxy truth info extracted from the cosmoDC2 v1.1.4 extragalactic catalog. To enable this, we show how to create a SourceCatalog
object from the galaxy truth info provided by the GCR interface.
import warnings
from collections import namedtuple
import numpy as np
import matplotlib.pyplot as plt
import lsst.afw.geom as afw_geom
import lsst.afw.table as afw_table
import lsst.daf.persistence as dp
import GCRCatalogs
import healpy as hp
import lsst.geom
In order to use the Stack's spatial matching code, we will need to reformat the extragalactic catalog galaxy position and magnitude information into an afw SourceCatalog
object. These table objects are initialized by a "schema", which in turn is built from column definition "Coldef" objects. The mag_cols
function below shows how these Coldefs can be created.
def make_SourceCatalog(new_cols):
"""
Make a SourceCatalog to contain id and coordinates for each object, plus any new
columns.
Parameters
----------
new_cols: list of Coldefs
Column info for adding to an afw.table schema.
Returns
-------
lsst.afw.table.SourceCatalog: An empty SourceCatalog with the desired schema.
"""
# The minimal schema just contains the `id`, `coord_ra`, and `coord_dec` fields.
schema = afw_table.SourceTable.makeMinimalSchema()
for coldef in new_cols:
schema.addField(coldef.name, type=coldef.type, doc=coldef.doc)
return afw_table.SourceCatalog(schema)
def mag_cols(bands):
"""Return column information for adding magnitude columns to an afw.table schema."""
Coldef = namedtuple('Coldef', 'name type doc'.split())
return [Coldef(f'mag_{x}', float, f'{x}-magnitude')
for x in bands]
We are going to downselect cosmoDC2 to the sky region being considered. We'll make a general-purpose RegionSelector class, and then sub-class it for selecting objects in either CCDs or patches.
class RegionSelector:
"""
Class to rotate the protoDC2 galaxies to the Run1.1p sky location and downselect those galaxies
based on a magnitude limit and on the coordinates of the subregion (i.e., patch or CCD) being
considered.
"""
def __init__(self):
pass
def _set_coord_range(self, bbox, wcs):
"""
Set the coordinate range of the region.
Notes
-----
This method is used by the RegionSelector's subclasses.
Parameters
----------
bbox: Calexp.BBox
Defines corners of region's bounding box
wcs: Calexp.Wcs
Defines pixel to world (sky) coordinate transformation
"""
region_box = lsst.geom.Box2D(bbox)
corners = region_box.getCorners()
ra_values, dec_values = [], []
for corner in corners:
ra, dec = wcs.pixelToSky(corner)
ra_values.append(ra.asDegrees())
dec_values.append(dec.asDegrees())
self.ra_range = min(ra_values), max(ra_values)
self.dec_range = min(dec_values), max(dec_values)
def __call__(self, gc, band, max_mag):
"""
Create a SourceCatalog object from the input galaxy catalog for the specified band, and
apply the region and magnitude cuts.
Parameters
----------
gc: GCRCatalogs GalaxyCatalog
The galaxy catalog obtained via GCR.
band: str
The band, e.g., 'i', to use for the magnitude comparison with the values measured
from the simulated data.
max_mag: float
The magnitude limit to apply.
Returns
-------
lsst.afw.table.SourceCatalog
"""
# Retrieve the healpix pixels corresponding to the catalog so we don't query the full catalog
vertices = hp.ang2vec(np.array([self.ra_range[0], self.ra_range[1],
self.ra_range[1], self.ra_range[0]]),
np.array([self.dec_range[0], self.dec_range[0],
self.dec_range[1], self.dec_range[1]]), lonlat=True)
ipix = hp.query_polygon(32, vertices, inclusive=True)
# We are going to pass the healpixels that overlap with our catalog as native filters to speed up the process
native_filter = f'(healpix_pixel == {ipix[0]})'
for ipx in ipix:
native_filter=native_filter+f' | (healpix_pixel == {ipx})'
# Retrieve the desired columns and cut on the magnitude values.
bandname = f'mag_{band}'
filter_ = f'{bandname} < {max_mag}'
print("Applying magnitude filter:", filter_)
gc_cols = gc.get_quantities(['galaxy_id', 'ra', 'dec',
bandname], filters=[filter_,
f'ra > {self.ra_range[0]}',
f'ra < {self.ra_range[1]}',
f'dec > {self.dec_range[0]}',
f'dec < {self.dec_range[1]}',
],
native_filters = native_filter)
print("Number of galaxies within region:", len(gc_cols['ra']))
# Create a SourceCatalog with the galaxy_ids, coordinates, magnitudes
galaxy_catalog = make_SourceCatalog(mag_cols((band,)))
for id_, ra, dec, mag in zip(gc_cols['galaxy_id'], gc_cols['ra'], gc_cols['dec'], gc_cols[bandname]):
record = galaxy_catalog.addNew()
record.set('id', id_)
record.set('coord_ra', lsst.geom.Angle(ra, lsst.geom.degrees))
record.set('coord_dec', lsst.geom.Angle(dec, lsst.geom.degrees))
record.set(f'mag_{band}', mag)
return galaxy_catalog
class CcdSelector(RegionSelector):
"""RegionSelector to use with visit-level calexps, i.e., single CCD exposures."""
def __init__(self, butler, visit, raft, sensor):
super(CcdSelector, self).__init__()
# Get the CCD boundaries
dataId = dict(visit=visit, raft=raft, sensor=sensor)
calexp = butler.get('calexp', dataId=dataId)
self._set_coord_range(calexp.getBBox(), calexp.getWcs())
class PatchSelector(RegionSelector):
"""RegionSelector to use with skyMap patches, i.e., coadd data."""
def __init__(self, butler, tract, patch):
super(PatchSelector, self).__init__()
# Get the patch boundaries.
skymap = butler.get('deepCoadd_skyMap')
tractInfo = skymap[tract]
patchInfo = tractInfo.getPatchInfo(eval(patch))
self._set_coord_range(patchInfo.getOuterBBox(), tractInfo.getWcs())
Now we have the tools we need, let's read in the Run 2.2i-DR3 coadd catalog data and match it to the extragalactic catalog input.
# Create a data butler for the repo.
repo = '/global/cfs/cdirs/lsst/production/DC2_ImSim/Run2.2i/desc_dm_drp/v19.0.0-v1/rerun/run2.2i-coadd-wfd-dr3-v1'
butler = dp.Butler(repo)
We can consider visit-level src catalog data, in which case we would provide a dataId
to the butler with (visit
, raft
, sensor
) ids; or we can consider coadd object data, for which we would provid a dataId
with (filter
, tract
, patch
) ids.
Somewhat different flux models are available in the Run2.2i data for src catalogs versus coadd catalogs.
mag_max = 24.5
# we_are_matching = "Sources"
we_are_matching = "Objects"
if we_are_matching == "Sources":
# Get the src catalog for a selected visit, raft, and sensor:
visit = 219976
raft = '2,2'
sensor = '1,1'
title = f'Run2.2i-DR3, visit={visit}, raft={raft}, sensor={sensor}'
dataId = dict(visit=visit, raft=raft, sensor=sensor)
catalog = butler.get('src', dataId=dataId)
calexp = butler.get('calexp', dataId=dataId)
filter_ = calexp.getInfo().getFilter().getFilter()
calib = calexp.getPhotoCalib()
#flux_model = 'ext_photometryKron_KronFlux'
flux_model = 'modelfit_CModel'
region_selector = CcdSelector(butler, visit, raft, sensor)
else:
# Get the coadd catalog for a selected filter, tract, and patch:
filter_ = 'r'
tract = 4638
patch = '2,2'
title = f'Run2.2i-DR3, filter={filter_}, tract={tract}, patch={patch}'
dataId = dict(tract=tract, patch=patch, filter=filter_)
catalog = butler.get('deepCoadd_meas', dataId=dataId)
calexp = butler.get('deepCoadd', dataId=dataId)
calib = calexp.getPhotoCalib()
flux_model = 'modelfit_CModel'
region_selector = PatchSelector(butler, tract, patch)
Galaxies can be selected as extended objects (or sources) using the base_ClassificationExtendedness_value
. We use the model flag and flux to ensure that a flux value could be measured, and then apply a selection to ensure that we get deblended objects. Finally, we apply a relatively bright magnitude cut, to avoid confusion when performing the positional match.
# Extract columns to use in the selection:
ext = catalog.get('base_ClassificationExtendedness_value')
model_flag = catalog.get(flux_model + '_flag')
model_flux = catalog.get(flux_model + '_instFlux')
num_children = catalog.get('deblend_nChild')
# Apply the extendedness, flag, and blendedness cuts using the subset method:
cat_temp = catalog.subset((ext == 1) &
(model_flag == False) &
(model_flux > 0) &
(num_children == 0))
# Extract the magnitude and again use subset to apply the depth cut:
_mag = calib.instFluxToMagnitude(cat_temp, flux_model)
mag = _mag[:,0] #Magnitude
magerr = _mag[:,1] #Magnitude Error
#print(mag, len(mag))
cat_temp = cat_temp.subset(mag < mag_max)
# Repackage everything in a more minimal SourceCatalog and add a magnitude column for comparing
# to the galaxy catalog truth values.
drp_catalog = make_SourceCatalog(mag_cols((filter_,)))
for record in cat_temp:
new_rec = drp_catalog.addNew()
for name in 'id coord_ra coord_dec parent'.split():
new_rec.set(name, record[name])
mag = calib.instFluxToMagnitude(record, flux_model)
new_rec.set(f'mag_{filter_}', mag.value)
print("Number of observed objects in our DRP galaxy catalog", len(drp_catalog))
Number of observed objects in our DRP galaxy catalog 3658
We can now use our region_selector object to process the protoDC2 extragalactic catalog. Note that while we instantiated it with a butler, so that it could work on selecting galaxy observations from either a tract or a CCD, we can call it as a function (via its __call__
method) which takes a GCR catalog object as its first argument. The result will be a DM Stack SourceCatalog object, that we can match to our observed DRP catalog.
# Read in the galaxy catalog data.
with warnings.catch_warnings():
warnings.filterwarnings('ignore')
gc = GCRCatalogs.load_catalog('cosmoDC2_v1.1.4_image')
# Create a SourceCatalog from the gc data, applying the region and magnitude selections.
galaxy_catalog = region_selector(gc, band=filter_, max_mag=mag_max)
Applying magnitude filter: mag_r < 24.5 Number of galaxies within region: 3784
Compare the number of galaxies within our region with th enumber of observed galaxies in the DRP catalog. Is this what you would expect?
We can now carry out the spatial matching, and compute some quantities to plot.
# Find positional matches within 100 milliarcseconds:
radius = lsst.geom.Angle(0.1, lsst.geom.arcseconds)
matches = afw_table.matchRaDec(drp_catalog, galaxy_catalog, radius)
matches
is a list of match
objects, each one containing an observed-true matchd galaxy pair. The code below shows how to work with these, looping over the matches and extracting information to plot.
# Compare magnitudes for matched objects:
drp_mag = np.zeros(len(matches), dtype=np.float)
gc_mag = np.zeros(len(matches), dtype=np.float)
sep = np.zeros(len(matches), dtype=np.float)
# Arrays for a quiver plot.
u = np.zeros(len(matches), dtype=np.float)
v = np.zeros(len(matches), dtype=np.float)
for i, match in enumerate(matches):
drp_mag[i] = match.first[f'mag_{filter_}']
gc_mag[i] = match.second[f'mag_{filter_}']
sep[i] = np.degrees(match.distance)*3600.*1000.
u[i] = match.first['coord_ra'] - match.second['coord_ra']
v[i] = match.first['coord_dec'] - match.second['coord_dec']
print("Number of matches:", len(matches))
Number of matches: 2951
# Start a 2x2 panel figure:
fig = plt.figure(figsize=(8, 8))
frame_axes = fig.add_subplot(111, frameon=False)
frame_axes.set_title(title)
frame_axes.get_xaxis().set_ticks([])
frame_axes.get_yaxis().set_ticks([])
delta_mag = drp_mag - gc_mag # Observed - True
# Upper Left: Histogram of match separations.
fig.add_subplot(2, 2, 1)
plt.hist(sep, range=(0, 100), histtype='step', bins=40)
plt.xlabel('separation (marcsec)')
plt.ylabel('entries / bin')
# Upper Right: Quiver plot of (DRP - galaxy_catalog) positions on the sky.
fig.add_subplot(2, 2, 2)
plt.quiver(np.degrees(drp_catalog['coord_ra']),
np.degrees(drp_catalog['coord_dec']),
u, v)
plt.xlabel('RA (deg)')
plt.ylabel('Dec (deg)')
# Lower left: Difference in magnitudes vs true magnitude (mag_gc).
fig.add_subplot(2, 2, 3)
plt.errorbar(gc_mag, delta_mag, fmt='.', alpha=0.1)
plt.xlabel(f'True mag {filter_}_gc'.format(filter_))
plt.ylabel(f'Mag difference ({filter_}_gc - {filter_}_drp)')
# Difference in magnitudes vs separation.
fig.add_subplot(2, 2, 4)
plt.errorbar(sep, delta_mag, fmt='.', alpha=0.1)
plt.xlabel('separation (mas)')
plt.ylabel(f'Mag difference ({filter_}_gc - {filter_}_drp)')
plt.tight_layout()
The available columns in a SourceCatalog
can be seen by printing the info from the schema that it carries around with it. The cells below show you what you have available. The drp_catalog and galaxy_catalog that we made to do the spatial matching only have positions and magnitudes in them - but the parent catalogs have many more quantities.
for item in drp_catalog.schema:
print(f"{item.field.getName()}: {item.field.getDoc()}")
id: unique ID coord_ra: position in ra/dec coord_dec: position in ra/dec parent: unique ID of parent source mag_r: r-magnitude
for item in galaxy_catalog.schema:
print(f"{item.field.getName()}: {item.field.getDoc()}")
id: unique ID coord_ra: position in ra/dec coord_dec: position in ra/dec parent: unique ID of parent source mag_r: r-magnitude
# All the DRP measurements:
for item in catalog.schema:
print(f"{item.field.getName()}: {item.field.getDoc()}")
id: unique ID coord_ra: position in ra/dec coord_dec: position in ra/dec parent: unique ID of parent source merge_footprint_i: Detection footprint overlapped with a detection from filter i merge_footprint_r: Detection footprint overlapped with a detection from filter r merge_footprint_z: Detection footprint overlapped with a detection from filter z merge_footprint_y: Detection footprint overlapped with a detection from filter y merge_footprint_g: Detection footprint overlapped with a detection from filter g merge_footprint_u: Detection footprint overlapped with a detection from filter u merge_footprint_sky: Detection footprint overlapped with a detection from filter sky merge_peak_i: Peak detected in filter i merge_peak_r: Peak detected in filter r merge_peak_z: Peak detected in filter z merge_peak_y: Peak detected in filter y merge_peak_g: Peak detected in filter g merge_peak_u: Peak detected in filter u merge_peak_sky: Peak detected in filter sky deblend_nChild: Number of children this object has (defaults to 0) deblend_deblendedAsPsf: Deblender thought this source looked like a PSF deblend_psfCenter_x: If deblended-as-psf, the PSF centroid deblend_psfCenter_y: If deblended-as-psf, the PSF centroid deblend_psf_instFlux: If deblended-as-psf, the instrumental PSF flux deblend_tooManyPeaks: Source had too many peaks; only the brightest were included deblend_parentTooBig: Parent footprint covered too many pixels deblend_masked: Parent footprint was predominantly masked deblend_skipped: Deblender skipped this source deblend_rampedTemplate: This source was near an image edge and the deblender used "ramp" edge-handling. deblend_patchedTemplate: This source was near an image edge and the deblender used "patched" edge-handling. deblend_hasStrayFlux: This source was assigned some stray flux base_NaiveCentroid_x: centroid from Naive Centroid algorithm base_NaiveCentroid_y: centroid from Naive Centroid algorithm base_NaiveCentroid_flag: General Failure Flag base_NaiveCentroid_flag_noCounts: Object to be centroided has no counts base_NaiveCentroid_flag_edge: Object too close to edge base_NaiveCentroid_flag_resetToPeak: set if CentroidChecker reset the centroid base_SdssCentroid_x: centroid from Sdss Centroid algorithm base_SdssCentroid_y: centroid from Sdss Centroid algorithm base_SdssCentroid_xErr: 1-sigma uncertainty on x position base_SdssCentroid_yErr: 1-sigma uncertainty on y position base_SdssCentroid_flag: General Failure Flag base_SdssCentroid_flag_edge: Object too close to edge base_SdssCentroid_flag_noSecondDerivative: Vanishing second derivative base_SdssCentroid_flag_almostNoSecondDerivative: Almost vanishing second derivative base_SdssCentroid_flag_notAtMaximum: Object is not at a maximum base_SdssCentroid_flag_resetToPeak: set if CentroidChecker reset the centroid base_SdssCentroid_flag_badError: Error on x and/or y position is NaN base_Blendedness_old: Blendedness from dot products: (child.dot(parent)/child.dot(child) - 1) base_Blendedness_raw: Measure of how much the flux is affected by neighbors: (1 - child_instFlux/parent_instFlux). Operates on the "raw" pixel values. base_Blendedness_raw_child_instFlux: Instrumental flux of the child, measured with a Gaussian weight matched to the child. Operates on the "raw" pixel values. base_Blendedness_raw_parent_instFlux: Instrumental flux of the parent, measured with a Gaussian weight matched to the child. Operates on the "raw" pixel values. base_Blendedness_abs: Measure of how much the flux is affected by neighbors: (1 - child_instFlux/parent_instFlux). Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_abs_child_instFlux: Instrumental flux of the child, measured with a Gaussian weight matched to the child. Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_abs_parent_instFlux: Instrumental flux of the parent, measured with a Gaussian weight matched to the child. Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_raw_child_xx: Shape of the child, measured with a Gaussian weight matched to the child. Operates on the "raw" pixel values. base_Blendedness_raw_child_yy: Shape of the child, measured with a Gaussian weight matched to the child. Operates on the "raw" pixel values. base_Blendedness_raw_child_xy: Shape of the child, measured with a Gaussian weight matched to the child. Operates on the "raw" pixel values. base_Blendedness_raw_parent_xx: Shape of the parent, measured with a Gaussian weight matched to the child. Operates on the "raw" pixel values. base_Blendedness_raw_parent_yy: Shape of the parent, measured with a Gaussian weight matched to the child. Operates on the "raw" pixel values. base_Blendedness_raw_parent_xy: Shape of the parent, measured with a Gaussian weight matched to the child. Operates on the "raw" pixel values. base_Blendedness_abs_child_xx: Shape of the child, measured with a Gaussian weight matched to the child. Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_abs_child_yy: Shape of the child, measured with a Gaussian weight matched to the child. Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_abs_child_xy: Shape of the child, measured with a Gaussian weight matched to the child. Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_abs_parent_xx: Shape of the parent, measured with a Gaussian weight matched to the child. Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_abs_parent_yy: Shape of the parent, measured with a Gaussian weight matched to the child. Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_abs_parent_xy: Shape of the parent, measured with a Gaussian weight matched to the child. Operates on the absolute value of the pixels to try to obtain a "de-noised" value. See section 4.9.11 of Bosch et al. 2018, PASJ, 70, S5 for details. base_Blendedness_flag: General Failure Flag base_Blendedness_flag_noCentroid: Object has no centroid base_Blendedness_flag_noShape: Object has no shape base_InputCount_flag: Set for any fatal failure base_InputCount_value: Number of images contributing at center, not including anyclipping base_InputCount_flag_noInputs: No coadd inputs available base_SdssShape_xx: elliptical Gaussian adaptive moments base_SdssShape_yy: elliptical Gaussian adaptive moments base_SdssShape_xy: elliptical Gaussian adaptive moments base_SdssShape_xxErr: Standard deviation of xx moment base_SdssShape_yyErr: Standard deviation of yy moment base_SdssShape_xyErr: Standard deviation of xy moment base_SdssShape_x: elliptical Gaussian adaptive moments base_SdssShape_y: elliptical Gaussian adaptive moments base_SdssShape_instFlux: elliptical Gaussian adaptive moments base_SdssShape_instFluxErr: 1-sigma instFlux uncertainty base_SdssShape_psf_xx: adaptive moments of the PSF model at the object position base_SdssShape_psf_yy: adaptive moments of the PSF model at the object position base_SdssShape_psf_xy: adaptive moments of the PSF model at the object position base_SdssShape_instFlux_xx_Cov: uncertainty covariance between base_SdssShape_instFlux and base_SdssShape_xx base_SdssShape_instFlux_yy_Cov: uncertainty covariance between base_SdssShape_instFlux and base_SdssShape_yy base_SdssShape_instFlux_xy_Cov: uncertainty covariance between base_SdssShape_instFlux and base_SdssShape_xy base_SdssShape_flag: General Failure Flag base_SdssShape_flag_unweightedBad: Both weighted and unweighted moments were invalid base_SdssShape_flag_unweighted: Weighted moments converged to an invalid value; using unweighted moments base_SdssShape_flag_shift: centroid shifted by more than the maximum allowed amount base_SdssShape_flag_maxIter: Too many iterations in adaptive moments base_SdssShape_flag_psf: Failure in measuring PSF model shape ext_shapeHSM_HsmPsfMoments_x: HSM Centroid ext_shapeHSM_HsmPsfMoments_y: HSM Centroid ext_shapeHSM_HsmPsfMoments_xx: HSM moments ext_shapeHSM_HsmPsfMoments_yy: HSM moments ext_shapeHSM_HsmPsfMoments_xy: HSM moments ext_shapeHSM_HsmPsfMoments_flag: general failure flag, set if anything went wrong ext_shapeHSM_HsmPsfMoments_flag_no_pixels: no pixels to measure ext_shapeHSM_HsmPsfMoments_flag_not_contained: center not contained in footprint bounding box ext_shapeHSM_HsmPsfMoments_flag_parent_source: parent source, ignored ext_shapeHSM_HsmShapeRegauss_e1: PSF-corrected shear using Hirata & Seljak (2003) ''regaussianization ext_shapeHSM_HsmShapeRegauss_e2: PSF-corrected shear using Hirata & Seljak (2003) ''regaussianization ext_shapeHSM_HsmShapeRegauss_sigma: PSF-corrected shear using Hirata & Seljak (2003) ''regaussianization ext_shapeHSM_HsmShapeRegauss_resolution: resolution factor (0=unresolved, 1=resolved) ext_shapeHSM_HsmShapeRegauss_flag: general failure flag, set if anything went wrong ext_shapeHSM_HsmShapeRegauss_flag_no_pixels: no pixels to measure ext_shapeHSM_HsmShapeRegauss_flag_not_contained: center not contained in footprint bounding box ext_shapeHSM_HsmShapeRegauss_flag_parent_source: parent source, ignored ext_shapeHSM_HsmShapeRegauss_flag_galsim: GalSim failure ext_shapeHSM_HsmSourceMoments_x: HSM Centroid ext_shapeHSM_HsmSourceMoments_y: HSM Centroid ext_shapeHSM_HsmSourceMoments_xx: HSM moments ext_shapeHSM_HsmSourceMoments_yy: HSM moments ext_shapeHSM_HsmSourceMoments_xy: HSM moments ext_shapeHSM_HsmSourceMoments_flag: general failure flag, set if anything went wrong ext_shapeHSM_HsmSourceMoments_flag_no_pixels: no pixels to measure ext_shapeHSM_HsmSourceMoments_flag_not_contained: center not contained in footprint bounding box ext_shapeHSM_HsmSourceMoments_flag_parent_source: parent source, ignored ext_shapeHSM_HsmSourceMomentsRound_x: HSM Centroid ext_shapeHSM_HsmSourceMomentsRound_y: HSM Centroid ext_shapeHSM_HsmSourceMomentsRound_xx: HSM moments ext_shapeHSM_HsmSourceMomentsRound_yy: HSM moments ext_shapeHSM_HsmSourceMomentsRound_xy: HSM moments ext_shapeHSM_HsmSourceMomentsRound_flag: general failure flag, set if anything went wrong ext_shapeHSM_HsmSourceMomentsRound_flag_no_pixels: no pixels to measure ext_shapeHSM_HsmSourceMomentsRound_flag_not_contained: center not contained in footprint bounding box ext_shapeHSM_HsmSourceMomentsRound_flag_parent_source: parent source, ignored ext_shapeHSM_HsmSourceMomentsRound_Flux: HSM flux modelfit_DoubleShapeletPsfApprox_0_xx: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_yy: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_xy: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_x: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_y: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_0: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_1: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_2: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_3: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_4: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_0_5: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_1_xx: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_1_yy: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_1_xy: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_1_x: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_1_y: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_1_0: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_1_1: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_1_2: Double-Shapelet approximation to the PSF model at the position of this source modelfit_DoubleShapeletPsfApprox_flag: General Failure Flag modelfit_DoubleShapeletPsfApprox_flag_invalidPointForPsf: PSF model could not be evaluated at the source position modelfit_DoubleShapeletPsfApprox_flag_invalidMoments: Moments of the PSF model were not a valid ellipse modelfit_DoubleShapeletPsfApprox_flag_maxIterations: optimizer exceeded the maximum number (inner or outer) iterations base_CircularApertureFlux_3_0_instFlux: instFlux within 3.000000-pixel aperture base_CircularApertureFlux_3_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_3_0_flag: General Failure Flag base_CircularApertureFlux_3_0_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_3_0_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image base_CircularApertureFlux_4_5_instFlux: instFlux within 4.500000-pixel aperture base_CircularApertureFlux_4_5_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_4_5_flag: General Failure Flag base_CircularApertureFlux_4_5_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_4_5_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image base_CircularApertureFlux_6_0_instFlux: instFlux within 6.000000-pixel aperture base_CircularApertureFlux_6_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_6_0_flag: General Failure Flag base_CircularApertureFlux_6_0_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_6_0_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image base_CircularApertureFlux_9_0_instFlux: instFlux within 9.000000-pixel aperture base_CircularApertureFlux_9_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_9_0_flag: General Failure Flag base_CircularApertureFlux_9_0_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_9_0_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image base_CircularApertureFlux_12_0_instFlux: instFlux within 12.000000-pixel aperture base_CircularApertureFlux_12_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_12_0_flag: General Failure Flag base_CircularApertureFlux_12_0_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_12_0_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image base_CircularApertureFlux_17_0_instFlux: instFlux within 17.000000-pixel aperture base_CircularApertureFlux_17_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_17_0_flag: General Failure Flag base_CircularApertureFlux_17_0_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_25_0_instFlux: instFlux within 25.000000-pixel aperture base_CircularApertureFlux_25_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_25_0_flag: General Failure Flag base_CircularApertureFlux_25_0_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_35_0_instFlux: instFlux within 35.000000-pixel aperture base_CircularApertureFlux_35_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_35_0_flag: General Failure Flag base_CircularApertureFlux_35_0_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_50_0_instFlux: instFlux within 50.000000-pixel aperture base_CircularApertureFlux_50_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_50_0_flag: General Failure Flag base_CircularApertureFlux_50_0_flag_apertureTruncated: aperture did not fit within measurement image base_CircularApertureFlux_70_0_instFlux: instFlux within 70.000000-pixel aperture base_CircularApertureFlux_70_0_instFluxErr: 1-sigma instFlux uncertainty base_CircularApertureFlux_70_0_flag: General Failure Flag base_CircularApertureFlux_70_0_flag_apertureTruncated: aperture did not fit within measurement image base_GaussianFlux_instFlux: instFlux from Gaussian Flux algorithm base_GaussianFlux_instFluxErr: 1-sigma instFlux uncertainty base_GaussianFlux_flag: General Failure Flag base_LocalBackground_instFlux: background in annulus around source base_LocalBackground_instFluxErr: 1-sigma instFlux uncertainty base_LocalBackground_flag: General Failure Flag base_LocalBackground_flag_noGoodPixels: no good pixels in the annulus base_LocalBackground_flag_noPsf: no PSF provided base_PixelFlags_flag: General failure flag, set if anything went wrong base_PixelFlags_flag_offimage: Source center is off image base_PixelFlags_flag_edge: Source is outside usable exposure region (masked EDGE or NO_DATA) base_PixelFlags_flag_interpolated: Interpolated pixel in the Source footprint base_PixelFlags_flag_saturated: Saturated pixel in the Source footprint base_PixelFlags_flag_cr: Cosmic ray in the Source footprint base_PixelFlags_flag_bad: Bad pixel in the Source footprint base_PixelFlags_flag_suspect: Source''s footprint includes suspect pixels base_PixelFlags_flag_interpolatedCenter: Interpolated pixel in the Source center base_PixelFlags_flag_saturatedCenter: Saturated pixel in the Source center base_PixelFlags_flag_crCenter: Cosmic ray in the Source center base_PixelFlags_flag_suspectCenter: Source''s center is close to suspect pixels base_PixelFlags_flag_clippedCenter: Source center is close to CLIPPED pixels base_PixelFlags_flag_sensor_edgeCenter: Source center is close to SENSOR_EDGE pixels base_PixelFlags_flag_inexact_psfCenter: Source center is close to INEXACT_PSF pixels base_PixelFlags_flag_bright_objectCenter: Source center is close to BRIGHT_OBJECT pixels base_PixelFlags_flag_clipped: Source footprint includes CLIPPED pixels base_PixelFlags_flag_sensor_edge: Source footprint includes SENSOR_EDGE pixels base_PixelFlags_flag_inexact_psf: Source footprint includes INEXACT_PSF pixels base_PixelFlags_flag_bright_object: Source footprint includes BRIGHT_OBJECT pixels base_PsfFlux_instFlux: instFlux derived from linear least-squares fit of PSF model base_PsfFlux_instFluxErr: 1-sigma instFlux uncertainty base_PsfFlux_area: effective area of PSF base_PsfFlux_flag: General Failure Flag base_PsfFlux_flag_noGoodPixels: not enough non-rejected pixels in data to attempt the fit base_PsfFlux_flag_edge: object was too close to the edge of the image to use the full PSF model base_Variance_flag: Set for any fatal failure base_Variance_value: Variance at object position base_Variance_flag_emptyFootprint: Set to True when the footprint has no usable pixels ext_photometryKron_KronFlux_instFlux: flux from Kron Flux algorithm ext_photometryKron_KronFlux_instFluxErr: 1-sigma instFlux uncertainty ext_photometryKron_KronFlux_radius: Kron radius (sqrt(a*b)) ext_photometryKron_KronFlux_radius_for_radius: radius used to estimate <radius> (sqrt(a*b)) ext_photometryKron_KronFlux_psf_radius: Radius of PSF ext_photometryKron_KronFlux_flag: general failure flag, set if anything went wrong ext_photometryKron_KronFlux_flag_edge: bad measurement due to image edge ext_photometryKron_KronFlux_flag_bad_shape_no_psf: bad shape and no PSF ext_photometryKron_KronFlux_flag_no_minimum_radius: minimum radius could not enforced: no minimum value or PSF ext_photometryKron_KronFlux_flag_no_fallback_radius: no minimum radius and no PSF provided ext_photometryKron_KronFlux_flag_bad_radius: bad Kron radius ext_photometryKron_KronFlux_flag_used_minimum_radius: used the minimum radius for the Kron aperture ext_photometryKron_KronFlux_flag_used_psf_radius: used the PSF Kron radius for the Kron aperture ext_photometryKron_KronFlux_flag_small_radius: measured Kron radius was smaller than that of the PSF ext_photometryKron_KronFlux_flag_bad_shape: shape for measuring Kron radius is bad; used PSF shape ext_convolved_ConvolvedFlux_seeing: original seeing (Gaussian sigma) at position ext_convolved_ConvolvedFlux_0_deconv: deconvolution required for seeing 3.500000; no measurement made ext_convolved_ConvolvedFlux_0_3_3_instFlux: instFlux within 3.300000-pixel aperture ext_convolved_ConvolvedFlux_0_3_3_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_0_3_3_flag: General Failure Flag ext_convolved_ConvolvedFlux_0_3_3_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_0_3_3_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_0_4_5_instFlux: instFlux within 4.500000-pixel aperture ext_convolved_ConvolvedFlux_0_4_5_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_0_4_5_flag: General Failure Flag ext_convolved_ConvolvedFlux_0_4_5_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_0_4_5_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_0_6_0_instFlux: instFlux within 6.000000-pixel aperture ext_convolved_ConvolvedFlux_0_6_0_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_0_6_0_flag: General Failure Flag ext_convolved_ConvolvedFlux_0_6_0_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_0_6_0_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_0_kron_instFlux: convolved Kron flux: seeing 3.500000 ext_convolved_ConvolvedFlux_0_kron_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_0_kron_flag: convolved Kron flux failed: seeing 3.500000 ext_convolved_ConvolvedFlux_1_deconv: deconvolution required for seeing 5.000000; no measurement made ext_convolved_ConvolvedFlux_1_3_3_instFlux: instFlux within 3.300000-pixel aperture ext_convolved_ConvolvedFlux_1_3_3_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_1_3_3_flag: General Failure Flag ext_convolved_ConvolvedFlux_1_3_3_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_1_3_3_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_1_4_5_instFlux: instFlux within 4.500000-pixel aperture ext_convolved_ConvolvedFlux_1_4_5_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_1_4_5_flag: General Failure Flag ext_convolved_ConvolvedFlux_1_4_5_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_1_4_5_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_1_6_0_instFlux: instFlux within 6.000000-pixel aperture ext_convolved_ConvolvedFlux_1_6_0_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_1_6_0_flag: General Failure Flag ext_convolved_ConvolvedFlux_1_6_0_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_1_6_0_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_1_kron_instFlux: convolved Kron flux: seeing 5.000000 ext_convolved_ConvolvedFlux_1_kron_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_1_kron_flag: convolved Kron flux failed: seeing 5.000000 ext_convolved_ConvolvedFlux_2_deconv: deconvolution required for seeing 6.500000; no measurement made ext_convolved_ConvolvedFlux_2_3_3_instFlux: instFlux within 3.300000-pixel aperture ext_convolved_ConvolvedFlux_2_3_3_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_2_3_3_flag: General Failure Flag ext_convolved_ConvolvedFlux_2_3_3_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_2_3_3_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_2_4_5_instFlux: instFlux within 4.500000-pixel aperture ext_convolved_ConvolvedFlux_2_4_5_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_2_4_5_flag: General Failure Flag ext_convolved_ConvolvedFlux_2_4_5_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_2_4_5_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_2_6_0_instFlux: instFlux within 6.000000-pixel aperture ext_convolved_ConvolvedFlux_2_6_0_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_2_6_0_flag: General Failure Flag ext_convolved_ConvolvedFlux_2_6_0_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_2_6_0_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_2_kron_instFlux: convolved Kron flux: seeing 6.500000 ext_convolved_ConvolvedFlux_2_kron_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_2_kron_flag: convolved Kron flux failed: seeing 6.500000 ext_convolved_ConvolvedFlux_3_deconv: deconvolution required for seeing 8.000000; no measurement made ext_convolved_ConvolvedFlux_3_3_3_instFlux: instFlux within 3.300000-pixel aperture ext_convolved_ConvolvedFlux_3_3_3_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_3_3_3_flag: General Failure Flag ext_convolved_ConvolvedFlux_3_3_3_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_3_3_3_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_3_4_5_instFlux: instFlux within 4.500000-pixel aperture ext_convolved_ConvolvedFlux_3_4_5_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_3_4_5_flag: General Failure Flag ext_convolved_ConvolvedFlux_3_4_5_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_3_4_5_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_3_6_0_instFlux: instFlux within 6.000000-pixel aperture ext_convolved_ConvolvedFlux_3_6_0_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_3_6_0_flag: General Failure Flag ext_convolved_ConvolvedFlux_3_6_0_flag_apertureTruncated: aperture did not fit within measurement image ext_convolved_ConvolvedFlux_3_6_0_flag_sincCoeffsTruncated: full sinc coefficient image did not fit within measurement image ext_convolved_ConvolvedFlux_3_kron_instFlux: convolved Kron flux: seeing 8.000000 ext_convolved_ConvolvedFlux_3_kron_instFluxErr: 1-sigma instFlux uncertainty ext_convolved_ConvolvedFlux_3_kron_flag: convolved Kron flux failed: seeing 8.000000 ext_convolved_ConvolvedFlux_flag: error in running ConvolvedFluxPlugin modelfit_CModel_initial_instFlux: flux from the initial fit modelfit_CModel_initial_instFluxErr: flux uncertainty from the initial fit modelfit_CModel_initial_flag: flag set when the flux for the initial flux failed modelfit_CModel_initial_instFlux_inner: flux within the fit region, with no extrapolation modelfit_CModel_initial_ellipse_xx: half-light ellipse of the initial fit modelfit_CModel_initial_ellipse_yy: half-light ellipse of the initial fit modelfit_CModel_initial_ellipse_xy: half-light ellipse of the initial fit modelfit_CModel_initial_objective: -ln(likelihood*prior) at best-fit point for the initial fit modelfit_CModel_initial_nonlinear_0: nonlinear parameters for the initial fit modelfit_CModel_initial_nonlinear_1: nonlinear parameters for the initial fit modelfit_CModel_initial_nonlinear_2: nonlinear parameters for the initial fit modelfit_CModel_initial_fixed_0: fixed parameters for the initial fit modelfit_CModel_initial_fixed_1: fixed parameters for the initial fit modelfit_CModel_initial_flag_trSmall: the optimizer converged because the trust radius became too small; this is a less-secure result than when the gradient is below the threshold, but usually not a problem modelfit_CModel_initial_flag_maxIter: the optimizer hit the maximum number of iterations and did not converge modelfit_CModel_initial_nIter: Number of total iterations in stage modelfit_CModel_initial_time: Time spent in stage modelfit_CModel_initial_flag_numericError: numerical underflow or overflow in model evaluation; usually this means the prior was insufficient to regularize the fit, or all pixel values were zero. modelfit_CModel_exp_instFlux: flux from the exponential fit modelfit_CModel_exp_instFluxErr: flux uncertainty from the exponential fit modelfit_CModel_exp_flag: flag set when the flux for the exponential flux failed modelfit_CModel_exp_instFlux_inner: flux within the fit region, with no extrapolation modelfit_CModel_exp_ellipse_xx: half-light ellipse of the exponential fit modelfit_CModel_exp_ellipse_yy: half-light ellipse of the exponential fit modelfit_CModel_exp_ellipse_xy: half-light ellipse of the exponential fit modelfit_CModel_exp_objective: -ln(likelihood*prior) at best-fit point for the exponential fit modelfit_CModel_exp_nonlinear_0: nonlinear parameters for the exponential fit modelfit_CModel_exp_nonlinear_1: nonlinear parameters for the exponential fit modelfit_CModel_exp_nonlinear_2: nonlinear parameters for the exponential fit modelfit_CModel_exp_fixed_0: fixed parameters for the exponential fit modelfit_CModel_exp_fixed_1: fixed parameters for the exponential fit modelfit_CModel_exp_flag_trSmall: the optimizer converged because the trust radius became too small; this is a less-secure result than when the gradient is below the threshold, but usually not a problem modelfit_CModel_exp_flag_maxIter: the optimizer hit the maximum number of iterations and did not converge modelfit_CModel_exp_nIter: Number of total iterations in stage modelfit_CModel_exp_time: Time spent in stage modelfit_CModel_exp_flag_numericError: numerical underflow or overflow in model evaluation; usually this means the prior was insufficient to regularize the fit, or all pixel values were zero. modelfit_CModel_dev_instFlux: flux from the de Vaucouleur fit modelfit_CModel_dev_instFluxErr: flux uncertainty from the de Vaucouleur fit modelfit_CModel_dev_flag: flag set when the flux for the de Vaucouleur flux failed modelfit_CModel_dev_instFlux_inner: flux within the fit region, with no extrapolation modelfit_CModel_dev_ellipse_xx: half-light ellipse of the de Vaucouleur fit modelfit_CModel_dev_ellipse_yy: half-light ellipse of the de Vaucouleur fit modelfit_CModel_dev_ellipse_xy: half-light ellipse of the de Vaucouleur fit modelfit_CModel_dev_objective: -ln(likelihood*prior) at best-fit point for the de Vaucouleur fit modelfit_CModel_dev_nonlinear_0: nonlinear parameters for the de Vaucouleur fit modelfit_CModel_dev_nonlinear_1: nonlinear parameters for the de Vaucouleur fit modelfit_CModel_dev_nonlinear_2: nonlinear parameters for the de Vaucouleur fit modelfit_CModel_dev_fixed_0: fixed parameters for the de Vaucouleur fit modelfit_CModel_dev_fixed_1: fixed parameters for the de Vaucouleur fit modelfit_CModel_dev_flag_trSmall: the optimizer converged because the trust radius became too small; this is a less-secure result than when the gradient is below the threshold, but usually not a problem modelfit_CModel_dev_flag_maxIter: the optimizer hit the maximum number of iterations and did not converge modelfit_CModel_dev_nIter: Number of total iterations in stage modelfit_CModel_dev_time: Time spent in stage modelfit_CModel_dev_flag_numericError: numerical underflow or overflow in model evaluation; usually this means the prior was insufficient to regularize the fit, or all pixel values were zero. modelfit_CModel_instFlux: flux from the final cmodel fit modelfit_CModel_instFluxErr: flux uncertainty from the final cmodel fit modelfit_CModel_flag: flag set if the final cmodel fit (or any previous fit) failed modelfit_CModel_instFlux_inner: flux within the fit region, with no extrapolation modelfit_CModel_fracDev: fraction of flux in de Vaucouleur component modelfit_CModel_objective: -ln(likelihood) (chi^2) in cmodel fit modelfit_CModel_flag_region_maxArea: number of pixels in fit region exceeded the region.maxArea value modelfit_CModel_flag_region_maxBadPixelFraction: the fraction of bad/clipped pixels in the fit region exceeded region.maxBadPixelFraction modelfit_CModel_flags_region_usedFootprintArea: the pixel region for the initial fit was defined by the area of the Footprint modelfit_CModel_flags_region_usedPsfArea: the pixel region for the initial fit was set to a fixed factor of the PSF area modelfit_CModel_flags_region_usedInitialEllipseMin: the pixel region for the final fit was set to the lower bound defined by the initial fit modelfit_CModel_flags_region_usedInitialEllipseMax: the pixel region for the final fit was set to the upper bound defined by the initial fit modelfit_CModel_flag_noShape: the shape slot needed to initialize the parameters failed or was not defined modelfit_CModel_flags_smallShape: initial parameter guess resulted in negative radius; used minimum of 0.100000 pixels instead. modelfit_CModel_ellipse_xx: fracDev-weighted average of exp.ellipse and dev.ellipse modelfit_CModel_ellipse_yy: fracDev-weighted average of exp.ellipse and dev.ellipse modelfit_CModel_ellipse_xy: fracDev-weighted average of exp.ellipse and dev.ellipse modelfit_CModel_region_initial_ellipse_xx: ellipse used to set the pixel region for the initial fit (before applying bad pixel mask) modelfit_CModel_region_initial_ellipse_yy: ellipse used to set the pixel region for the initial fit (before applying bad pixel mask) modelfit_CModel_region_initial_ellipse_xy: ellipse used to set the pixel region for the initial fit (before applying bad pixel mask) modelfit_CModel_region_final_ellipse_xx: ellipse used to set the pixel region for the final fit (before applying bad pixel mask) modelfit_CModel_region_final_ellipse_yy: ellipse used to set the pixel region for the final fit (before applying bad pixel mask) modelfit_CModel_region_final_ellipse_xy: ellipse used to set the pixel region for the final fit (before applying bad pixel mask) modelfit_CModel_flag_noShapeletPsf: the multishapelet fit to the PSF model did not succeed modelfit_CModel_flag_badCentroid: input centroid was not within the fit region (probably because it''s not within the Footprint) detect_isPatchInner: true if source is in the inner region of a coadd patch detect_isTractInner: true if source is in the inner region of a coadd tract detect_isPrimary: true if source has no children and is in the inner region of a coadd patch and is in the inner region of a coadd tract and is not "detected" in a pseudo-filter (see config.pseudoFilterList) calib_psf_candidate: Propagated from visits calib_psf_used: Propagated from visits calib_psf_reserved: Propagated from visits calib_astrometry_used: Propagated from visits calib_photometry_used: Propagated from visits calib_photometry_reserved: Propagated from visits base_GaussianFlux_apCorr: aperture correction applied to base_GaussianFlux base_GaussianFlux_apCorrErr: standard deviation of aperture correction applied to base_GaussianFlux base_GaussianFlux_flag_apCorr: set if unable to aperture correct base_GaussianFlux base_PsfFlux_apCorr: aperture correction applied to base_PsfFlux base_PsfFlux_apCorrErr: standard deviation of aperture correction applied to base_PsfFlux base_PsfFlux_flag_apCorr: set if unable to aperture correct base_PsfFlux ext_convolved_ConvolvedFlux_0_3_3_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_0_3_3 ext_convolved_ConvolvedFlux_0_3_3_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_0_3_3 ext_convolved_ConvolvedFlux_0_3_3_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_0_3_3 ext_convolved_ConvolvedFlux_0_4_5_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_0_4_5 ext_convolved_ConvolvedFlux_0_4_5_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_0_4_5 ext_convolved_ConvolvedFlux_0_4_5_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_0_4_5 ext_convolved_ConvolvedFlux_0_6_0_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_0_6_0 ext_convolved_ConvolvedFlux_0_6_0_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_0_6_0 ext_convolved_ConvolvedFlux_0_6_0_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_0_6_0 ext_convolved_ConvolvedFlux_0_kron_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_0_kron ext_convolved_ConvolvedFlux_0_kron_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_0_kron ext_convolved_ConvolvedFlux_0_kron_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_0_kron ext_convolved_ConvolvedFlux_1_3_3_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_1_3_3 ext_convolved_ConvolvedFlux_1_3_3_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_1_3_3 ext_convolved_ConvolvedFlux_1_3_3_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_1_3_3 ext_convolved_ConvolvedFlux_1_4_5_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_1_4_5 ext_convolved_ConvolvedFlux_1_4_5_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_1_4_5 ext_convolved_ConvolvedFlux_1_4_5_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_1_4_5 ext_convolved_ConvolvedFlux_1_6_0_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_1_6_0 ext_convolved_ConvolvedFlux_1_6_0_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_1_6_0 ext_convolved_ConvolvedFlux_1_6_0_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_1_6_0 ext_convolved_ConvolvedFlux_1_kron_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_1_kron ext_convolved_ConvolvedFlux_1_kron_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_1_kron ext_convolved_ConvolvedFlux_1_kron_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_1_kron ext_convolved_ConvolvedFlux_2_3_3_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_2_3_3 ext_convolved_ConvolvedFlux_2_3_3_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_2_3_3 ext_convolved_ConvolvedFlux_2_3_3_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_2_3_3 ext_convolved_ConvolvedFlux_2_4_5_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_2_4_5 ext_convolved_ConvolvedFlux_2_4_5_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_2_4_5 ext_convolved_ConvolvedFlux_2_4_5_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_2_4_5 ext_convolved_ConvolvedFlux_2_6_0_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_2_6_0 ext_convolved_ConvolvedFlux_2_6_0_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_2_6_0 ext_convolved_ConvolvedFlux_2_6_0_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_2_6_0 ext_convolved_ConvolvedFlux_2_kron_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_2_kron ext_convolved_ConvolvedFlux_2_kron_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_2_kron ext_convolved_ConvolvedFlux_2_kron_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_2_kron ext_convolved_ConvolvedFlux_3_3_3_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_3_3_3 ext_convolved_ConvolvedFlux_3_3_3_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_3_3_3 ext_convolved_ConvolvedFlux_3_3_3_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_3_3_3 ext_convolved_ConvolvedFlux_3_4_5_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_3_4_5 ext_convolved_ConvolvedFlux_3_4_5_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_3_4_5 ext_convolved_ConvolvedFlux_3_4_5_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_3_4_5 ext_convolved_ConvolvedFlux_3_6_0_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_3_6_0 ext_convolved_ConvolvedFlux_3_6_0_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_3_6_0 ext_convolved_ConvolvedFlux_3_6_0_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_3_6_0 ext_convolved_ConvolvedFlux_3_kron_apCorr: aperture correction applied to ext_convolved_ConvolvedFlux_3_kron ext_convolved_ConvolvedFlux_3_kron_apCorrErr: standard deviation of aperture correction applied to ext_convolved_ConvolvedFlux_3_kron ext_convolved_ConvolvedFlux_3_kron_flag_apCorr: set if unable to aperture correct ext_convolved_ConvolvedFlux_3_kron ext_photometryKron_KronFlux_apCorr: aperture correction applied to ext_photometryKron_KronFlux ext_photometryKron_KronFlux_apCorrErr: standard deviation of aperture correction applied to ext_photometryKron_KronFlux ext_photometryKron_KronFlux_flag_apCorr: set if unable to aperture correct ext_photometryKron_KronFlux modelfit_CModel_apCorr: aperture correction applied to modelfit_CModel modelfit_CModel_apCorrErr: standard deviation of aperture correction applied to modelfit_CModel modelfit_CModel_flag_apCorr: set if unable to aperture correct modelfit_CModel modelfit_CModel_dev_apCorr: aperture correction applied to modelfit_CModel_dev modelfit_CModel_dev_apCorrErr: standard deviation of aperture correction applied to modelfit_CModel_dev modelfit_CModel_dev_flag_apCorr: set if unable to aperture correct modelfit_CModel_dev modelfit_CModel_exp_apCorr: aperture correction applied to modelfit_CModel_exp modelfit_CModel_exp_apCorrErr: standard deviation of aperture correction applied to modelfit_CModel_exp modelfit_CModel_exp_flag_apCorr: set if unable to aperture correct modelfit_CModel_exp modelfit_CModel_initial_apCorr: aperture correction applied to modelfit_CModel_initial modelfit_CModel_initial_apCorrErr: standard deviation of aperture correction applied to modelfit_CModel_initial modelfit_CModel_initial_flag_apCorr: set if unable to aperture correct modelfit_CModel_initial base_ClassificationExtendedness_value: Set to 1 for extended sources, 0 for point sources. base_ClassificationExtendedness_flag: Set to 1 for any fatal failure. base_FootprintArea_value: Number of pixels in the source''s detection footprint.
# All the cosmoDC2 parameters:
# help(gc)
gc.list_all_quantities()
['sed_9395_583_bulge', 'sed_7843_486', 'sed_8846_549_disk', 'sed_1246_306_no_host_extinction', 'sed_7843_486_disk', 'halo_mass', 'sed_4565_283_no_host_extinction', 'mag_r_lsst', 'ellipticity_bulge_true', 'sed_4565_283', 'mag_u_sdss', 'sed_6954_431_disk_no_host_extinction', 'sed_15143_2259_bulge_no_host_extinction', 'shear_2_treecorr', 'mag_g_lsst', 'position_y', 'mag_true_u', 'is_central', 'sed_6166_382', 'sed_2407_591_disk', 'sed_4048_251_no_host_extinction', 'sed_3184_197_bulge', 'dec', 'mag_true_z_sdss', 'Mag_true_z_sdss_z0_no_host_extinction', 'mag_true_u_lsst_no_host_extinction', 'sed_3590_222_no_host_extinction', 'sed_11467_1710_no_host_extinction', 'sed_4299_266_bulge', 'mag_z_sdss_no_host_extinction', 'sed_17402_2596_disk_no_host_extinction', 'sed_5806_360', 'sed_8329_517_bulge_no_host_extinction', 'mag_true_g_sdss_no_host_extinction', 'sed_2998_186_no_host_extinction', 'sed_5467_339_no_host_extinction', 'sed_8846_549_bulge', 'sed_6166_382_bulge_no_host_extinction', 'sed_3381_209_bulge_no_host_extinction', 'sed_8329_517', 'A_v', 'sed_1246_306', 'sed_7385_458_bulge', 'sed_13177_1966_disk', 'sed_15143_2259', 'sed_13177_1966_no_host_extinction', 'mag_true_i_sdss', 'sed_1552_381_bulge', 'sed_8329_517_bulge', 'velocity_y', 'sed_15143_2259_disk_no_host_extinction', 'sed_3381_209_bulge', 'sed_17402_2596_disk', 'stellar_mass_disk', 'sed_4048_251', 'mag_true_Y_lsst', 'sed_3812_236', 'sed_6166_382_disk_no_host_extinction', 'sed_4848_300_no_host_extinction', 'sed_9978_1489_no_host_extinction', 'shear_2', 'sed_1552_381_disk', 'ellipticity_true', 'sed_8846_549', 'ellipticity_1_true', 'sed_9395_583_no_host_extinction', 'sed_4565_283_disk_no_host_extinction', 'mag_true_i_sdss_no_host_extinction', 'sed_1000_246_no_host_extinction', 'stellar_mass', 'shear_2_phosim', 'mag_i_lsst_no_host_extinction', 'sed_8846_549_bulge_no_host_extinction', 'sed_1000_246_bulge', 'Mag_true_z_lsst_z0_no_host_extinction', 'sed_8329_517_disk_no_host_extinction', 'Mag_true_z_lsst_z0', 'sed_5806_360_bulge_no_host_extinction', 'sed_3184_197_no_host_extinction', 'Mag_true_g_lsst_z0_no_host_extinction', 'Mag_true_u_lsst_z0', 'mag_i_lsst', 'mag_true_i_lsst_no_host_extinction', 'Mag_true_y_lsst_z0_no_host_extinction', 'sed_2407_591_no_host_extinction', 'mag_r_lsst_no_host_extinction', 'mag_Y_lsst', 'Mag_true_r_lsst_z0', 'sed_5467_339_bulge', 'size_bulge_true', 'mag_true_y_lsst', 'mag_r_sdss_no_host_extinction', 'mag_true_z', 'mag_true_g', 'sed_4565_283_bulge', 'R_v_bulge', 'mag_z', 'sed_3381_209_disk', 'shear_1', 'sed_4048_251_disk', 'mag_Y_lsst_no_host_extinction', 'mag_y', 'mag_true_z_lsst', 'mag_true_u_sdss', 'sed_5467_339_disk_no_host_extinction', 'sed_3812_236_bulge', 'mag_z_sdss', 'mag_true_g_sdss', 'sed_3381_209', 'sed_3812_236_no_host_extinction', 'ellipticity_2_bulge_true', 'mag_true_r', 'sed_1000_246_disk_no_host_extinction', 'sed_6548_406_bulge', 'sed_17402_2596', 'sed_13177_1966_bulge', 'sed_17402_2596_bulge_no_host_extinction', 'sed_13177_1966_disk_no_host_extinction', 'sed_1000_246_bulge_no_host_extinction', 'sed_5148_319_no_host_extinction', 'mag_true_i', 'sed_1933_474_no_host_extinction', 'size_minor_bulge_true', 'position_angle_true', 'sed_1552_381_bulge_no_host_extinction', 'redshift_true', 'sed_3184_197_bulge_no_host_extinction', 'mag_true_r_lsst', 'sed_9978_1489_bulge_no_host_extinction', 'sed_2998_186', 'sed_2407_591', 'sed_7843_486_bulge_no_host_extinction', 'mag_z_lsst_no_host_extinction', 'sed_5467_339_disk', 'sed_5148_319_disk', 'ellipticity_2_disk_true', 'mag_true_z_sdss_no_host_extinction', 'mag_true_z_lsst_no_host_extinction', 'sersic_bulge', 'sed_8846_549_disk_no_host_extinction', 'sed_3812_236_bulge_no_host_extinction', 'size_minor_true', 'mag_g_lsst_no_host_extinction', 'sed_1933_474_disk_no_host_extinction', 'sed_1552_381_disk_no_host_extinction', 'Mag_true_i_sdss_z0_no_host_extinction', 'sed_13177_1966', 'sed_9395_583_bulge_no_host_extinction', 'sed_6548_406_no_host_extinction', 'sed_4299_266_no_host_extinction', 'Mag_true_Y_lsst_z0', 'sed_2407_591_disk_no_host_extinction', 'mag_true_Y_lsst_no_host_extinction', 'ra', 'sed_9978_1489_bulge', 'sed_11467_1710_bulge_no_host_extinction', 'mag_true_u_sdss_no_host_extinction', 'mag_r', 'sed_5148_319_disk_no_host_extinction', 'sed_7843_486_bulge', 'sed_4048_251_bulge', 'sed_3590_222_bulge', 'mag_true_u_lsst', 'mag_g_sdss_no_host_extinction', 'sed_2998_186_bulge', 'sed_7385_458_disk_no_host_extinction', 'sed_1933_474_disk', 'sed_7843_486_disk_no_host_extinction', 'sed_6166_382_bulge', 'size_disk_true', 'sed_9395_583_disk_no_host_extinction', 'mag_true_y', 'sed_3590_222_bulge_no_host_extinction', 'sed_4848_300_bulge', 'Mag_true_r_sdss_z0', 'sed_15143_2259_disk', 'sed_6548_406_bulge_no_host_extinction', 'sed_15143_2259_bulge', 'sed_4565_283_bulge_no_host_extinction', 'mag_y_lsst_no_host_extinction', 'sed_3590_222', 'position_z', 'sed_11467_1710_disk_no_host_extinction', 'sed_2998_186_disk_no_host_extinction', 'mag_u_lsst_no_host_extinction', 'sed_4048_251_bulge_no_host_extinction', 'size_minor_disk_true', 'ellipticity_1_disk_true', 'Mag_true_y_lsst_z0', 'dec_true', 'sed_7385_458_bulge_no_host_extinction', 'sed_4048_251_disk_no_host_extinction', 'sed_8329_517_no_host_extinction', 'sed_6954_431_bulge', 'Mag_true_z_sdss_z0', 'sed_3184_197_disk_no_host_extinction', 'sed_17402_2596_bulge', 'sed_6954_431', 'sed_5467_339_bulge_no_host_extinction', 'sed_5806_360_disk', 'redshift', 'sed_1246_306_disk', 'Mag_true_u_lsst_z0_no_host_extinction', 'sed_6954_431_bulge_no_host_extinction', 'sed_5806_360_disk_no_host_extinction', 'sed_1246_306_bulge_no_host_extinction', 'sed_6954_431_no_host_extinction', 'sed_1246_306_disk_no_host_extinction', 'sed_8329_517_disk', 'sed_6166_382_disk', 'velocity_x', 'sed_4565_283_disk', 'sed_6548_406_disk_no_host_extinction', 'sed_4299_266_disk_no_host_extinction', 'sed_1552_381', 'sed_2407_591_bulge_no_host_extinction', 'mag_z_lsst', 'mag_true_g_lsst_no_host_extinction', 'Mag_true_i_sdss_z0', 'sed_3812_236_disk_no_host_extinction', 'sersic_disk', 'Mag_true_r_lsst_z0_no_host_extinction', 'sed_6954_431_disk', 'mag_g', 'halo_id', 'mag_u', 'mag_true_y_lsst_no_host_extinction', 'sed_11467_1710', 'sed_4299_266_bulge_no_host_extinction', 'sed_1552_381_no_host_extinction', 'mag_g_sdss', 'sed_4299_266', 'sed_5806_360_no_host_extinction', 'mag_true_r_sdss', 'sed_9395_583_disk', 'R_v', 'Mag_true_g_sdss_z0_no_host_extinction', 'Mag_true_r_sdss_z0_no_host_extinction', 'ellipticity_1_bulge_true', 'Mag_true_i_lsst_z0', 'sed_15143_2259_no_host_extinction', 'sed_9395_583', 'A_v_disk', 'sed_4848_300_bulge_no_host_extinction', 'sed_8846_549_no_host_extinction', 'sed_4848_300_disk_no_host_extinction', 'Mag_true_g_lsst_z0', 'mag_i', 'mag_true_g_lsst', 'ellipticity_2_true', 'sed_5806_360_bulge', 'sed_2998_186_disk', 'sed_11467_1710_disk', 'sed_1933_474_bulge_no_host_extinction', 'Mag_true_i_lsst_z0_no_host_extinction', 'magnification', 'sed_6166_382_no_host_extinction', 'mag_true_r_sdss_no_host_extinction', 'mag_true_r_lsst_no_host_extinction', 'sed_1000_246_disk', 'mag_r_sdss', 'sed_2407_591_bulge', 'sed_3381_209_no_host_extinction', 'galaxy_id', 'mag_i_sdss', 'sed_5148_319', 'sed_9978_1489_disk', 'sed_13177_1966_bulge_no_host_extinction', 'sed_4848_300_disk', 'sed_6548_406_disk', 'mag_u_lsst', 'R_v_disk', 'velocity_z', 'sed_6548_406', 'sed_7385_458_disk', 'sed_9978_1489_disk_no_host_extinction', 'Mag_true_g_sdss_z0', 'bulge_to_total_ratio_i', 'Mag_true_Y_lsst_z0_no_host_extinction', 'ellipticity_disk_true', 'sed_1933_474_bulge', 'sed_3812_236_disk', 'Mag_true_u_sdss_z0', 'sed_7385_458', 'convergence', 'sed_1000_246', 'sed_4848_300', 'size_true', 'sed_7843_486_no_host_extinction', 'sed_9978_1489', 'sed_3590_222_disk', 'A_v_bulge', 'sed_3184_197_disk', 'sed_5467_339', 'mag_y_lsst', 'ra_true', 'sed_5148_319_bulge', 'sed_3381_209_disk_no_host_extinction', 'sed_11467_1710_bulge', 'sed_2998_186_bulge_no_host_extinction', 'position_x', 'sed_17402_2596_no_host_extinction', 'mag_u_sdss_no_host_extinction', 'sed_4299_266_disk', 'sed_7385_458_no_host_extinction', 'mag_i_sdss_no_host_extinction', 'stellar_mass_bulge', 'Mag_true_u_sdss_z0_no_host_extinction', 'sed_5148_319_bulge_no_host_extinction', 'sed_1246_306_bulge', 'mag_true_i_lsst', 'sed_3184_197', 'sed_1933_474', 'sed_3590_222_disk_no_host_extinction']