lsst.pipe.tasks g8b9e2231ea+fa07cb600e
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

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

Public Attributes

 edges
 
 lines
 

Static Public Attributes

MaskStreaksConfig ConfigClass = MaskStreaksConfig
 

Protected Member Functions

def _cannyFilter (self, image)
 
def _runKHT (self, image)
 
def _findClusters (self, lines)
 
def _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 508 of file maskStreaks.py.

Member Function Documentation

◆ _cannyFilter()

def 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 606 of file maskStreaks.py.

◆ _findClusters()

def 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 643 of file maskStreaks.py.

◆ _fitProfile()

def 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 693 of file maskStreaks.py.

◆ _runKHT()

def 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 622 of file maskStreaks.py.

◆ find()

def 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`
    Result struct with components:

    - ``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 530 of file maskStreaks.py.

◆ run()

def 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`
    Result struct with components:

    - ``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 573 of file maskStreaks.py.

Member Data Documentation

◆ _DefaultName

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

Definition at line 527 of file maskStreaks.py.

◆ ConfigClass

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

Definition at line 526 of file maskStreaks.py.

◆ edges

lsst.pipe.tasks.maskStreaks.MaskStreaksTask.edges

Definition at line 551 of file maskStreaks.py.

◆ lines

lsst.pipe.tasks.maskStreaks.MaskStreaksTask.lines

Definition at line 552 of file maskStreaks.py.


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