lsst.pipe.tasks g476e09dbfb+03fbf6579f
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
lsst.pipe.tasks.maskStreaks.LineProfile Class Reference

Public Member Functions

def __init__ (self, data, weights, line=None)
 
def setLineMask (self, line)
 
def makeProfile (self, line, fitFlux=True)
 
def fit (self, dChi2Tol=0.1, maxIter=100)
 

Public Attributes

 data
 
 weights
 
 mask
 
 lineMask
 
 lineMaskSize
 

Detailed Description

Construct and/or fit a model for a linear streak.

This assumes a simple model for a streak, in which the streak
follows a straight line in pixels space, with a Moffat-shaped profile. The
model is fit to data using a Newton-Raphson style minimization algorithm.
The initial guess for the line parameters is assumed to be fairly accurate,
so only a narrow band of pixels around the initial line estimate is used in
fitting the model, which provides a significant speed-up over using all the
data. The class can also be used just to construct a model for the data with
a line following the given coordinates.

Parameters
----------
data : `np.ndarray`
    2d array of data.
weights : `np.ndarray`
    2d array of weights.
line : `Line`, optional
    Guess for position of line. Data far from line guess is masked out.
    Defaults to None, in which case only data with `weights` = 0 is masked
    out.

Definition at line 189 of file maskStreaks.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pipe.tasks.maskStreaks.LineProfile.__init__ (   self,
  data,
  weights,
  line = None 
)

Definition at line 213 of file maskStreaks.py.

Member Function Documentation

◆ fit()

def lsst.pipe.tasks.maskStreaks.LineProfile.fit (   self,
  dChi2Tol = 0.1,
  maxIter = 100 
)
Perform Newton-Raphson minimization to find line parameters.

This method takes advantage of having known derivative and Hessian of
the multivariate function to quickly and efficiently find the minimum.
This is more efficient than the scipy implementation of the Newton-
Raphson method, which doesn't take advantage of the Hessian matrix. The
method here also performs a line search in the direction of the steepest
derivative at each iteration, which reduces the number of iterations
needed.

Parameters
----------
dChi2Tol : `float`, optional
    Change in Chi2 tolerated for fit convergence.
maxIter : `int`, optional
    Maximum number of fit iterations allowed. The fit should converge in
    ~10 iterations, depending on the value of dChi2Tol, but this
    maximum provides a backup.

Returns
-------
outline : `np.ndarray`
    Coordinates and inverse width of fit line.
chi2 : `float`
    Reduced Chi2 of model fit to data.
fitFailure : `bool`
    Boolean where `False` corresponds to a successful  fit.

Definition at line 362 of file maskStreaks.py.

◆ makeProfile()

def lsst.pipe.tasks.maskStreaks.LineProfile.makeProfile (   self,
  line,
  fitFlux = True 
)
Construct the line profile model.

Parameters
----------
line : `Line`
    Parameters of the line profile to model.
fitFlux : `bool`, optional
    Fit the amplitude of the line profile to the data.

Returns
-------
finalModel : `np.ndarray`
    Model for line profile.

Definition at line 308 of file maskStreaks.py.

◆ setLineMask()

def lsst.pipe.tasks.maskStreaks.LineProfile.setLineMask (   self,
  line 
)
Set mask around the image region near the line.

Parameters
----------
line : `Line`
    Parameters of line in the image.

Definition at line 227 of file maskStreaks.py.

Member Data Documentation

◆ data

lsst.pipe.tasks.maskStreaks.LineProfile.data

Definition at line 214 of file maskStreaks.py.

◆ lineMask

lsst.pipe.tasks.maskStreaks.LineProfile.lineMask

Definition at line 240 of file maskStreaks.py.

◆ lineMaskSize

lsst.pipe.tasks.maskStreaks.LineProfile.lineMaskSize

Definition at line 244 of file maskStreaks.py.

◆ mask

lsst.pipe.tasks.maskStreaks.LineProfile.mask

Definition at line 222 of file maskStreaks.py.

◆ weights

lsst.pipe.tasks.maskStreaks.LineProfile.weights

Definition at line 215 of file maskStreaks.py.


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