lsst.ip.diffim gef7b216a29+40d8a1e170
Loading...
Searching...
No Matches
Classes | Functions | Variables
lsst.ip.diffim.utils Namespace Reference

Classes

class  DipoleTestImage
 

Functions

def showSourceSet (sSet, xy0=(0, 0), frame=0, ctype=afwDisplay.GREEN, symb="+", size=2)
 
def showKernelSpatialCells (maskedIm, kernelCellSet, showChi2=False, symb="o", ctype=None, ctypeUnused=None, ctypeBad=None, size=3, frame=None, title="Spatial Cells")
 
def showDiaSources (sources, exposure, isFlagged, isDipole, frame=None)
 
def showKernelCandidates (kernelCellSet, kernel, background, frame=None, showBadCandidates=True, resids=False, kernels=False)
 
def showKernelBasis (kernel, frame=None)
 
def plotKernelSpatialModel (kernel, kernelCellSet, showBadCandidates=True, numSample=128, keepPlots=True, maxCoeff=10)
 
def plotKernelCoefficients (spatialKernel, kernelCellSet, showBadCandidates=False, keepPlots=True)
 
def showKernelMosaic (bbox, kernel, nx=7, ny=None, frame=None, title=None, showCenter=True, showEllipticity=True)
 
def plotPixelResiduals (exposure, warpedTemplateExposure, diffExposure, kernelCellSet, kernel, background, testSources, config, origVariance=False, nptsFull=1e6, keepPlots=True, titleFs=14)
 
def calcCentroid (arr)
 
def calcWidth (arr, centx, centy)
 
def printSkyDiffs (sources, wcs)
 
def makeRegions (sources, outfilename, wcs=None)
 
def showSourceSetSky (sSet, wcs, xy0, frame=0, ctype=afwDisplay.GREEN, symb="+", size=2)
 
def plotWhisker (results, newWcs)
 
def getPsfFwhm (psf, average=True)
 
def detectTestSources (exposure)
 
def makeFakeWcs ()
 
def makeTestImage (seed=5, nSrc=20, psfSize=2., noiseLevel=5., noiseSeed=6, fluxLevel=500., fluxRange=2., kernelSize=32, templateBorderSize=0, background=None, xSize=256, ySize=256, x0=12345, y0=67890, calibration=1., doApplyCalibration=False)
 
def makeStats (badMaskPlanes=None)
 
def computeRobustStatistics (image, mask, statsCtrl, statistic=afwMath.MEANCLIP)
 
def computePSFNoiseEquivalentArea (psf)
 

Variables

bool keptPlots = False
 

Function Documentation

◆ calcCentroid()

def lsst.ip.diffim.utils.calcCentroid (   arr)
Calculate first moment of a (kernel) image.

Definition at line 815 of file utils.py.

◆ calcWidth()

def lsst.ip.diffim.utils.calcWidth (   arr,
  centx,
  centy 
)
Calculate second moment of a (kernel) image.

Definition at line 830 of file utils.py.

◆ computePSFNoiseEquivalentArea()

def lsst.ip.diffim.utils.computePSFNoiseEquivalentArea (   psf)
Compute the noise equivalent area for an image psf

Parameters
----------
psf : `lsst.afw.detection.Psf`

Returns
-------
nea : `float`

Definition at line 1295 of file utils.py.

◆ computeRobustStatistics()

def lsst.ip.diffim.utils.computeRobustStatistics (   image,
  mask,
  statsCtrl,
  statistic = afwMath.MEANCLIP 
)
Calculate a robust mean of the variance plane of an exposure.

Parameters
----------
image : `lsst.afw.image.Image`
    Image or variance plane of an exposure to evaluate.
mask : `lsst.afw.image.Mask`
    Mask plane to use for excluding pixels.
statsCtrl : `lsst.afw.math.StatisticsControl`
    Statistics control object for configuring the calculation.
statistic : `lsst.afw.math.Property`, optional
    The type of statistic to compute. Typical values are
    ``afwMath.MEANCLIP`` or ``afwMath.STDEVCLIP``.

Returns
-------
value : `float`
    The result of the statistic calculated from the unflagged pixels.

Definition at line 1271 of file utils.py.

◆ detectTestSources()

def lsst.ip.diffim.utils.detectTestSources (   exposure)
Minimal source detection wrapper suitable for unit tests.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    Exposure on which to run detection/measurement
    The exposure is modified in place to set the 'DETECTED' mask plane.

Returns
-------
selectSources :
    Source catalog containing candidates

Definition at line 1115 of file utils.py.

◆ getPsfFwhm()

def lsst.ip.diffim.utils.getPsfFwhm (   psf,
  average = True 
)
Directly calculate the horizontal and vertical widths
of a PSF at half its maximum value.

Parameters
----------
psf : `lsst.afw.detection.Psf`
    Point spread function (PSF) to evaluate.
average : `bool`, optional
    Set to return the average width.

Returns
-------
psfSize : `float`, or `tuple` of `float`
    The FWHM of the PSF computed at its average position.
    Returns the widths along the Y and X axes,
    or the average of the two if `average` is set.

Definition at line 1083 of file utils.py.

◆ makeFakeWcs()

def lsst.ip.diffim.utils.makeFakeWcs ( )
Make a fake, affine Wcs.

Definition at line 1147 of file utils.py.

◆ makeRegions()

def lsst.ip.diffim.utils.makeRegions (   sources,
  outfilename,
  wcs = None 
)
Create regions file for display from input source list.

Definition at line 861 of file utils.py.

◆ makeStats()

def lsst.ip.diffim.utils.makeStats (   badMaskPlanes = None)
Create a statistics control for configuring calculations on images.

Parameters
----------
badMaskPlanes : `list` of `str`, optional
    List of mask planes to exclude from calculations.

Returns
-------
statsControl : ` lsst.afw.math.StatisticsControl`
    Statistics control object for configuring calculations on images.

Definition at line 1248 of file utils.py.

◆ makeTestImage()

def lsst.ip.diffim.utils.makeTestImage (   seed = 5,
  nSrc = 20,
  psfSize = 2.,
  noiseLevel = 5.,
  noiseSeed = 6,
  fluxLevel = 500.,
  fluxRange = 2.,
  kernelSize = 32,
  templateBorderSize = 0,
  background = None,
  xSize = 256,
  ySize = 256,
  x0 = 12345,
  y0 = 67890,
  calibration = 1.,
  doApplyCalibration = False 
)
Make a reproduceable PSF-convolved exposure for testing.

Parameters
----------
seed : `int`, optional
    Seed value to initialize the random number generator for sources.
nSrc : `int`, optional
    Number of sources to simulate.
psfSize : `float`, optional
    Width of the PSF of the simulated sources, in pixels.
noiseLevel : `float`, optional
    Standard deviation of the noise to add to each pixel.
noiseSeed : `int`, optional
    Seed value to initialize the random number generator for noise.
fluxLevel : `float`, optional
    Reference flux of the simulated sources.
fluxRange : `float`, optional
    Range in flux amplitude of the simulated sources.
kernelSize : `int`, optional
    Size in pixels of the kernel for simulating sources.
templateBorderSize : `int`, optional
    Size in pixels of the image border used to pad the image.
background : `lsst.afw.math.Chebyshev1Function2D`, optional
    Optional background to add to the output image.
xSize, ySize : `int`, optional
    Size in pixels of the simulated image.
x0, y0 : `int`, optional
    Origin of the image.
calibration : `float`, optional
    Conversion factor between instFlux and nJy.
doApplyCalibration : `bool`, optional
    Apply the photometric calibration and return the image in nJy?

Returns
-------
modelExposure : `lsst.afw.image.Exposure`
    The model image, with the mask and variance planes.
sourceCat : `lsst.afw.table.SourceCatalog`
    Catalog of sources detected on the model image.

Definition at line 1157 of file utils.py.

◆ plotKernelCoefficients()

def lsst.ip.diffim.utils.plotKernelCoefficients (   spatialKernel,
  kernelCellSet,
  showBadCandidates = False,
  keepPlots = True 
)
Plot the individual kernel candidate and the spatial kernel solution coefficients.

Parameters
----------

spatialKernel : `lsst.afw.math.LinearCombinationKernel`
    The spatial spatialKernel solution model which is a spatially varying linear combination
    of the spatialKernel basis functions.
    Typically returned by `lsst.ip.diffim.SpatialKernelSolution.getSolutionPair()`.

kernelCellSet : `lsst.afw.math.SpatialCellSet`
    The spatial cells that was used for solution for the spatialKernel. They contain the
    local solutions of the AL kernel for the selected sources.

showBadCandidates : `bool`, optional
    If True, plot the coefficient values for kernel candidates where the solution was marked
    bad by the numerical algorithm. Defaults to False.

keepPlots: `bool`, optional
    If True, sets ``plt.show()`` to be called before the task terminates, so that the plots
    can be explored interactively. Defaults to True.

Notes
-----
This function produces 3 figures per image subtraction operation.
* A grid plot of the local solutions. Each grid cell corresponds to a proportional area in
  the image. In each cell, local kernel solution coefficients are plotted of kernel candidates (color)
  that fall into this area as a function of the kernel basis function number.
* A grid plot of the spatial solution. Each grid cell corresponds to a proportional area in
  the image. In each cell, the spatial solution coefficients are evaluated for the center of the cell.
* Histogram of the local solution coefficients. Red line marks the spatial solution value at
  center of the image.

This function is called if ``lsst.ip.diffim.psfMatch.plotKernelCoefficients==True`` in lsstDebug. This
function was implemented as part of DM-17825.

Definition at line 428 of file utils.py.

◆ plotKernelSpatialModel()

def lsst.ip.diffim.utils.plotKernelSpatialModel (   kernel,
  kernelCellSet,
  showBadCandidates = True,
  numSample = 128,
  keepPlots = True,
  maxCoeff = 10 
)
Plot the Kernel spatial model.

Definition at line 278 of file utils.py.

◆ plotPixelResiduals()

def lsst.ip.diffim.utils.plotPixelResiduals (   exposure,
  warpedTemplateExposure,
  diffExposure,
  kernelCellSet,
  kernel,
  background,
  testSources,
  config,
  origVariance = False,
  nptsFull = 1e6,
  keepPlots = True,
  titleFs = 14 
)
Plot diffim residuals for LOCAL and SPATIAL models.

Definition at line 670 of file utils.py.

◆ plotWhisker()

def lsst.ip.diffim.utils.plotWhisker (   results,
  newWcs 
)
Plot whisker diagram of astromeric offsets between results.matches.

Definition at line 890 of file utils.py.

◆ printSkyDiffs()

def lsst.ip.diffim.utils.printSkyDiffs (   sources,
  wcs 
)
Print differences in sky coordinates.

The difference is that between the source Position and its Centroid mapped
through Wcs.

Definition at line 846 of file utils.py.

◆ showDiaSources()

def lsst.ip.diffim.utils.showDiaSources (   sources,
  exposure,
  isFlagged,
  isDipole,
  frame = None 
)
Display Dia Sources.

Definition at line 106 of file utils.py.

◆ showKernelBasis()

def lsst.ip.diffim.utils.showKernelBasis (   kernel,
  frame = None 
)
Display a Kernel's basis images.

Definition at line 260 of file utils.py.

◆ showKernelCandidates()

def lsst.ip.diffim.utils.showKernelCandidates (   kernelCellSet,
  kernel,
  background,
  frame = None,
  showBadCandidates = True,
  resids = False,
  kernels = False 
)
Display the Kernel candidates.

If kernel is provided include spatial model and residuals;
If chi is True, generate a plot of residuals/sqrt(variance), i.e. chi.

Definition at line 142 of file utils.py.

◆ showKernelMosaic()

def lsst.ip.diffim.utils.showKernelMosaic (   bbox,
  kernel,
  nx = 7,
  ny = None,
  frame = None,
  title = None,
  showCenter = True,
  showEllipticity = True 
)
Show a mosaic of Kernel images.

Definition at line 587 of file utils.py.

◆ showKernelSpatialCells()

def lsst.ip.diffim.utils.showKernelSpatialCells (   maskedIm,
  kernelCellSet,
  showChi2 = False,
  symb = "o",
  ctype = None,
  ctypeUnused = None,
  ctypeBad = None,
  size = 3,
  frame = None,
  title = "Spatial Cells" 
)
Show the SpatialCells.

If symb is something that display.dot understands (e.g. "o"), the top
nMaxPerCell candidates will be indicated with that symbol, using ctype
and size.

Definition at line 67 of file utils.py.

◆ showSourceSet()

def lsst.ip.diffim.utils.showSourceSet (   sSet,
  xy0 = (0, 0),
  frame = 0,
  ctype = afwDisplay.GREEN,
  symb = "+",
  size = 2 
)
Draw the (XAstrom, YAstrom) positions of a set of Sources.

Image has the given XY0.

Definition at line 47 of file utils.py.

◆ showSourceSetSky()

def lsst.ip.diffim.utils.showSourceSetSky (   sSet,
  wcs,
  xy0,
  frame = 0,
  ctype = afwDisplay.GREEN,
  symb = "+",
  size = 2 
)
Draw the (RA, Dec) positions of a set of Sources. Image has the XY0.

Definition at line 878 of file utils.py.

Variable Documentation

◆ keptPlots

bool lsst.ip.diffim.utils.keptPlots = False

Definition at line 44 of file utils.py.