DipoleFitAlgorithm¶
- class lsst.ip.diffim.DipoleFitAlgorithm(diffim, posImage=None, negImage=None)¶
Bases:
object
Fit a dipole model using an image difference.
See also: DMTN-007: Dipole characterization for image differencing.
Methods Summary
displayFitResults
(footprint, result)Display data, model fits and residuals (currently uses matplotlib display functions).
fitDipole
(source[, tol, rel_weight, ...])Fit a dipole model to an input
diaSource
(wrapsfitDipoleImpl
).fitDipoleImpl
(source[, tol, rel_weight, ...])Fit a dipole model to an input difference image.
Methods Documentation
- displayFitResults(footprint, result)¶
Display data, model fits and residuals (currently uses matplotlib display functions).
- Parameters:
- footprintTODO: DM-17458
Footprint containing the dipole that was fit
- result
lmfit.MinimizerResult
lmfit.MinimizerResult
object returned bylmfit
optimizer
- Returns:
- fitDipole(source, tol=1e-07, rel_weight=0.1, fitBackground=1, maxSepInSigma=5.0, separateNegParams=True, bgGradientOrder=1, verbose=False, display=False)¶
Fit a dipole model to an input
diaSource
(wrapsfitDipoleImpl
).Actually, fits the subimage bounded by the input source’s footprint) and optionally constrain the fit using the pre-subtraction images self.posImage (science) and self.negImage (template). Wraps the output into a
pipeBase.Struct
named tuple after computing additional statistics such as orientation and SNR.- Parameters:
- source
lsst.afw.table.SourceRecord
Record containing the (merged) dipole source footprint detected on the diffim
- tol
float
, optional Tolerance parameter for scipy.leastsq() optimization
- rel_weight
float
, optional Weighting of posImage/negImage relative to the diffim in the fit
- fitBackground
int
, {0, 1, 2}, optional How to fit linear background gradient in posImage/negImage
0: do not fit background at all
1 (default): pre-fit the background using linear least squares and then do not fit it as part of the dipole fitting optimization
2: pre-fit the background using linear least squares (as in 1), and use the parameter estimates from that fit as starting parameters for an integrated “re-fit” of the background as part of the overall dipole fitting optimization.
- maxSepInSigma
float
, optional Allowed window of centroid parameters relative to peak in input source footprint
- separateNegParams
bool
, optional Fit separate parameters to the flux and background gradient in
- bgGradientOrder
int
, {0, 1, 2}, optional Desired polynomial order of background gradient
- verbose: `bool`, optional
Be verbose
- display
Display input data, best fit model(s) and residuals in a matplotlib window.
- source
- Returns:
Notes
Parameter
fitBackground
has three options, thus it is an integer:
- fitDipoleImpl(source, tol=1e-07, rel_weight=0.5, fitBackground=1, bgGradientOrder=1, maxSepInSigma=5.0, separateNegParams=True, verbose=False)¶
Fit a dipole model to an input difference image.
Actually, fits the subimage bounded by the input source’s footprint) and optionally constrain the fit using the pre-subtraction images posImage and negImage.
- Parameters:
- sourceTODO: DM-17458
TODO: DM-17458
- tolfloat, optional
TODO: DM-17458
- rel_weight
float
, optional TODO: DM-17458
- fitBackground
int
, optional TODO: DM-17458
- bgGradientOrder
int
, optional TODO: DM-17458
- maxSepInSigma
float
, optional TODO: DM-17458
- separateNegParams
bool
, optional TODO: DM-17458
- verbose
bool
, optional TODO: DM-17458
- Returns:
- result
lmfit.MinimizerResult
return
lmfit.MinimizerResult
object containing the fit parameters and other information.
- result