PsfMatchConfig

class lsst.ip.diffim.PsfMatchConfig

Bases: lsst.pex.config.config.Config

!Base configuration for Psf-matching

The base configuration of the Psf-matching kernel, and of the warping, detection, and background modeling subTasks.

Attributes Summary

afwBackgroundConfig Controlling the Afw background fitting (SubtractBackgroundConfig, default <class 'lsst.meas.algorithms.subtractBackground.SubtractBackgroundConfig'>)
badMaskPlanes Mask planes to ignore when calculating diffim statistics Options: NO_DATA EDGE SAT BAD CR INTRP (List, default ('NO_DATA', 'EDGE', 'SAT'))
calculateKernelUncertainty Calculate kernel and background uncertainties for each kernel candidate? This comes from the inverse of the covariance matrix.
candidateCoreRadius Radius for calculation of stats in ‘core’ of KernelCandidate diffim.
candidateResidualMeanMax Rejects KernelCandidates yielding bad difference image quality.
candidateResidualStdMax Rejects KernelCandidates yielding bad difference image quality.
checkConditionNumber Test for maximum condition number when inverting a kernel matrix.
conditionNumberType Use singular values (SVD) or eigen values (EIGENVALUE) to determine condition number (str, default 'EIGENVALUE')
constantVarianceWeighting Use constant variance weighting in single kernel fitting? In some cases this is better for bright star residuals.
detectionConfig Controlling the detection of sources for kernel building (DetectionConfig, default <class 'lsst.ip.diffim.psfMatch.DetectionConfig'>)
fitForBackground Include terms (including kernel cross terms) for background in ip_diffim (bool, default False)
history
iterateSingleKernel Remake KernelCandidate using better variance estimate after first pass? Primarily useful when convolving a single-depth image, otherwise not necessary.
kernelBasisSet Type of basis set for PSF matching kernel.
kernelSize Number of rows/columns in the convolution kernel; should be odd-valued.
kernelSizeFwhmScaling How much to scale the kernel size based on the largest AL Sigma (float, default 6.0)
kernelSizeMax Maximum Kernel Size (int, default 35)
kernelSizeMin Minimum Kernel Size (int, default 21)
kernelSumClipping Do sigma clipping on the ensemble of kernel sums (bool, default True)
maxConditionNumber Maximum condition number for a well conditioned matrix (float, default 50000000.0)
maxKsumSigma Maximum allowed sigma for outliers from kernel sum distribution.
maxSpatialConditionNumber Maximum condition number for a well conditioned spatial matrix (float, default 10000000000.0)
maxSpatialIterations Maximum number of iterations for rejecting bad KernelCandidates in spatial fitting (int, default 3)
nStarPerCell Number of KernelCandidates in each SpatialCell to use in the spatial fitting (int, default 3)
numPrincipalComponents Number of principal components to use for Pca basis, including the mean kernel if requested.
scaleByFwhm Scale kernelSize, alardGaussians by input Fwhm (bool, default True)
singleKernelClipping Do sigma clipping on each raw kernel candidate (bool, default True)
sizeCellX Size (rows) in pixels of each SpatialCell for spatial modeling (int, default 128)
sizeCellY Size (columns) in pixels of each SpatialCell for spatial modeling (int, default 128)
spatialBgOrder Spatial order of differential background variation (int, default 1)
spatialKernelClipping Do sigma clipping after building the spatial model (bool, default True)
spatialKernelOrder Spatial order of convolution kernel variation (int, default 2)
spatialModelType Type of spatial functions for kernel and background (str, default 'chebyshev1')
subtractMeanForPca Subtract off the mean feature before doing the Pca (bool, default True)
useAfwBackground Use afw background subtraction instead of ip_diffim (bool, default False)
useBicForKernelBasis Use Bayesian Information Criterion to select the number of bases going into the kernel (bool, default False)
useCoreStats Use the core of the footprint for the quality statistics, instead of the entire footprint.
usePcaForSpatialKernel Use Pca to reduce the dimensionality of the kernel basis sets.
warpingConfig Config for warping exposures to a common alignment (WarperConfig, default <class 'lsst.afw.math.warper.WarperConfig'>)

Methods Summary

compare(other[, shortcut, rtol, atol, output]) !Compare two Configs for equality; return True if equal
formatHistory(name, **kwargs) !Format the specified config field’s history to a more human-readable format
freeze() !Make this Config and all sub-configs read-only
items() !Return the list of (field name, field value) pairs
iteritems() !Iterate over (field name, field value) pairs
iterkeys() !Iterate over field names
itervalues() !Iterate over field values
keys() !Return the list of field names
load(filename[, root]) !Modify this config in place by executing the Python code in the named file.
loadFromStream(stream[, root, filename]) !Modify this config in place by executing the python code in the provided stream.
names() !Return all the keys in a config recursively
save(filename[, root]) !Save a python script to the named file, which, when loaded, reproduces this Config
saveToStream(outfile[, root]) !Save a python script to a stream, which, when loaded, reproduces this Config
setDefaults() Derived config classes that must compute defaults rather than using the Field defaults should do so here.
toDict() !Return a dict of field name: value
update(**kw) !Update values specified by the keyword arguments
validate() !Validate the Config; raise an exception if invalid
values() !Return the list of field values

Attributes Documentation

afwBackgroundConfig

Controlling the Afw background fitting (SubtractBackgroundConfig, default <class 'lsst.meas.algorithms.subtractBackground.SubtractBackgroundConfig'>)

badMaskPlanes

Mask planes to ignore when calculating diffim statistics Options: NO_DATA EDGE SAT BAD CR INTRP (List, default ('NO_DATA', 'EDGE', 'SAT'))

calculateKernelUncertainty

Calculate kernel and background uncertainties for each kernel candidate? This comes from the inverse of the covariance matrix. Warning: regularization can cause problems for this step. (bool, default False)

candidateCoreRadius

Radius for calculation of stats in ‘core’ of KernelCandidate diffim. Total number of pixels used will be (2*radius)**2. This is used both for ‘core’ diffim quality as well as ranking of KernelCandidates by their total flux in this core (int, default 3)

candidateResidualMeanMax

Rejects KernelCandidates yielding bad difference image quality. Used by BuildSingleKernelVisitor, AssessSpatialKernelVisitor. Represents average over pixels of (image/sqrt(variance)). (float, default 0.25)

candidateResidualStdMax

Rejects KernelCandidates yielding bad difference image quality. Used by BuildSingleKernelVisitor, AssessSpatialKernelVisitor. Represents stddev over pixels of (image/sqrt(variance)). (float, default 1.5)

checkConditionNumber

Test for maximum condition number when inverting a kernel matrix. Anything above maxConditionNumber is not used and the candidate is set as BAD. Also used to truncate inverse matrix in estimateBiasedRisk. However, if you are doing any deconvolution you will want to turn this off, or use a large maxConditionNumber (bool, default False)

conditionNumberType

Use singular values (SVD) or eigen values (EIGENVALUE) to determine condition number (str, default 'EIGENVALUE')

Allowed values:

'SVD'
Use singular values
'EIGENVALUE'
Use eigen values (faster)
'None'
Field is optional
constantVarianceWeighting

Use constant variance weighting in single kernel fitting? In some cases this is better for bright star residuals. (bool, default True)

detectionConfig

Controlling the detection of sources for kernel building (DetectionConfig, default <class 'lsst.ip.diffim.psfMatch.DetectionConfig'>)

fitForBackground

Include terms (including kernel cross terms) for background in ip_diffim (bool, default False)

history
iterateSingleKernel

Remake KernelCandidate using better variance estimate after first pass? Primarily useful when convolving a single-depth image, otherwise not necessary. (bool, default False)

kernelBasisSet

Type of basis set for PSF matching kernel. (str, default 'alard-lupton')

Allowed values:

'alard-lupton'
Alard-Lupton sum-of-gaussians basis set,
  • The first term has no spatial variation
  • The kernel sum is conserved
  • You may want to turn off ‘usePcaForSpatialKernel’
'delta-function'
Delta-function kernel basis set,
  • You may enable the option useRegularization
  • You should seriously consider usePcaForSpatialKernel, which will also enable kernel sum conservation for the delta function kernels
'None'
Field is optional
kernelSize

Number of rows/columns in the convolution kernel; should be odd-valued. Modified by kernelSizeFwhmScaling if scaleByFwhm = true (int, default 21)

kernelSizeFwhmScaling

How much to scale the kernel size based on the largest AL Sigma (float, default 6.0)

kernelSizeMax

Maximum Kernel Size (int, default 35)

kernelSizeMin

Minimum Kernel Size (int, default 21)

kernelSumClipping

Do sigma clipping on the ensemble of kernel sums (bool, default True)

maxConditionNumber

Maximum condition number for a well conditioned matrix (float, default 50000000.0)

maxKsumSigma

Maximum allowed sigma for outliers from kernel sum distribution. Used to reject variable objects from the kernel model (float, default 3.0)

maxSpatialConditionNumber

Maximum condition number for a well conditioned spatial matrix (float, default 10000000000.0)

maxSpatialIterations

Maximum number of iterations for rejecting bad KernelCandidates in spatial fitting (int, default 3)

nStarPerCell

Number of KernelCandidates in each SpatialCell to use in the spatial fitting (int, default 3)

numPrincipalComponents

Number of principal components to use for Pca basis, including the mean kernel if requested. (int, default 5)

scaleByFwhm

Scale kernelSize, alardGaussians by input Fwhm (bool, default True)

singleKernelClipping

Do sigma clipping on each raw kernel candidate (bool, default True)

sizeCellX

Size (rows) in pixels of each SpatialCell for spatial modeling (int, default 128)

sizeCellY

Size (columns) in pixels of each SpatialCell for spatial modeling (int, default 128)

spatialBgOrder

Spatial order of differential background variation (int, default 1)

spatialKernelClipping

Do sigma clipping after building the spatial model (bool, default True)

spatialKernelOrder

Spatial order of convolution kernel variation (int, default 2)

spatialModelType

Type of spatial functions for kernel and background (str, default 'chebyshev1')

Allowed values:

'chebyshev1'
Chebyshev polynomial of the first kind
'polynomial'
Standard x,y polynomial
'None'
Field is optional
subtractMeanForPca

Subtract off the mean feature before doing the Pca (bool, default True)

useAfwBackground

Use afw background subtraction instead of ip_diffim (bool, default False)

useBicForKernelBasis

Use Bayesian Information Criterion to select the number of bases going into the kernel (bool, default False)

useCoreStats

Use the core of the footprint for the quality statistics, instead of the entire footprint. WARNING: if there is deconvolution we probably will need to turn this off (bool, default False)

usePcaForSpatialKernel

Use Pca to reduce the dimensionality of the kernel basis sets. This is particularly useful for delta-function kernels. Functionally, after all Cells have their raw kernels determined, we run a Pca on these Kernels, re-fit the Cells using the eigenKernels and then fit those for spatial variation using the same technique as for Alard-Lupton kernels. If this option is used, the first term will have no spatial variation and the kernel sum will be conserved. (bool, default False)

warpingConfig

Config for warping exposures to a common alignment (WarperConfig, default <class 'lsst.afw.math.warper.WarperConfig'>)

Methods Documentation

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

!Compare two Configs for equality; return True if equal

If the Configs contain RegistryFields or ConfigChoiceFields, unselected Configs will not be compared.

@param[in] other Config object to compare with self. @param[in] shortcut If True, return as soon as an inequality is found. @param[in] rtol Relative tolerance for floating point comparisons. @param[in] atol Absolute tolerance for floating point comparisons. @param[in] output If not None, a callable that takes a string, used (possibly repeatedly)

to report inequalities.

Floating point comparisons are performed by numpy.allclose; refer to that for details.

formatHistory(name, **kwargs)

!Format the specified config field’s history to a more human-readable format

@param[in] name name of field whose history is wanted @param[in] kwargs keyword arguments for lsst.pex.config.history.format @return a string containing the formatted history

freeze()

!Make this Config and all sub-configs read-only

items()

!Return the list of (field name, field value) pairs

iteritems()

!Iterate over (field name, field value) pairs

iterkeys()

!Iterate over field names

itervalues()

!Iterate over field values

keys()

!Return the list of field names

load(filename, root='config')

!Modify this config in place by executing the Python code in the named file.

@param[in] filename name of file containing config override code @param[in] root name of variable in file that refers to the config being overridden

For example: if the value of root is “config” and the file contains this text: “config.myField = 5” then this config’s field “myField” is set to 5.

@deprecated For purposes of backwards compatibility, older config files that use root=”root” instead of root=”config” will be loaded with a warning printed to sys.stderr. This feature will be removed at some point.

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

!Modify this config in place by executing the python code in the provided stream.

@param[in] stream open file object, string or compiled string containing config override code @param[in] root name of variable in stream that refers to the config being overridden @param[in] filename name of config override file, or None if unknown or contained

in the stream; used for error reporting

For example: if the value of root is “config” and the stream contains this text: “config.myField = 5” then this config’s field “myField” is set to 5.

@deprecated For purposes of backwards compatibility, older config files that use root=”root” instead of root=”config” will be loaded with a warning printed to sys.stderr. This feature will be removed at some point.

names()

!Return all the keys in a config recursively

save(filename, root='config')

!Save a python script to the named file, which, when loaded, reproduces this Config

@param[in] filename name of file to which to write the config @param[in] root name to use for the root config variable; the same value must be used when loading

saveToStream(outfile, root='config')

!Save a python script to a stream, which, when loaded, reproduces this Config

@param outfile [inout] open file object to which to write the config. Accepts strings not bytes. @param root [in] name to use for the root config variable; the same value must be used when loading

setDefaults()

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

toDict()

!Return a dict of field name: value

Correct behavior is dependent on proper implementation of Field.toDict. If implementing a new Field type, you may need to implement your own toDict method.

update(**kw)

!Update values specified by the keyword arguments

@warning 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. Modifying these keywords allows users to lie about a Config’s history. Please do not do so!

validate()

!Validate the Config; raise an exception if invalid

The base class implementation performs type checks on all fields by calling Field.validate().

Complex single-field validation can be defined by deriving new Field types. As syntactic sugar, some derived Field types are defined in this module which handle recursing into sub-configs (ConfigField, ConfigChoiceField)

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

values()

!Return the list of field values