lsst.pipe.tasks g83996f0134+85c85f2fc3
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
lsst.pipe.tasks.maskStreaks.MaskStreaksTask Class Reference
Inheritance diagram for lsst.pipe.tasks.maskStreaks.MaskStreaksTask:

Public Member Functions

 find (self, maskedImage)
 
 run (self, maskedImage)
 

Public Attributes

 edges
 
 lines
 

Static Public Attributes

 ConfigClass = MaskStreaksConfig
 

Protected Member Functions

 _cannyFilter (self, image)
 
 _runKHT (self, image)
 
 _findClusters (self, lines)
 
 _fitProfile (self, lines, maskedImage)
 

Static Protected Attributes

str _DefaultName = "maskStreaks"
 

Detailed Description

Find streaks or other straight lines in image data.

Nearby objects passing through the field of view of the telescope leave a
bright trail in images. This class uses the Kernel Hough Transform (KHT)
(Fernandes and Oliveira, 2007), implemented in `lsst.houghtransform`. The
procedure works by taking a binary image, either provided as put or produced
from the input data image, using a Canny filter to make an image of the
edges in the original image, then running the KHT on the edge image. The KHT
identifies clusters of non-zero points, breaks those clusters of points into
straight lines, keeps clusters with a size greater than the user-set
threshold, then performs a voting procedure to find the best-fit coordinates
of any straight lines. Given the results of the KHT algorithm, clusters of
lines are identified and grouped (generally these correspond to the two
edges of a strea) and a profile is fit to the streak in the original
(non-binary) image.

Definition at line 518 of file maskStreaks.py.

Member Function Documentation

◆ _cannyFilter()

lsst.pipe.tasks.maskStreaks.MaskStreaksTask._cannyFilter ( self,
image )
protected
Apply a canny filter to the data in order to detect edges.

Parameters
----------
image : `np.ndarray`
    2-d image data on which to run filter.

Returns
-------
cannyData : `np.ndarray`
    2-d image of edges found in input image.

Definition at line 623 of file maskStreaks.py.

◆ _findClusters()

lsst.pipe.tasks.maskStreaks.MaskStreaksTask._findClusters ( self,
lines )
protected
Group lines that are close in parameter space and likely describe
the same streak.

Parameters
----------
lines : `LineCollection`
    Collection of lines to group into clusters.

Returns
-------
result : `LineCollection`
    Average `Line` for each cluster of `Line`s in the input
    `LineCollection`.

Definition at line 663 of file maskStreaks.py.

◆ _fitProfile()

lsst.pipe.tasks.maskStreaks.MaskStreaksTask._fitProfile ( self,
lines,
maskedImage )
protected
Fit the profile of the streak.

Given the initial parameters of detected lines, fit a model for the
streak to the original (non-binary image). The assumed model is a
straight line with a Moffat profile.

Parameters
----------
lines : `LineCollection`
    Collection of guesses for `Line`s detected in the image.
maskedImage : `lsst.afw.image.maskedImage`
    Original image to be used to fit profile of streak.

Returns
-------
lineFits : `LineCollection`
    Collection of `Line` profiles fit to the data.
finalMask : `np.ndarray`
    2d mask array with detected streaks=1.

Definition at line 714 of file maskStreaks.py.

◆ _runKHT()

lsst.pipe.tasks.maskStreaks.MaskStreaksTask._runKHT ( self,
image )
protected
Run Kernel Hough Transform on image.

Parameters
----------
image : `np.ndarray`
    2-d image data on which to detect lines.

Returns
-------
result : `LineCollection`
    Collection of detected lines, with their detected rho and theta
    coordinates.

Definition at line 641 of file maskStreaks.py.

◆ find()

lsst.pipe.tasks.maskStreaks.MaskStreaksTask.find ( self,
maskedImage )
Find streaks in a masked image.

Parameters
----------
maskedImage : `lsst.afw.image.maskedImage`
    The image in which to search for streaks.

Returns
-------
result : `lsst.pipe.base.Struct`
    Results as a struct with attributes:

    ``originalLines``
        Lines identified by kernel hough transform.
    ``lineClusters``
        Lines grouped into clusters in rho-theta space.
    ``lines``
        Final result for lines after line-profile fit.
    ``mask``
        2-d boolean mask where detected lines are True.

Definition at line 540 of file maskStreaks.py.

◆ run()

lsst.pipe.tasks.maskStreaks.MaskStreaksTask.run ( self,
maskedImage )
Find and mask streaks in a masked image.

Finds streaks in the image and modifies maskedImage in place by adding a
mask plane with any identified streaks.

Parameters
----------
maskedImage : `lsst.afw.image.maskedImage`
    The image in which to search for streaks. The mask detection plane
    corresponding to `config.detectedMaskPlane` must be set with the
    detected pixels.

Returns
-------
result : `lsst.pipe.base.Struct`
    Results as a struct with attributes:

    ``originalLines``
        Lines identified by kernel hough transform.
    ``lineClusters``
        Lines grouped into clusters in rho-theta space.
    ``lines``
        Final result for lines after line-profile fit.

Definition at line 587 of file maskStreaks.py.

Member Data Documentation

◆ _DefaultName

str lsst.pipe.tasks.maskStreaks.MaskStreaksTask._DefaultName = "maskStreaks"
staticprotected

Definition at line 537 of file maskStreaks.py.

◆ ConfigClass

lsst.pipe.tasks.maskStreaks.MaskStreaksTask.ConfigClass = MaskStreaksConfig
static

Definition at line 536 of file maskStreaks.py.

◆ edges

lsst.pipe.tasks.maskStreaks.MaskStreaksTask.edges

Definition at line 565 of file maskStreaks.py.

◆ lines

lsst.pipe.tasks.maskStreaks.MaskStreaksTask.lines

Definition at line 566 of file maskStreaks.py.


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