lsst.pipe.tasks g052a8ce425+7d6b061c8a
|
Public Member Functions | |
def | __init__ (self, refObjLoader, schema=None, **kwds) |
Create the photometric calibration task. More... | |
def | getSourceKeys (self, schema) |
def | extractMagArrays (self, matches, filterLabel, sourceKeys) |
Extract magnitude and magnitude error arrays from the given matches. More... | |
def | run (self, exposure, sourceCat, expId=0) |
Do photometric calibration - select matches to use and (possibly iteratively) compute the zero point. More... | |
def | displaySources (self, exposure, matches, reserved, frame=1) |
def | getZeroPoint (self, src, ref, srcErr=None, zp0=None) |
Flux calibration code, returning (ZeroPoint, Distribution Width, Number of stars) More... | |
Public Attributes | |
scatterPlot | |
fig | |
usedKey | |
match | |
Static Public Attributes | |
ConfigClass = PhotoCalConfig | |
Calculate the zero point of an exposure given a lsst.afw.table.ReferenceMatchVector.
Calculate an Exposure's zero-point given a set of flux measurements of stars matched to an input catalogue. The type of flux to use is specified by PhotoCalConfig.fluxField.
The algorithm clips outliers iteratively, with parameters set in the configuration.
Do photometric calibration - select matches to use and (possibly iteratively) compute the zero point.
[in] | exposure | Exposure upon which the sources in the matches were detected. |
[in] | sourceCat | A catalog of sources to use in the calibration (i.e. a list of lsst.afw.table.Match with first being of type lsst.afw.table.SimpleRecord and second type lsst.afw.table.SourceRecord — the reference object and matched object respectively). (will not be modified except to set the outputField if requested.). |
[in] | expId | Exposure identifier; used for seeding the random number generator. |
The exposure is only used to provide the name of the filter being calibrated (it may also be used to generate debugging plots).
The reference objects:
photometric
; True for objects which should be considered as photometric standardsflux
; the flux used to impose a magnitude limit and also to calibrate the data to (unless a color term is specified, in which case ColorTerm.primary is used; See https://jira.lsstcorp.org/browse/DM-933)stargal
; if present, True means that the object is a starvar
; if present, True means that the object is variableThe measured sources:
RuntimeError | with the following strings: |
See PhotoCalConfig
The command line task interface supports a flag -d
to import debug.py from your PYTHONPATH
; see the lsstDebug documentation for more about debug.py files.
The available variables in PhotoCalTask are:
display
displaySources
scatterPlot
scatterPlot
is 2 or more, prompt to continue after each iteration) This code is in examples/photoCalTask.py
, and can be run as e.g.
Import the tasks (there are some other standard imports; read the file for details)
We need to create both our tasks before processing any data as the task constructors can add extra columns to the schema which we get from the input catalogue, scrCat:
Astrometry first:
(that filterMap
line is because our test code doesn't use a filter that the reference catalogue recognises, so we tell it to use the r
band)
Then photometry:
If the schema has indeed changed we need to add the new columns to the source table (yes; this should be easier!)
We're now ready to process the data (we could loop over multiple exposures/catalogues using the same task objects):
We can then unpack and use the results:
To investigate the Debug variables, put something like
into your debug.py file and run photoCalTask.py with the --debug
flag.
Definition at line 127 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.__init__ | ( | self, | |
refObjLoader, | |||
schema = None , |
|||
** | kwds | ||
) |
Create the photometric calibration task.
See PhotoCalTask.init for documentation
Definition at line 250 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.displaySources | ( | self, | |
exposure, | |||
matches, | |||
reserved, | |||
frame = 1 |
|||
) |
Display sources we'll use for photocal Sources that will be actually used will be green. Sources reserved from the fit will be red. Parameters ---------- exposure : `lsst.afw.image.ExposureF` Exposure to display. matches : `list` of `lsst.afw.table.RefMatch` Matches used for photocal. reserved : `numpy.ndarray` of type `bool` Boolean array indicating sources that are reserved. frame : `int` Frame number for display.
Definition at line 490 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.extractMagArrays | ( | self, | |
matches, | |||
filterLabel, | |||
sourceKeys | |||
) |
Extract magnitude and magnitude error arrays from the given matches.
@param[in] matches Reference/source matches, a @link lsst::afw::table::ReferenceMatchVector @endlink @param[in] filterLabel Label of filter being calibrated @param[in] sourceKeys Struct of source catalog keys, as returned by getSourceKeys() @return Struct containing srcMag, refMag, srcMagErr, refMagErr, and magErr numpy arrays where magErr is an error in the magnitude; the error in srcMag - refMag If nonzero, config.magErrFloor will be added to magErr *only* (not srcMagErr or refMagErr), as magErr is what is later used to determine the zero point. Struct also contains refFluxFieldList: a list of field names of the reference catalog used for fluxes (1 or 2 strings) @note These magnitude arrays are the @em inputs to the photometric calibration, some may have been discarded by clipping while estimating the calibration (https://jira.lsstcorp.org/browse/DM-813)
Definition at line 289 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.getSourceKeys | ( | self, | |
schema | |||
) |
Return a struct containing the source catalog keys for fields used by PhotoCalTask. Parameters ---------- schema : `lsst.afw.table.schema` Schema of the catalog to get keys from. Returns ------- result : `lsst.pipe.base.Struct` Result struct with components: - ``instFlux``: Instrument flux key. - ``instFluxErr``: Instrument flux error key.
Definition at line 266 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.getZeroPoint | ( | self, | |
src, | |||
ref, | |||
srcErr = None , |
|||
zp0 = None |
|||
) |
Flux calibration code, returning (ZeroPoint, Distribution Width, Number of stars)
We perform nIter iterations of a simple sigma-clipping algorithm with a couple of twists: 1. We use the median/interquartile range to estimate the position to clip around, and the "sigma" to use. 2. We never allow sigma to go _above_ a critical value sigmaMax --- if we do, a sufficiently large estimate will prevent the clipping from ever taking effect. 3. Rather than start with the median we start with a crude mode. This means that a set of magnitude residuals with a tight core and asymmetrical outliers will start in the core. We use the width of this core to set our maximum sigma (see 2.) @return Struct of: - zp ---------- Photometric zero point (mag) - sigma ------- Standard deviation of fit of zero point (mag) - ngood ------- Number of sources used to fit zero point
Definition at line 515 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.run | ( | self, | |
exposure, | |||
sourceCat, | |||
expId = 0 |
|||
) |
Do photometric calibration - select matches to use and (possibly iteratively) compute the zero point.
[in] | exposure | Exposure upon which the sources in the matches were detected. |
[in] | sourceCat | A catalog of sources to use in the calibration (i.e. a list of lsst.afw.table.Match with first being of type lsst.afw.table.SimpleRecord and second type lsst.afw.table.SourceRecord — the reference object and matched object respectively). (will not be modified except to set the outputField if requested.). |
[in] | expId | Exposure identifier; used for seeding the random number generator. |
The exposure is only used to provide the name of the filter being calibrated (it may also be used to generate debugging plots).
The reference objects:
photometric
; True for objects which should be considered as photometric standardsflux
; the flux used to impose a magnitude limit and also to calibrate the data to (unless a color term is specified, in which case ColorTerm.primary is used; See https://jira.lsstcorp.org/browse/DM-933)stargal
; if present, True means that the object is a starvar
; if present, True means that the object is variableThe measured sources:
RuntimeError | with the following strings: |
Definition at line 394 of file photoCal.py.
|
static |
Definition at line 247 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.fig |
Definition at line 255 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.match |
Definition at line 261 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.scatterPlot |
Definition at line 254 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.usedKey |
Definition at line 257 of file photoCal.py.