lsst.pipe.tasks
13.0-66-gfbf2f2ce+5
|
Calculate the zero point of an exposure given a lsst.afw.table.ReferenceMatchVector. More...
Public Member Functions | |
def | __init__ (self, refObjLoader, schema=None, kwds) |
Create the photometric calibration task. More... | |
def | getSourceKeys (self, schema) |
Return a struct containing the source catalog keys for fields used by PhotoCalTask. More... | |
def | isUnresolved (self, source, starGalKey=None) |
Return whether the provided source is unresolved or not. More... | |
def | selectMatches (self, matches, sourceKeys, filterName, frame=None) |
Select reference/source matches according the criteria specified in the config. More... | |
def | extractMagArrays (self, matches, filterName, 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 | getZeroPoint (self, src, ref, srcErr=None, zp0=None) |
Flux calibration code, returning (ZeroPoint, Distribution Width, Number of stars) More... | |
Public Attributes | |
scatterPlot | |
fig | |
usedKey | |
candidateKey | |
reservedKey | |
Static Public Attributes | |
ConfigClass = PhotoCalConfig | |
Calculate the zero point of an exposure given a lsst.afw.table.ReferenceMatchVector.
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.
Create the photometric calibration task. See PhotoCalTask.init for documentation
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.). |
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: |
badFlags
in the config eliminated all candidate objects NaN
flux See PhotoCalConfig
The command line task interface supports a flag -d
to import debug.py from your PYTHONPATH
; see baseDebug 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:
(thatfilterMap
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 168 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 296 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.extractMagArrays | ( | self, | |
matches, | |||
filterName, | |||
sourceKeys | |||
) |
Extract magnitude and magnitude error arrays from the given matches.
[in] | matches | Reference/source matches, a lsst::afw::table::ReferenceMatchVector |
[in] | filterName | Name of filter being calibrated |
[in] | sourceKeys | Struct of source catalog keys, as returned by getSourceKeys() |
Definition at line 481 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.
Returned fields include:
Definition at line 314 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:
Definition at line 731 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.isUnresolved | ( | self, | |
source, | |||
starGalKey = None |
|||
) |
Return whether the provided source is unresolved or not.
This particular implementation is designed to work with the base_ClassificationExtendedness_value=0.0 or 1.0 scheme. Because of the diversity of star/galaxy classification outputs (binary decision vs probabilities; signs), it's difficult to make this configurable without using code. This method should therefore be overridden to use the appropriate classification output.
[in] | source | Source to test |
[in] | starGalKey | Struct of schema keys for source |
Definition at line 335 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.). |
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: |
badFlags
in the config eliminated all candidate objects NaN
flux Definition at line 596 of file photoCal.py.
def lsst.pipe.tasks.photoCal.PhotoCalTask.selectMatches | ( | self, | |
matches, | |||
sourceKeys, | |||
filterName, | |||
frame = None |
|||
) |
Select reference/source matches according the criteria specified in the config.
[in] | matches | ReferenceMatchVector (not modified) |
[in] | sourceKeys | Struct of source catalog keys, as returned by getSourceKeys() |
[in] | filterName | name of camera filter; used to obtain the reference flux field |
[in] | frame | ds9 frame number to use for debugging display if frame is non-None, display information about trimmed objects on that ds9 frame:
|
ValueError | There are no valid matches. |
Definition at line 352 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.candidateKey |
Definition at line 305 of file photoCal.py.
|
static |
Definition at line 293 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.fig |
Definition at line 301 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.reservedKey |
Definition at line 307 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.scatterPlot |
Definition at line 300 of file photoCal.py.
lsst.pipe.tasks.photoCal.PhotoCalTask.usedKey |
Definition at line 303 of file photoCal.py.