LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.ip.diffim.psfMatch.PsfMatchTask Class Reference
Inheritance diagram for lsst.ip.diffim.psfMatch.PsfMatchTask:
lsst.ip.diffim.imagePsfMatch.ImagePsfMatchTask lsst.ip.diffim.modelPsfMatch.ModelPsfMatchTask lsst.ip.diffim.snapPsfMatch.SnapPsfMatchTask lsst.ip.diffim.zogy.ZogyImagePsfMatchTask

Public Member Functions

def __init__ (self, *args, **kwargs)
 

Public Attributes

 kConfig
 
 useRegularization
 
 hMat
 

Static Public Attributes

 ConfigClass = PsfMatchConfig
 

Detailed Description

Base class for Psf Matching; should not be called directly

Notes
-----
PsfMatchTask is a base class that implements the core functionality for matching the
Psfs of two images using a spatially varying Psf-matching `lsst.afw.math.LinearCombinationKernel`.
The Task requires the user to provide an instance of an `lsst.afw.math.SpatialCellSet`,
filled with `lsst.ip.diffim.KernelCandidate` instances, and a list of `lsst.afw.math.Kernels`
of basis shapes that will be used for the decomposition.  If requested, the Task
also performs background matching and returns the differential background model as an
`lsst.afw.math.Kernel.SpatialFunction`.

**Invoking the Task**

As a base class, this Task is not directly invoked.  However, ``run()`` methods that are
implemented on derived classes will make use of the core ``_solve()`` functionality,
which defines a sequence of `lsst.afw.math.CandidateVisitor` classes that iterate
through the KernelCandidates, first building up a per-candidate solution and then
building up a spatial model from the ensemble of candidates.  Sigma clipping is
performed using the mean and standard deviation of all kernel sums (to reject
variable objects), on the per-candidate substamp diffim residuals
(to indicate a bad choice of kernel basis shapes for that particular object),
and on the substamp diffim residuals using the spatial kernel fit (to indicate a bad
choice of spatial kernel order, or poor constraints on the spatial model).  The
``_diagnostic()`` method logs information on the quality of the spatial fit, and also
modifies the Task metadata.

.. list-table:: Quantities set in Metadata
   :header-rows: 1

   * - Parameter
     - Description
   * - ``spatialConditionNum``
     - Condition number of the spatial kernel fit
   * - ``spatialKernelSum``
     - Kernel sum (10^{-0.4 * ``Delta``; zeropoint}) of the spatial Psf-matching kernel
   * - ``ALBasisNGauss``
     - If using sum-of-Gaussian basis, the number of gaussians used
   * - ``ALBasisDegGauss``
     - If using sum-of-Gaussian basis, the deg of spatial variation of the Gaussians
   * - ``ALBasisSigGauss``
     - If using sum-of-Gaussian basis, the widths (sigma) of the Gaussians
   * - ``ALKernelSize``
     - If using sum-of-Gaussian basis, the kernel size
   * - ``NFalsePositivesTotal``
     - Total number of diaSources
   * - ``NFalsePositivesRefAssociated``
     - Number of diaSources that associate with the reference catalog
   * - ``NFalsePositivesRefAssociated``
     - Number of diaSources that associate with the source catalog
   * - ``NFalsePositivesUnassociated``
     - Number of diaSources that are orphans
   * - ``metric_MEAN``
     - Mean value of substamp diffim quality metrics across all KernelCandidates,
       for both the per-candidate (LOCAL) and SPATIAL residuals
   * - ``metric_MEDIAN``
     - Median value of substamp diffim quality metrics across all KernelCandidates,
       for both the per-candidate (LOCAL) and SPATIAL residuals
   * - ``metric_STDEV``
     - Standard deviation of substamp diffim quality metrics across all KernelCandidates,
       for both the per-candidate (LOCAL) and SPATIAL residuals

**Debug variables**

The `lsst.pipe.base.cmdLineTask.CmdLineTask` command line task interface supports a
flag -d/--debug to import @b debug.py from your PYTHONPATH.  The relevant contents of debug.py
for this Task include:

.. code-block:: py

    import sys
    import lsstDebug
    def DebugInfo(name):
        di = lsstDebug.getInfo(name)
        if name == "lsst.ip.diffim.psfMatch":
            # enable debug output
            di.display = True
            # display mask transparency
            di.maskTransparency = 80
            # show all the candidates and residuals
            di.displayCandidates = True
            # show kernel basis functions
            di.displayKernelBasis = False
            # show kernel realized across the image
            di.displayKernelMosaic = True
            # show coefficients of spatial model
            di.plotKernelSpatialModel = False
            # show fixed and spatial coefficients and coefficient histograms
            di.plotKernelCoefficients = True
            # show the bad candidates (red) along with good (green)
            di.showBadCandidates = True
        return di
    lsstDebug.Info = DebugInfo
    lsstDebug.frame = 1

Note that if you want additional logging info, you may add to your scripts:

.. code-block:: py

    import lsst.log.utils as logUtils
    logUtils.traceSetAt("ip.diffim", 4)

Definition at line 527 of file psfMatch.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.ip.diffim.psfMatch.PsfMatchTask.__init__ (   self,
args,
**  kwargs 
)
Create the psf-matching Task

Parameters
----------
*args
    Arguments to be passed to ``lsst.pipe.base.task.Task.__init__``
**kwargs
    Keyword arguments to be passed to ``lsst.pipe.base.task.Task.__init__``

Notes
-----
The initialization sets the Psf-matching kernel configuration using the value of
self.config.kernel.active.  If the kernel is requested with regularization to moderate
the bias/variance tradeoff, currently only used when a delta function kernel basis
is provided, it creates a regularization matrix stored as member variable
self.hMat.

Reimplemented in lsst.ip.diffim.zogy.ZogyImagePsfMatchTask, lsst.ip.diffim.modelPsfMatch.ModelPsfMatchTask, and lsst.ip.diffim.imagePsfMatch.ImagePsfMatchTask.

Definition at line 633 of file psfMatch.py.

633  def __init__(self, *args, **kwargs):
634  """Create the psf-matching Task
635 
636  Parameters
637  ----------
638  *args
639  Arguments to be passed to ``lsst.pipe.base.task.Task.__init__``
640  **kwargs
641  Keyword arguments to be passed to ``lsst.pipe.base.task.Task.__init__``
642 
643  Notes
644  -----
645  The initialization sets the Psf-matching kernel configuration using the value of
646  self.config.kernel.active. If the kernel is requested with regularization to moderate
647  the bias/variance tradeoff, currently only used when a delta function kernel basis
648  is provided, it creates a regularization matrix stored as member variable
649  self.hMat.
650  """
651  pipeBase.Task.__init__(self, *args, **kwargs)
652  self.kConfig = self.config.kernel.active
653 
654  if 'useRegularization' in self.kConfig:
655  self.useRegularization = self.kConfig.useRegularization
656  else:
657  self.useRegularization = False
658 
659  if self.useRegularization:
660  self.hMat = diffimLib.makeRegularizationMatrix(pexConfig.makePropertySet(self.kConfig))
661 

Member Data Documentation

◆ ConfigClass

lsst.ip.diffim.psfMatch.PsfMatchTask.ConfigClass = PsfMatchConfig
static

Definition at line 630 of file psfMatch.py.

◆ hMat

lsst.ip.diffim.psfMatch.PsfMatchTask.hMat

Definition at line 660 of file psfMatch.py.

◆ kConfig

lsst.ip.diffim.psfMatch.PsfMatchTask.kConfig

Definition at line 652 of file psfMatch.py.

◆ useRegularization

lsst.ip.diffim.psfMatch.PsfMatchTask.useRegularization

Definition at line 655 of file psfMatch.py.


The documentation for this class was generated from the following file: