GenerateDonutDirectDetectTask#

class lsst.ts.wep.task.GenerateDonutDirectDetectTask(**kwargs)#

Bases: PipelineTask

Generate donut template and convolve with the defocal image to detect sources on the detectors for AOS.

Parameters:

kwargs (Any)

Methods Summary

emptyTable()

Return empty donut table if no donuts got detected or selected.

run(exposure, camera)

Run task algorithm on in-memory data.

updateDonutCatalog(donutCat, exposure)

Reorganize the content of donut catalog adding detector column, doing the transpose, and passing the exposure WCS boresight as coord_ra, coord_dec - these columns are required by EstimateZernikes, but not used explicitly downstream.

Methods Documentation

emptyTable()#

Return empty donut table if no donuts got detected or selected.

Returns:

An empty donut table with correct columns.

Return type:

astropy.table.QTable

run(exposure, camera)#

Run task algorithm on in-memory data.

This method should be implemented in a subclass. This method will receive keyword-only arguments whose names will be the same as names of connection fields describing input dataset types. Argument values will be data objects retrieved from data butler. If a dataset type is configured with multiple field set to True then the argument value will be a list of objects, otherwise it will be a single object.

If the task needs to know its input or output DataIds then it also has to override the runQuantum method.

This method should return a Struct whose attributes share the same name as the connection fields describing output dataset types.

Parameters:

**kwargs (Any) – Arbitrary parameters accepted by subclasses.

Returns:

struct – Struct with attribute names corresponding to output connection fields.

Return type:

Struct

Examples

Typical implementation of this method may look like:

def run(self, *, input, calib):
    # "input", "calib", and "output" are the names of the
    # connection fields.

    # Assuming that input/calib datasets are `scalar` they are
    # simple objects, do something with inputs and calibs, produce
    # output image.
    image = self.makeImage(input, calib)

    # If output dataset is `scalar` then return object, not list
    return Struct(output=image)
Parameters:
  • exposure (Exposure)

  • camera (Camera)

updateDonutCatalog(donutCat, exposure)#

Reorganize the content of donut catalog adding detector column, doing the transpose, and passing the exposure WCS boresight as coord_ra, coord_dec - these columns are required by EstimateZernikes, but not used explicitly downstream.

Parameters:
  • donutCat (astropy.table.QTable) – The donut catalog from running DonutDetector, contains columns ‘y_center’, ‘x_center’

  • exposure (lsst.afw.image.Exposure) – Exposure with the donut images.

Returns:

donutCat – Donut catalog with reorganized content.

Return type:

astropy.table.QTable