LinearityDoubleSplineSolveConfig

class lsst.cp.pipe.LinearityDoubleSplineSolveConfig(*args, **kw)

Bases: PipelineTaskConfig

Attributes Summary

absoluteNSigmaClipLinear

Sigma-clipping for absolute spline solution.

absoluteSplineFitMaxIter

Maximum number of iterations for absolute spline fit.

absoluteSplineFitMaxRejectionPerIteration

Maximum number of rejections per iteration for absolute spline fit.

absoluteSplineFitMinIter

Minimum number of iterations for absolute spline fit.

absoluteSplineFitTemperatureColumn

Name of the temperature column to use when fitting temperature coefficients in spline fit; this must not be None if doSplineFitTemperature is True.

absoluteSplineFitWeightParsStart

Starting parameters for weight fit, if doSplineFitWeights=True.

absoluteSplineLowNodeSize

Minimum size for low-level linearity nodes for absolute spline (adu).

absoluteSplineLowThreshold

Threshold for the low-level linearity nodes for absolute spline (adu).

absoluteSplineMinimumSignalNode

Smallest node (above 0) for absolute spline (adu).

absoluteSplineNodeSize

Minimum size for linearity nodes for absolute spline above absoluteSplineLowThreshold e(adu); note that there will always be a node at the reference PTC turnoff.

autoGroupingMaxSignalFraction

Only do auto-grouping when the signal is this fraction of the maximum signal.

autoGroupingThreshold

Minimum relative jump from sorted conversion values to determine a group.

autoGroupingUseExptime

Use exposure time to determine automatic grouping.

connections

Field which refers to a dynamically added configuration class which is based on a PipelineTaskConnections class.

doAbsoluteSplineFitOffset

Fit a scattered light offset in the spline fit.

doAbsoluteSplineFitTemperature

Fit temperature coefficient in spline fit? (bool, default False)

doAbsoluteSplineFitTemporal

Fit a linear temporal parameter coefficient in spline fit? (bool, default False)

doAbsoluteSplineFitWeights

Fit linearity weight parameters in the spline fit.

doAutoGrouping

Do automatic group detection? Cannot be True if splineGroupingColumn is also set.

groupingColumn

Column to use for grouping together points, to allow for different proportionality constants.

history

maxFracLinearityDeviation

Maximum fraction deviation from raw linearity to compute linearityTurnoff and linearityMaxSignal.

minPhotodiodeCurrent

Minimum value to trust photodiode signals.

minSignalFitLinearityTurnoff

Minimum signal to compute raw linearity slope for linearityTurnoff.

relativeNSigmaClipLinear

Sigma-clipping for relative spline solution.

relativeSplineFitMaxIter

Maximum number of iterations for relative spline fit.

relativeSplineFitMaxRejectionPerIteration

Maximum number of rejections per iteration for relative spline fit.

relativeSplineFitMinIter

Minimum number of iterations for relative spline fit.

relativeSplineHighNodeSize

Minimum size for high-level linearity nodes for relative spline (adu); this applies to counts between the PTC and linearity turnoffs.

relativeSplineLowNodeSize

Minimum size for low-level linearity nodes for relative spline (adu).

relativeSplineLowThreshold

Threshold for the low-level linearity nodes for relative spline (adu).If this is below relativeSplineMinimumSignalNode then the low level checks will be skipped.

relativeSplineMidNodeSize

Minimum size for mid-level linearity nodes for relative spline (adu); this applies to counts between relativeSplineLowThreshold and the PTC turnoff.

relativeSplineMinimumSignalNode

Smallest node (above 0) for relative spline (adu).

relativeSplineReferenceCounts

Number of target counts (adu) to select a reference image for relative spline solution.

saveLogOutput

Flag to enable/disable saving of log output for a task, enabled by default.

useFocalPlaneNormalization

Use focal-plane normalization in addition to/instead of photodiode? (Only used with for absolute spline fitting).

usePhotodiode

Use the photodiode info instead of the raw expTimes? (bool, default False)

Methods Summary

applyConfigOverrides(instrument, ...)

Apply config overrides to this config instance.

compare(other[, shortcut, rtol, atol, output])

Compare this configuration to another Config for equality.

formatHistory(name, **kwargs)

Format a configuration field's history to a human-readable format.

freeze()

Make this config, and all subconfigs, read-only.

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.

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.

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

absoluteNSigmaClipLinear

Sigma-clipping for absolute spline solution. (float, default 5.0)

absoluteSplineFitMaxIter

Maximum number of iterations for absolute spline fit. (int, default 20)

absoluteSplineFitMaxRejectionPerIteration

Maximum number of rejections per iteration for absolute spline fit. (int, default 5)

absoluteSplineFitMinIter

Minimum number of iterations for absolute spline fit. (int, default 3)

absoluteSplineFitTemperatureColumn

Name of the temperature column to use when fitting temperature coefficients in spline fit; this must not be None if doSplineFitTemperature is True. (str, default None)

absoluteSplineFitWeightParsStart

Starting parameters for weight fit, if doSplineFitWeights=True. Parameters are such that sigma = sqrt(par[0]**2. + par[1]**2./mu).If doSplineFitWeights=False then these are used as-is; otherwise they are used as the initial values for fitting these parameters. (List, default [1.0, 0.0])

absoluteSplineLowNodeSize

Minimum size for low-level linearity nodes for absolute spline (adu). (float, default 2000.0)

absoluteSplineLowThreshold

Threshold for the low-level linearity nodes for absolute spline (adu). If this is below absoluteSplineMinimumSignalNode then the low level checks will be skipped. (float, default 0.0)

absoluteSplineMinimumSignalNode

Smallest node (above 0) for absolute spline (adu). (float, default 0.0)

absoluteSplineNodeSize

Minimum size for linearity nodes for absolute spline above absoluteSplineLowThreshold e(adu); note that there will always be a node at the reference PTC turnoff. (float, default 3000.0)

autoGroupingMaxSignalFraction

Only do auto-grouping when the signal is this fraction of the maximum signal. All exposures with signal higher than this threshold will be put into the largest signal group. This config is needed if the input PTC goes beyond the linearity turnoff. (float, default 0.9)

autoGroupingThreshold

Minimum relative jump from sorted conversion values to determine a group. (float, default 0.1)

autoGroupingUseExptime

Use exposure time to determine automatic grouping. Used if doAutoGrouping=True. (bool, default True)

connections: pexConfig.ConfigField

Field which refers to a dynamically added configuration class which is based on a PipelineTaskConnections class.

doAbsoluteSplineFitOffset

Fit a scattered light offset in the spline fit. (bool, default True)

doAbsoluteSplineFitTemperature

Fit temperature coefficient in spline fit? (bool, default False)

doAbsoluteSplineFitTemporal

Fit a linear temporal parameter coefficient in spline fit? (bool, default False)

doAbsoluteSplineFitWeights

Fit linearity weight parameters in the spline fit. (bool, default False)

doAutoGrouping

Do automatic group detection? Cannot be True if splineGroupingColumn is also set. The automatic group detection will use the ratio of signal to exposure time (if autoGroupingUseExptime is True) or photodiode (if False) to determine which flat pairs were taken with different illumination settings. (bool, default False)

groupingColumn

Column to use for grouping together points, to allow for different proportionality constants. If None, then grouping will only be done if doAutoGrouping is True. (str, default None)

history

Read-only history.

maxFracLinearityDeviation

Maximum fraction deviation from raw linearity to compute linearityTurnoff and linearityMaxSignal. (float, default 0.01)

minPhotodiodeCurrent

Minimum value to trust photodiode signals. (float, default 0.0)

minSignalFitLinearityTurnoff

Minimum signal to compute raw linearity slope for linearityTurnoff. (float, default 1000.0)

relativeNSigmaClipLinear

Sigma-clipping for relative spline solution. (float, default 5.0)

relativeSplineFitMaxIter

Maximum number of iterations for relative spline fit. (int, default 20)

relativeSplineFitMaxRejectionPerIteration

Maximum number of rejections per iteration for relative spline fit. (int, default 5)

relativeSplineFitMinIter

Minimum number of iterations for relative spline fit. (int, default 3)

relativeSplineHighNodeSize

Minimum size for high-level linearity nodes for relative spline (adu); this applies to counts between the PTC and linearity turnoffs. (float, default 2000.0)

relativeSplineLowNodeSize

Minimum size for low-level linearity nodes for relative spline (adu). (float, default 750.0)

relativeSplineLowThreshold

Threshold for the low-level linearity nodes for relative spline (adu).If this is below relativeSplineMinimumSignalNode then the low level checks will be skipped. (float, default 5000.0)

relativeSplineMidNodeSize

Minimum size for mid-level linearity nodes for relative spline (adu); this applies to counts between relativeSplineLowThreshold and the PTC turnoff. (float, default 5000.0)

relativeSplineMinimumSignalNode

Smallest node (above 0) for relative spline (adu). (float, default 100.0)

relativeSplineReferenceCounts

Number of target counts (adu) to select a reference image for relative spline solution. (float, default 10000.0)

saveLogOutput

Flag to enable/disable saving of log output for a task, enabled by default. (bool, default True)

useFocalPlaneNormalization

Use focal-plane normalization in addition to/instead of photodiode? (Only used with for absolute spline fitting). (bool, default False)

usePhotodiode

Use the photodiode info instead of the raw expTimes? (bool, default False)

Methods Documentation

applyConfigOverrides(instrument: Instrument | None, taskDefaultName: str, pipelineConfigs: Iterable[ConfigIR] | None, parameters: ParametersIR, label: str) None

Apply config overrides to this config instance.

Parameters:
instrumentInstrument or None

An instance of the Instrument specified in a pipeline. If None then the pipeline did not specify and instrument.

taskDefaultNamestr

The default name associated with the Task class. This may be used with instrumental overrides.

pipelineConfigsIterable of ConfigIR

An iterable of ConfigIR objects that contain overrides to apply to this config instance.

parametersParametersIR

Parameters defined in a Pipeline which are used in formatting of config values across multiple Task in a pipeline.

labelstr

The label associated with this class’s Task in a pipeline.

compare(other, shortcut=True, rtol=1e-08, atol=1e-08, output=None)

Compare this configuration to another Config for equality.

Parameters:
otherlsst.pex.config.Config

Other Config object to compare against this config.

shortcutbool, optional

If True, return as soon as an inequality is found. Default is True.

rtolfloat, optional

Relative tolerance for floating point comparisons.

atolfloat, optional

Absolute tolerance for floating point comparisons.

outputcallable, optional

A callable that takes a string, used (possibly repeatedly) to report inequalities.

Returns:
isEqualbool

True when the two lsst.pex.config.Config instances are equal. False if there is an inequality.

Notes

Unselected targets of RegistryField fields and unselected choices of ConfigChoiceField fields are not considered by this method.

Floating point comparisons are performed by numpy.allclose.

formatHistory(name, **kwargs)

Format a configuration field’s history to a human-readable format.

Parameters:
namestr

Name of a Field in this config.

**kwargs

Keyword arguments passed to lsst.pex.config.history.format.

Returns:
historystr

A string containing the formatted history.

freeze()

Make this config, and all subconfigs, read-only.

items()

Get configurations as (field name, field value) pairs.

Returns:
itemsItemsView

Iterator of tuples for each configuration. Tuple items are:

  1. Field name.

  2. Field value.

keys()

Get field names.

Returns:
namesKeysView

List of lsst.pex.config.Field names.

load(filename, root='config')

Modify this config in place by executing the Python code in a configuration file.

Parameters:
filenamestr

Name of the configuration file. A configuration file is Python module.

rootstr, 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 myField is set to 5.

loadFromStream(stream, root='config', filename=None, extraLocals=None)

Modify this Config in place by executing the Python code in the provided stream.

Parameters:
streamfile-like object, str, bytes, or CodeType

Stream containing configuration override code. If this is a code object, it should be compiled with mode="exec".

rootstr, 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 myField is set to 5.

filenamestr, optional

Name of the configuration file, or None if unknown or contained in the stream. Used for error reporting.

extraLocalsdict of str to object, optional

Any extra variables to include in local scope when loading.

Notes

For backwards compatibility reasons, this method accepts strings, bytes and code objects as well as file-like objects. New code should use loadFromString instead for most of these types.

loadFromString(code, root='config', filename=None, extraLocals=None)

Modify this Config in place by executing the Python code in the provided string.

Parameters:
codestr, bytes, or CodeType

Stream containing configuration override code.

rootstr, 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 myField is set to 5.

filenamestr, optional

Name of the configuration file, or None if unknown or contained in the stream. Used for error reporting.

extraLocalsdict of str to object, optional

Any extra variables to include in local scope when loading.

Raises:
ValueError

Raised if a key in extraLocals is the same value as the value of the root argument.

names()

Get all the field names in the config, recursively.

Returns:
nameslist of str

Field names.

save(filename, root='config')

Save a Python script to the named file, which, when loaded, reproduces this config.

Parameters:
filenamestr

Desination filename of this configuration.

rootstr, optional

Name to use for the root config variable. The same value must be used when loading (see lsst.pex.config.Config.load).

saveToStream(outfile, root='config', skipImports=False)

Save a configuration file to a stream, which, when loaded, reproduces this config.

Parameters:
outfilefile-like object

Destination file object write the config into. Accepts strings not bytes.

rootstr, optional

Name to use for the root config variable. The same value must be used when loading (see lsst.pex.config.Config.load).

skipImportsbool, optional

If True then do not include import statements in output, this is to support human-oriented output from pipetask where additional clutter is not useful.

saveToString(skipImports=False)

Return the Python script form of this configuration as an executable string.

Parameters:
skipImportsbool, optional

If True then do not include import statements in output, this is to support human-oriented output from pipetask where additional clutter is not useful.

Returns:
codestr

A code string readable by loadFromString.

setDefaults()

Subclass hook for computing defaults.

Notes

Derived Config classes that must compute defaults rather than using the Field instances’s defaults should do so here. To correctly use inherited defaults, implementations of setDefaults must call their base class’s setDefaults.

toDict()

Make a dictionary of field names and their values.

Returns:
dict_dict

Dictionary with keys that are Field names. Values are Field values.

Notes

This method uses the toDict method of individual fields. Subclasses of Field may need to implement a toDict method for this method to work.

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 __at and __label keyword 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 Config instance’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 fieldA and 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 validate methods.

Complex single-field validation can be defined by deriving new Field types. For convenience, some derived lsst.pex.config.Field-types (ConfigField and ConfigChoiceField) are defined in lsst.pex.config that handle recursing into subconfigs.

Inter-field relationships should only be checked in derived Config classes after calling this method, and base validation is complete.

values()

Get field values.

Returns:
valuesValuesView

Iterator of field values.