ComputeExposureSummaryStatsTask¶
- class lsst.pipe.tasks.computeExposureSummaryStats.ComputeExposureSummaryStatsTask(**kwargs)¶
Bases:
TaskTask to compute exposure summary statistics.
This task computes various quantities suitable for DPDD and other downstream processing at the detector centers, including: - expTime - psfSigma - psfArea - psfIxx - psfIyy - psfIxy - ra - dec - pixelScale (arcsec/pixel) - zenithDistance - zeroPoint - skyBg - skyNoise - meanVar - raCorners - decCorners - astromOffsetMean - astromOffsetStd
These additional quantities are computed from the stars in the detector: - psfStarDeltaE1Median - psfStarDeltaE2Median - psfStarDeltaE1Scatter - psfStarDeltaE2Scatter - psfStarDeltaSizeMedian - psfStarDeltaSizeScatter - psfStarScaledDeltaSizeScatter
These quantities are computed based on the PSF model and image mask to assess the robustness of the PSF model across a given detector (against, e.g., extrapolation instability): - maxDistToNearestPsf - psfTraceRadiusDelta - psfApFluxDelta
This quantity is computed based on the aperture correction map, the psfSigma, and the image mask to assess the robustness of the aperture corrections across a given detector: - psfApCorrSigmaScaledDelta
These quantities are computed to assess depth: - effTime - effTimePsfSigmaScale - effTimeSkyBgScale - effTimeZeroPointScale - magLim
Methods Summary
Empty (clear) the metadata for this Task and all sub-Tasks.
Get metadata for all tasks.
Get the task name as a hierarchical name including parent task names.
getName()Get the name of the task.
Get a dictionary of all tasks as a shallow copy.
makeField(doc)Make a
lsst.pex.config.ConfigurableFieldfor this task.makeSubtask(name, **keyArgs)Create a subtask as a new instance as the
nameattribute of this task.run(exposure, sources, background)Measure exposure statistics from the exposure, sources, and background.
timer(name[, logLevel])Context manager to log performance data for an arbitrary block of code.
update_background_stats(summary, background)Compute summary-statistic fields that depend only on the background model.
update_effective_time_stats(summary, exposure)Compute effective exposure time statistics to estimate depth.
update_magnitude_limit_stats(summary, exposure)Compute a summary statistic for the point-source magnitude limit at a given signal-to-noise ratio using exposure-level metadata.
update_masked_image_stats(summary, masked_image)Compute summary-statistic fields that depend on the masked image itself.
update_photo_calib_stats(summary, photo_calib)Compute all summary-statistic fields that depend on the photometric calibration model.
update_psf_stats(summary, psf, bbox[, ...])Compute all summary-statistic fields that depend on the PSF model.
update_wcs_stats(summary, wcs, bbox, visitInfo)Compute all summary-statistic fields that depend on the WCS model.
Methods Documentation
- getFullMetadata() TaskMetadata¶
Get metadata for all tasks.
- Returns:
- metadata
TaskMetadata The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc.
- metadata
Notes
The returned metadata includes timing information (if
@timer.timeMethodis used) and any metadata set by the task. The name of each item consists of the full task name with.replaced by:, followed by.and the name of the item, e.g.:topLevelTaskName:subtaskName:subsubtaskName.itemName
using
:in the full task name disambiguates the rare situation that a task has a subtask and a metadata item with the same name.
- getFullName() str¶
Get the task name as a hierarchical name including parent task names.
- Returns:
- fullName
str The full name consists of the name of the parent task and each subtask separated by periods. For example:
The full name of top-level task “top” is simply “top”.
The full name of subtask “sub” of top-level task “top” is “top.sub”.
The full name of subtask “sub2” of subtask “sub” of top-level task “top” is “top.sub.sub2”.
- fullName
- getName() str¶
Get the name of the task.
- Returns:
- taskName
str Name of the task.
- taskName
See also
getFullNameGet the full name of the task.
- getTaskDict() dict[str, weakref.ReferenceType[lsst.pipe.base.task.Task]]¶
Get a dictionary of all tasks as a shallow copy.
- Returns:
- taskDict
dict Dictionary containing full task name: task object for the top-level task and all subtasks, sub-subtasks, etc.
- taskDict
- classmethod makeField(doc: str) ConfigurableField¶
Make a
lsst.pex.config.ConfigurableFieldfor this task.- Parameters:
- doc
str Help text for the field.
- doc
- Returns:
- configurableField
lsst.pex.config.ConfigurableField A
ConfigurableFieldfor this task.
- configurableField
Examples
Provides a convenient way to specify this task is a subtask of another task.
Here is an example of use:
class OtherTaskConfig(lsst.pex.config.Config): aSubtask = ATaskClass.makeField("brief description of task")
- makeSubtask(name: str, **keyArgs: Any) None¶
Create a subtask as a new instance as the
nameattribute of this task.- Parameters:
- name
str Brief name of the subtask.
- **keyArgs
Extra keyword arguments used to construct the task. The following arguments are automatically provided and cannot be overridden:
config.parentTask.
- name
Notes
The subtask must be defined by
Task.config.name, an instance ofConfigurableFieldorRegistryField.
- run(exposure, sources, background)¶
Measure exposure statistics from the exposure, sources, and background.
- Parameters:
- exposure
lsst.afw.image.ExposureF - sources
lsst.afw.table.SourceCatalog - background
lsst.afw.math.BackgroundList
- exposure
- Returns:
- summary
lsst.afw.image.ExposureSummary
- summary
- timer(name: str, logLevel: int = 10) Iterator[None]¶
Context manager to log performance data for an arbitrary block of code.
- Parameters:
See also
lsst.utils.timer.logInfoImplementation function.
Examples
Creating a timer context:
with self.timer("someCodeToTime"): pass # code to time
- update_background_stats(summary, background)¶
Compute summary-statistic fields that depend only on the background model.
- Parameters:
- summary
lsst.afw.image.ExposureSummaryStats Summary object to update in-place.
- background
lsst.afw.math.BackgroundListorNone Background model. If
None, all fields that depend on the background will be reset (generally to NaN).
- summary
Notes
This does not include fields that depend on the background-subtracted masked image; when the background changes, it should generally be applied to the image and
update_masked_image_statsshould be called as well.
- update_effective_time_stats(summary, exposure)¶
Compute effective exposure time statistics to estimate depth.
The effective exposure time is the equivalent shutter open time that would be needed under nominal conditions to give the same signal-to-noise for a point source as what is achieved by the observation of interest. This metric combines measurements of the point-spread function, the sky brightness, and the transparency. It assumes that the observation is sky-background dominated.
The effective exposure time and its subcomponents are defined in [1].
- Parameters:
- summary
lsst.afw.image.ExposureSummaryStats Summary object to update in-place.
- exposure
lsst.afw.image.ExposureF Exposure to grab band and exposure time metadata
- summary
References
[1]Neilsen, E.H., Bernstein, G., Gruendl, R., and Kent, S. (2016). Limiting Magnitude, au, teff, and Image Quality in DES Year 1 https://www.osti.gov/biblio/1250877/
- update_magnitude_limit_stats(summary, exposure)¶
Compute a summary statistic for the point-source magnitude limit at a given signal-to-noise ratio using exposure-level metadata.
The magnitude limit is calculated at a given SNR from the PSF, sky, zeropoint, and readnoise in accordance with SMTN-002 [1], LSE-40 [2], and DMTN-296 [3].
- Parameters:
- summary
lsst.afw.image.ExposureSummaryStats Summary object to update in-place.
- exposure
lsst.afw.image.ExposureF Exposure to grab band and exposure time metadata
- summary
References
- update_masked_image_stats(summary, masked_image)¶
Compute summary-statistic fields that depend on the masked image itself.
- update_photo_calib_stats(summary, photo_calib)¶
Compute all summary-statistic fields that depend on the photometric calibration model.
- update_psf_stats(summary, psf, bbox, sources=None, image_mask=None, image_ap_corr_map=None, sources_is_astropy=False)¶
Compute all summary-statistic fields that depend on the PSF model.
- Parameters:
- summary
lsst.afw.image.ExposureSummaryStats Summary object to update in-place.
- psf
lsst.afw.detection.PsforNone Point spread function model. If
None, all fields that depend on the PSF will be reset (generally to NaN).- bbox
lsst.geom.Box2I Bounding box of the image for which summary stats are being computed.
- sources
lsst.afw.table.SourceCatalogorastropy.table.Table Catalog for quantities that are computed from source table columns. If
None, these quantities will be reset (generally to NaN). The type of this table must correspond to thesources_is_astropyargument.- image_mask
lsst.afw.image.Mask, optional Mask image that may be used to compute distance-to-nearest-star metrics.
- sources_is_astropy
bool, optional Whether
sourcesis anastropy.table.Tableinstance instead of anlsst.afw.table.Cataloginstance. Default isFalse(the latter).
- summary
- update_wcs_stats(summary, wcs, bbox, visitInfo)¶
Compute all summary-statistic fields that depend on the WCS model.
- Parameters:
- summary
lsst.afw.image.ExposureSummaryStats Summary object to update in-place.
- wcs
lsst.afw.geom.SkyWcsorNone Astrometric calibration model. If
None, all fields that depend on the WCS will be reset (generally to NaN).- bbox
lsst.geom.Box2I Bounding box of the image for which summary stats are being computed.
- visitInfo
lsst.afw.image.VisitInfo Observation information used in together with
wcsto compute the zenith distance.
- summary