PhotonTransferCurveSolveConfig¶
- class lsst.cp.pipe.PhotonTransferCurveSolveConfig(*args, **kw)¶
- Bases: - PipelineTaskConfig- Configuration for fitting measured covariances. - Attributes Summary - Maximum number of adu to use for amp offset gain ratio fixup. - Minimum number of adu to use for amp offset gain ratio fixup. - Bin the image by this factor in both dimensions. - Field which refers to a dynamically added configuration class which is based on a PipelineTaskConnections class. - Required number of consecutive points/fluxes in the PTC where the variance decreases in order to find a first estimate of the PTC turn-off. - Do gain ratio fixup based on amp offsets? ( - bool, default- False)- Use bootstrap for the PTC fit parameters and errors?. - Use 'legacy' computation for PTC turnoff selection. - Subtract long-range covariances before FULLCOVARIANCE fit, beyond startLongRangeCovariances? ( - bool, default- False)- Minimum value of the Gaussian histogram KS test p-value to be used in PTC fit. - If there are any outliers in the initial fit that have mean greater than maxSignalInitialPtcOutlierFit, then no points that have this delta mean from the previous - goodpoint are allowed.- Maximum number of iterations in full model fit for FULLCOVARIANCE ptcFitType ( - int, default- 3)- Maximum number of iterations for outlier rejection in PTC. - Maximum values (inclusive) of mean signal (in adu) below which to consider, per amp. - Maximum signal considered for intial outlier fit. - Maximum range of measured covariances as in Astier+19 ( - int, default- 8)- Maximum range up to where to fit covariances as in Astier+19, for the FULLCOVARIANCE model.This is different from maximumRangeCovariancesAstier.It should be less or equal than maximumRangeCovariancesAstier.The number of parameters for this model is 3*maximumRangeCovariancesAstierFullCovFit^2 + 1, so increase with care so that the fit is not too slow. - Minimum values (inclusive) of mean signal (in adu) per amp to use. - The code looks for a pivot signal point after which the variance starts decreasing at high-flux to exclude then from the PTC model fit. - If doSubtractLongRangeCovariances is True, polynomial degree to fit data beyond startLongRangeCovariances. - Degree of polynomial to fit the PTC, when 'ptcFitType'=POLYNOMIAL. - Fit PTC to Eq. - Flag to enable/disable saving of log output for a task, enabled by default. - Scale maxSignalInitialPtcOutlierFit and maxDeltaInitialPtcOutlierFit by approximate gain? If yes then maxSignalInitialPtcOutlierFit and maxDeltaInitialPtcOutlierFit are assumed to have units of electrons, otherwise adu. - sigma clip for full model fit for FULLCOVARIANCE ptcFitType ( - float, default- 5.0)- Sigma cut for outlier rejection in PTC. - If doSubtractLongRangeCovariances is True, subtract covariances beyond this range. - Methods Summary - applyConfigOverrides(instrument, ...)- Apply config overrides to this config instance. - 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. - 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. - 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 - ampOffsetGainRatioMaxAdu¶
- Maximum number of adu to use for amp offset gain ratio fixup. ( - float, default- 20000.0)
 - ampOffsetGainRatioMinAdu¶
- Minimum number of adu to use for amp offset gain ratio fixup. ( - float, default- 1000.0)
 - connections: pexConfig.ConfigField¶
- Field which refers to a dynamically added configuration class which is based on a PipelineTaskConnections class. 
 - consecutivePointsVarDecreases¶
- Required number of consecutive points/fluxes in the PTC where the variance decreases in order to find a first estimate of the PTC turn-off. Only used if doLegacyTurnoffSelection is True. ( - int, default- 2)- Valid Range = [2,inf) 
 - doLegacyTurnoffSelection¶
- Use ‘legacy’ computation for PTC turnoff selection. If set to False, then the KS test p-value selection will be used instead. ( - bool, default- False)
 - doSubtractLongRangeCovariances¶
- Subtract long-range covariances before FULLCOVARIANCE fit, beyond startLongRangeCovariances? ( - bool, default- False)
 - history¶
- Read-only history. 
 - ksTestMinPvalue¶
- Minimum value of the Gaussian histogram KS test p-value to be used in PTC fit. Only used if doLegacyTurnoffSelection is False. ( - float, default- 0.01)
 - maxDeltaInitialPtcOutlierFit¶
- If there are any outliers in the initial fit that have mean greater than maxSignalInitialPtcOutlierFit, then no points that have this delta mean from the previous - goodpoint are allowed. If scaleMaxSignalInitialPtcOutlierFit=True then the units are electrons; otherwise adu. (- float, default- 9000.0)
 - maxIterFullFitCovariancesAstier¶
- Maximum number of iterations in full model fit for FULLCOVARIANCE ptcFitType ( - int, default- 3)
 - maxIterationsPtcOutliers¶
- Maximum number of iterations for outlier rejection in PTC. ( - int, default- 2)- Valid Range = [0,inf) 
 - maxMeanSignal¶
- Maximum values (inclusive) of mean signal (in adu) below which to consider, per amp. The same cut is applied to all amps if this dictionary is of the form {‘ALL_AMPS’: value} ( - Dict, default- {'ALL_AMPS': 1000000.0})
 - maxSignalInitialPtcOutlierFit¶
- Maximum signal considered for intial outlier fit. This should be below the PTC turnoff to ensure accurate outlier rejection. If scaleMaxSignalInitialPtcOutlierFit=True then the units are electrons; otherwise adu. ( - float, default- 50000.0)
 - maximumRangeCovariancesAstier¶
- Maximum range of measured covariances as in Astier+19 ( - int, default- 8)
 - maximumRangeCovariancesAstierFullCovFit¶
- Maximum range up to where to fit covariances as in Astier+19, for the FULLCOVARIANCE model.This is different from maximumRangeCovariancesAstier.It should be less or equal than maximumRangeCovariancesAstier.The number of parameters for this model is 3*maximumRangeCovariancesAstierFullCovFit^2 + 1, so increase with care so that the fit is not too slow. ( - int, default- 8)
 - minMeanSignal¶
- Minimum values (inclusive) of mean signal (in adu) per amp to use. The same cut is applied to all amps if this parameter [ - dict] is passed as {‘ALL_AMPS’: value} (- Dict, default- {'ALL_AMPS': 0.0})
 - minVarPivotSearch¶
- The code looks for a pivot signal point after which the variance starts decreasing at high-flux to exclude then from the PTC model fit. However, sometimes at low fluxes, the variance decreases slightly. Set this variable for the variance value, in adu^2, after which the pivot should be sought. Only used if doLegacyTurnoffSelection is True. ( - float, default- 10000)
 - polyDegLongRangeCovariances¶
- If doSubtractLongRangeCovariances is True, polynomial degree to fit data beyond startLongRangeCovariances. ( - int, default- 1)
 - polynomialFitDegree¶
- Degree of polynomial to fit the PTC, when ‘ptcFitType’=POLYNOMIAL. ( - int, default- 3)
 - ptcFitType¶
- Fit PTC to Eq. 16, Eq. 20 in Astier+19, or to a polynomial. ( - str, default- 'POLYNOMIAL')- Allowed values: - 'POLYNOMIAL'
- n-degree polynomial (use ‘polynomialFitDegree’ to set ‘n’). 
- 'EXPAPPROXIMATION'
- Approximation in Astier+19 (Eq. 16). 
- 'FULLCOVARIANCE'
- Full covariances model in Astier+19 (Eq. 20) 
- 'None'
- Field is optional 
 
 - saveLogOutput¶
- Flag to enable/disable saving of log output for a task, enabled by default. ( - bool, default- True)
 - scaleMaxSignalInitialPtcOutlierFit¶
- Scale maxSignalInitialPtcOutlierFit and maxDeltaInitialPtcOutlierFit by approximate gain? If yes then maxSignalInitialPtcOutlierFit and maxDeltaInitialPtcOutlierFit are assumed to have units of electrons, otherwise adu. ( - bool, default- True)
 - sigmaClipFullFitCovariancesAstier¶
- sigma clip for full model fit for FULLCOVARIANCE ptcFitType ( - float, default- 5.0)
 - startLongRangeCovariances¶
- If doSubtractLongRangeCovariances is True, subtract covariances beyond this range. It should be less than maximumRangeCovariancesAstier. ( - int, default- 4)
 - 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:
- instrumentInstrumentorNone
- An instance of the - Instrumentspecified in a pipeline. If- Nonethen the pipeline did not specify and instrument.
- taskDefaultNamestr
- The default name associated with the - Taskclass. This may be used with instrumental overrides.
- pipelineConfigsIterableofConfigIR
- An iterable of - ConfigIRobjects 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 - Taskin a pipeline.
- labelstr
- The label associated with this class’s Task in a pipeline. 
 
- instrument
 
 - compare(other, shortcut=True, rtol=1e-08, atol=1e-08, output=None)¶
- Compare this configuration to another - Configfor equality.- Parameters:
- otherlsst.pex.config.Config
- Other - Configobject 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. 
 
- other
- Returns:
- isEqualbool
- Truewhen the two- lsst.pex.config.Configinstances are equal.- Falseif there is an inequality.
 
- isEqual
 - 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.
 - formatHistory(name, **kwargs)¶
- Format a configuration field’s history to a human-readable format. - Parameters:
- namestr
- Name of a - Fieldin this config.
- **kwargs
- Keyword arguments passed to - lsst.pex.config.history.format.
 
- name
- Returns:
- historystr
- A string containing the formatted history. 
 
- history
 - See also 
 - 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: - Field name. 
- Field value. 
 
 
- items
 
 - keys()¶
- Get field names. - Returns:
- namesKeysView
- List of - lsst.pex.config.Fieldnames.
 
- 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 - myFieldis set to- 5.
 
- filename
 
 - 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, orCodeType
- 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 - myFieldis set to- 5.
- filenamestr, optional
- Name of the configuration file, or - Noneif unknown or contained in the stream. Used for error reporting.
- extraLocalsdictofstrtoobject, optional
- Any extra variables to include in local scope when loading. 
 
- streamfile-like object, 
 - 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.
 - 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, orCodeType
- 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 - myFieldis set to- 5.
- filenamestr, optional
- Name of the configuration file, or - Noneif unknown or contained in the stream. Used for error reporting.
- extraLocalsdictofstrtoobject, optional
- Any extra variables to include in local scope when loading. 
 
- code
- Raises:
- ValueError
- Raised if a key in extraLocals is the same value as the value of the root argument. 
 
 
 - 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).
 
- filename
 
 - 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 - 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:
- codestr
- 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. - See also - Notes - This method uses the - toDictmethod of individual fields. Subclasses of- Fieldmay need to implement a- toDictmethod 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 - __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:
- valuesValuesView
- Iterator of field values. 
 
- values