Colorterm¶
- 
class lsst.pipe.tasks.colorterms.Colorterm¶
- Bases: - lsst.pex.config.Config- Colorterm correction for one pair of filters - Notes - The transformed magnitude p’ is given by: p’ = primary + c0 + c1*(primary - secondary) + c2*(primary - secondary)**2 - To construct a Colorterm, use keyword arguments: Colorterm(primary=primaryFilterName, secondary=secondaryFilterName, c0=c0value, c1=c1Coeff, c2=c2Coeff) where c0-c2 are optional. For example (omitting c2): Colorterm(primary=”g”, secondary=”r”, c0=-0.00816446, c1=-0.08366937) - This is subclass of Config. That is a bit of a hack to make it easy to store the data in an appropriate obs_* package as a config override file. In the long term some other means of persistence will be used, at which point the constructor can be simplified to not require keyword arguments. (Fixing DM-2831 will also allow making a custom constructor). - Attributes Summary - c0- Constant parameter ( - float, default- 0.0)- c1- First-order parameter ( - float, default- 0.0)- c2- Second-order parameter ( - float, default- 0.0)- history- primary- name of primary filter ( - str)- secondary- name of secondary filter ( - str)- Methods Summary - compare(other[, shortcut, rtol, atol, output])- Compare this configuration to another - Configfor equality.- formatHistory(name, **kwargs)- Format a configuration field’s history to a human-readable format. - freeze()- Make this config, and all subconfigs, read-only. - getCorrectedMagnitudes(refCat[, filterName])- Return the colorterm corrected magnitudes for a given filter. - items()- Get configurations as - (field name, field value)pairs.- keys()- Get field names. - load(filename[, root])- Modify this config in place by executing the Python code in a configuration file. - loadFromStream(stream[, root, filename])- Modify this Config in place by executing the Python code in the provided stream. - loadFromString(code[, root, filename])- Modify this Config in place by executing the Python code in the provided string. - names()- Get all the field names in the config, recursively. - propagateFluxErrors(primaryFluxErr, …)- save(filename[, root])- Save a Python script to the named file, which, when loaded, reproduces this config. - saveToStream(outfile[, root, skipImports])- Save a configuration file to a stream, which, when loaded, reproduces this config. - saveToString([skipImports])- Return the Python script form of this configuration as an executable string. - setDefaults()- Subclass hook for computing defaults. - toDict()- Make a dictionary of field names and their values. - transformMags(primary, secondary)- Transform brightness - transformSource(source)- Transform the brightness of a source - update(**kw)- Update values of fields specified by the keyword arguments. - validate()- Validate the Config, raising an exception if invalid. - values()- Get field values. - Attributes Documentation - 
history¶
 - Methods Documentation - 
compare(other, shortcut=True, rtol=1e-08, atol=1e-08, output=None)¶
- Compare this configuration to another - Configfor equality.- Parameters: - other : lsst.pex.config.Config
- Other - Configobject to compare against this config.
- shortcut : bool, optional
- If - True, return as soon as an inequality is found. Default is- True.
- rtol : float, optional
- Relative tolerance for floating point comparisons. 
- atol : float, optional
- Absolute tolerance for floating point comparisons. 
- output : callable, optional
- A callable that takes a string, used (possibly repeatedly) to report inequalities. 
 - Returns: - isEqual : bool
- Truewhen the two- lsst.pex.config.Configinstances are equal.- Falseif there is an inequality.
 - See also - Notes - Unselected targets of - RegistryFieldfields and unselected choices of- ConfigChoiceFieldfields are not considered by this method.- Floating point comparisons are performed by - numpy.allclose.
- other : 
 - 
formatHistory(name, **kwargs)¶
- Format a configuration field’s history to a human-readable format. - Parameters: - name : str
- Name of a - Fieldin this config.
- kwargs
- Keyword arguments passed to - lsst.pex.config.history.format.
 - Returns: - history : str
- A string containing the formatted history. 
 - See also 
- name : 
 - 
freeze()¶
- Make this config, and all subconfigs, read-only. 
 - 
getCorrectedMagnitudes(refCat, filterName='deprecatedArgument')¶
- Return the colorterm corrected magnitudes for a given filter. - Parameters: - refCat : lsst.afw.table.SimpleCatalog
- The reference catalog to apply color corrections to. 
- filterName : str, deprecated
- The camera filter to correct the reference catalog into. The - filterNameargument is unused and will be removed in v23.
 - Returns: - refMag : np.ndarray
- The corrected AB magnitudes. 
- refMagErr : np.ndarray
- The corrected AB magnitude errors. 
 - Raises: - KeyError
- Raised if the reference catalog does not have a flux uncertainty for that filter. 
 - Notes - WARNING: I do not know that we can trust the propagation of magnitude errors returned by this method. They need more thorough tests. 
- refCat : 
 - 
items()¶
- Get configurations as - (field name, field value)pairs.- Returns: - items : dict_items
- Iterator of tuples for each configuration. Tuple items are: - Field name.
- Field value.
 
 
- items : 
 - 
keys()¶
- Get field names. - Returns: - names : dict_keys
- List of - lsst.pex.config.Fieldnames.
 - See also - lsst.pex.config.Config.iterkeys
 
- names : 
 - 
load(filename, root='config')¶
- Modify this config in place by executing the Python code in a configuration file. - Parameters: - filename : str
- Name of the configuration file. A configuration file is Python module. 
- root : str, optional
- Name of the variable in file that refers to the config being overridden. - For example, the value of root is - "config"and the file contains:- config.myField = 5 - Then this config’s field - myFieldis set to- 5.
 
- filename : 
 - 
loadFromStream(stream, root='config', filename=None)¶
- Modify this Config in place by executing the Python code in the provided stream. - Parameters: - stream : file-like object, str,bytes, or compiled string
- Stream containing configuration override code. If this is a code object, it should be compiled with - mode="exec".
- root : str, optional
- Name of the variable in file that refers to the config being overridden. - For example, the value of root is - "config"and the file contains:- config.myField = 5 - Then this config’s field - myFieldis set to- 5.
- filename : str, optional
- Name of the configuration file, or - Noneif unknown or contained in the stream. Used for error reporting.
 - See also - Notes - For backwards compatibility reasons, this method accepts strings, bytes and code objects as well as file-like objects. New code should use - loadFromStringinstead for most of these types.
- stream : file-like object, 
 - 
loadFromString(code, root='config', filename=None)¶
- Modify this Config in place by executing the Python code in the provided string. - Parameters: - code : str,bytes, or compiled string
- Stream containing configuration override code. 
- root : str, optional
- Name of the variable in file that refers to the config being overridden. - For example, the value of root is - "config"and the file contains:- config.myField = 5 - Then this config’s field - myFieldis set to- 5.
- filename : str, optional
- Name of the configuration file, or - Noneif unknown or contained in the stream. Used for error reporting.
 
- code : 
 - 
names()¶
- Get all the field names in the config, recursively. - Returns: 
 - 
propagateFluxErrors(primaryFluxErr, secondaryFluxErr)¶
 - 
save(filename, root='config')¶
- Save a Python script to the named file, which, when loaded, reproduces this config. - Parameters: - filename : str
- Desination filename of this configuration. 
- root : str, optional
- Name to use for the root config variable. The same value must be used when loading (see - lsst.pex.config.Config.load).
 
- filename : 
 - 
saveToStream(outfile, root='config', skipImports=False)¶
- Save a configuration file to a stream, which, when loaded, reproduces this config. - Parameters: - outfile : file-like object
- Destination file object write the config into. Accepts strings not bytes. 
- root
- Name to use for the root config variable. The same value must be used when loading (see - lsst.pex.config.Config.load).
- skipImports : bool, optional
- If - Truethen do not include- importstatements in output, this is to support human-oriented output from- pipetaskwhere additional clutter is not useful.
 
 - 
saveToString(skipImports=False)¶
- Return the Python script form of this configuration as an executable string. - Parameters: - Returns: - code : str
- A code string readable by - loadFromString.
 
- code : 
 - 
setDefaults()¶
- Subclass hook for computing defaults. - Notes - Derived - Configclasses that must compute defaults rather than using the- Fieldinstances’s defaults should do so here. To correctly use inherited defaults, implementations of- setDefaultsmust call their base class’s- setDefaults.
 - 
toDict()¶
- Make a dictionary of field names and their values. - Returns: - See also - Notes - This method uses the - toDictmethod of individual fields. Subclasses of- Fieldmay need to implement a- toDictmethod for this method to work.
 - 
transformMags(primary, secondary)¶
- Transform brightness - Parameters: - Returns: - transformed : float
- The transformed brightness (as a magnitude). 
 
- transformed : 
 - 
transformSource(source)¶
- Transform the brightness of a source - Parameters: - source : Unknown
- Source whose brightness is to be converted; must support get(filterName) (e.g. source.get(“r”)) method, as do afw::table::Source and dicts. 
 - Returns: - transformed : float
- The transformed source magnitude. 
 
- source : 
 - 
update(**kw)¶
- Update values of fields specified by the keyword arguments. - Parameters: - kw
- Keywords are configuration field names. Values are configuration field values. 
 - Notes - The - __atand- __labelkeyword arguments are special internal keywords. They are used to strip out any internal steps from the history tracebacks of the config. Do not modify these keywords to subvert a- Configinstance’s history.- Examples - This is a config with three fields: - >>> from lsst.pex.config import Config, Field >>> class DemoConfig(Config): ... fieldA = Field(doc='Field A', dtype=int, default=42) ... fieldB = Field(doc='Field B', dtype=bool, default=True) ... fieldC = Field(doc='Field C', dtype=str, default='Hello world') ... >>> config = DemoConfig() - These are the default values of each field: - >>> for name, value in config.iteritems(): ... print(f"{name}: {value}") ... fieldA: 42 fieldB: True fieldC: 'Hello world' - Using this method to update - fieldAand- fieldC:- >>> config.update(fieldA=13, fieldC='Updated!') - Now the values of each field are: - >>> for name, value in config.iteritems(): ... print(f"{name}: {value}") ... fieldA: 13 fieldB: True fieldC: 'Updated!' 
 - 
validate()¶
- Validate the Config, raising an exception if invalid. - Raises: - lsst.pex.config.FieldValidationError
- Raised if verification fails. 
 - Notes - The base class implementation performs type checks on all fields by calling their - validatemethods.- Complex single-field validation can be defined by deriving new Field types. For convenience, some derived - lsst.pex.config.Field-types (- ConfigFieldand- ConfigChoiceField) are defined in- lsst.pex.configthat handle recursing into subconfigs.- Inter-field relationships should only be checked in derived - Configclasses after calling this method, and base validation is complete.
 - 
values()¶
- Get field values. - Returns: - values : dict_values
- Iterator of field values. 
 
- values : 
 
-