lsst.ip.diffim g47cf500ddd+6bfc5ab05d
|
Public Member Functions | |
__init__ (self) | |
makeBackgroundModel (self, in_x, pars=None) | |
fitFootprintBackground (self, source, posImage, order=1) | |
makeStarModel (self, bbox, psf, xcen, ycen, flux) | |
makeModel (self, x, flux, xcenPos, ycenPos, xcenNeg, ycenNeg, fluxNeg=None, b=None, x1=None, y1=None, xy=None, x2=None, y2=None, bNeg=None, x1Neg=None, y1Neg=None, xyNeg=None, x2Neg=None, y2Neg=None, **kwargs) | |
Public Attributes | |
debug | |
log | |
Protected Member Functions | |
_generateXYGrid (self, bbox) | |
_getHeavyFootprintSubimage (self, fp, badfill=np.nan, grow=0) | |
Lightweight class containing methods for generating a dipole model for fitting to sources in diffims, used by DipoleFitAlgorithm. See also: `DMTN-007: Dipole characterization for image differencing <https://dmtn-007.lsst.io>`_.
Definition at line 187 of file dipoleFitTask.py.
lsst.ip.diffim.dipoleFitTask.DipoleModel.__init__ | ( | self | ) |
Definition at line 195 of file dipoleFitTask.py.
|
protected |
Generate a meshgrid covering the x,y coordinates bounded by bbox Parameters ---------- bbox : `lsst.geom.Box2I` input Bounding Box defining the coordinate limits Returns ------- in_x : `numpy.array` (2, w, h)-dimensional numpy array containing the grid indexing over x- and y- coordinates
Definition at line 243 of file dipoleFitTask.py.
|
protected |
Extract the image from a ``~lsst.afw.detection.HeavyFootprint`` as an `lsst.afw.image.ImageF`. Parameters ---------- fp : `lsst.afw.detection.HeavyFootprint` HeavyFootprint to use to generate the subimage badfill : `float`, optional Value to fill in pixels in extracted image that are outside the footprint grow : `int` Optionally grow the footprint by this amount before extraction Returns ------- subim2 : `lsst.afw.image.ImageF` An `~lsst.afw.image.ImageF` containing the subimage.
Definition at line 264 of file dipoleFitTask.py.
lsst.ip.diffim.dipoleFitTask.DipoleModel.fitFootprintBackground | ( | self, | |
source, | |||
posImage, | |||
order = 1 |
|||
) |
Fit a linear (polynomial) model of given order (max 2) to the background of a footprint. Only fit the pixels OUTSIDE of the footprint, but within its bounding box. Parameters ---------- source : `lsst.afw.table.SourceRecord` SourceRecord, the footprint of which is to be fit posImage : `lsst.afw.image.Exposure` The exposure from which to extract the footprint subimage order : `int` Polynomial order of background gradient to fit. Returns ------- pars : `tuple` of `float` `tuple` of length (1 if order==0; 3 if order==1; 6 if order == 2), containing the resulting fit parameters
Definition at line 290 of file dipoleFitTask.py.
lsst.ip.diffim.dipoleFitTask.DipoleModel.makeBackgroundModel | ( | self, | |
in_x, | |||
pars = None |
|||
) |
Generate gradient model (2-d array) with up to 2nd-order polynomial Parameters ---------- in_x : `numpy.array` (2, w, h)-dimensional `numpy.array`, containing the input x,y meshgrid providing the coordinates upon which to compute the gradient. This will typically be generated via `_generateXYGrid()`. `w` and `h` correspond to the width and height of the desired grid. pars : `list` of `float`, optional Up to 6 floats for up to 6 2nd-order 2-d polynomial gradient parameters, in the following order: (intercept, x, y, xy, x**2, y**2). If `pars` is emtpy or `None`, do nothing and return `None` (for speed). Returns ------- result : `None` or `numpy.array` return None, or 2-d numpy.array of width/height matching input bbox, containing computed gradient values.
Definition at line 200 of file dipoleFitTask.py.
lsst.ip.diffim.dipoleFitTask.DipoleModel.makeModel | ( | self, | |
x, | |||
flux, | |||
xcenPos, | |||
ycenPos, | |||
xcenNeg, | |||
ycenNeg, | |||
fluxNeg = None , |
|||
b = None , |
|||
x1 = None , |
|||
y1 = None , |
|||
xy = None , |
|||
x2 = None , |
|||
y2 = None , |
|||
bNeg = None , |
|||
x1Neg = None , |
|||
y1Neg = None , |
|||
xyNeg = None , |
|||
x2Neg = None , |
|||
y2Neg = None , |
|||
** | kwargs | ||
) |
Generate dipole model with given parameters. This is the function whose sum-of-squared difference from data is minimized by `lmfit`. x : TODO: DM-17458 Input independent variable. Used here as the grid on which to compute the background gradient model. flux : `float` Desired flux of the positive lobe of the dipole xcenPos, ycenPos : `float` Desired x,y-centroid of the positive lobe of the dipole xcenNeg, ycenNeg : `float` Desired x,y-centroid of the negative lobe of the dipole fluxNeg : `float`, optional Desired flux of the negative lobe of the dipole, set to 'flux' if None b, x1, y1, xy, x2, y2 : `float` Gradient parameters for positive lobe. bNeg, x1Neg, y1Neg, xyNeg, x2Neg, y2Neg : `float`, optional Gradient parameters for negative lobe. They are set to the corresponding positive values if None. **kwargs : `dict` [`str`] Keyword arguments passed through ``lmfit`` and used by this function. These must include: - ``psf`` Psf model used to generate the 'star' - ``rel_weight`` Used to signify least-squares weighting of posImage/negImage relative to diffim. If ``rel_weight == 0`` then posImage/negImage are ignored. - ``bbox`` Bounding box containing region to be modelled Returns ------- zout : `numpy.array` Has width and height matching the input bbox, and contains the dipole model with given centroids and flux(es). If ``rel_weight`` = 0, this is a 2-d array with dimensions matching those of bbox; otherwise a stack of three such arrays, representing the dipole (diffim), positive, and negative images respectively.
Definition at line 391 of file dipoleFitTask.py.
lsst.ip.diffim.dipoleFitTask.DipoleModel.makeStarModel | ( | self, | |
bbox, | |||
psf, | |||
xcen, | |||
ycen, | |||
flux | |||
) |
Generate a 2D image model of a single PDF centered at the given coordinates. Parameters ---------- bbox : `lsst.geom.Box` Bounding box marking pixel coordinates for generated model psf : TODO: DM-17458 Psf model used to generate the 'star' xcen : `float` Desired x-centroid of the 'star' ycen : `float` Desired y-centroid of the 'star' flux : `float` Desired flux of the 'star' Returns ------- p_Im : `lsst.afw.image.Image` 2-d stellar image of width/height matching input ``bbox``, containing PSF with given centroid and flux
Definition at line 348 of file dipoleFitTask.py.
lsst.ip.diffim.dipoleFitTask.DipoleModel.debug |
Definition at line 197 of file dipoleFitTask.py.
lsst.ip.diffim.dipoleFitTask.DipoleModel.log |
Definition at line 198 of file dipoleFitTask.py.