SingleFrameNaiveTrailPlugin

class lsst.meas.extensions.trailedSources.SingleFrameNaiveTrailPlugin(config, name, schema, metadata, logName=None)

Bases: SingleFramePlugin

Naive trailed source measurement plugin

Measures the length, angle from +x-axis, and end points of an extended source using the second moments.

Parameters:
config: `SingleFrameNaiveTrailConfig`

Plugin configuration.

name: `str`

Plugin name.

schema: `lsst.afw.table.Schema`

Schema for the output catalog.

metadata: `lsst.daf.base.PropertySet`

Metadata to be attached to output catalog.

Notes

This measurement plugin aims to utilize the already measured adaptive second moments to naively estimate the length and angle, and thus end-points, of a fast-moving, trailed source. The length is solved for via finding the root of the difference between the numerical (stack computed) and the analytic adaptive second moments. The angle, theta, from the x-axis is also computed via adaptive moments: theta = arctan(2*Ixy/(Ixx - Iyy))/2. The end points of the trail are then given by (xc +/- (length/2)*cos(theta) and yc +/- (length/2)*sin(theta)), with xc and yc being the centroid coordinates.

Attributes Summary

APCORR_ORDER

Order for algorithms which require shape, centroid and flux (float).

CENTROID_ORDER

Order for algorithms which require only Footprint and Peaks (float).

DEFAULT_CATALOGCALCULATION

Order for catalog calculation plugins.

FLUX_ORDER

Order for algorithms which require a shape and a centroid (float).

SHAPE_ORDER

Order for algorithms which require a centroid (float).

registry

Registry of subclasses of SingleFramePlugin (PluginRegistry).

Methods Summary

check_trail(measRecord, exposure, x0, y0, ...)

Set flags for edge pixels, off chip, and nan trail coordinates and flag if trail length is three times larger than psf.

computeLength(Ixx, Iyy)

Compute the length of a trail, given unweighted second-moments.

computeRaDec(exposure, x, y)

Convert pixel coordinates to RA and Dec.

fail(measRecord[, error])

Record failure

findLength(Ixx, Iyy)

Find the length of a trail, given adaptive second-moments.

getExecutionOrder()

Get the relative execution order of this plugin.

getLogName()

getTransformClass()

Get the measurement transformation appropriate to this plugin.

measure(measRecord, exposure)

Run the Naive trailed source measurement algorithm.

measureN(measCat, exposure)

Measure the properties of blended sources on a single image.

Attributes Documentation

APCORR_ORDER = 3.0

Order for algorithms which require shape, centroid and flux (float).

Notes

These algorithms may assume that getCentroid and getShape will return good values, that flux has been measured, and that and that a Footprint and its Peaks are available.

CENTROID_ORDER = 0.0

Order for algorithms which require only Footprint and Peaks (float).

Notes

Algorithms with this execution order include centroids.

DEFAULT_CATALOGCALCULATION = 4.0

Order for catalog calculation plugins.

Notes

These plugins only operate on catalogs; they may not access pixel values.

FLUX_ORDER = 2.0

Order for algorithms which require a shape and a centroid (float).

Notes

These algorithms may assume that both getCentroid and getShape will return good values, and that a Footprint and its Peaks are available.

SHAPE_ORDER = 1.0

Order for algorithms which require a centroid (float).

Notes

These algorithms may refer assume that getCentroid will return a good centroid, and that a Footprint and its Peaks are available.

registry = <lsst.meas.base.pluginRegistry.PluginRegistry object>

Registry of subclasses of SingleFramePlugin (PluginRegistry).

Methods Documentation

check_trail(measRecord, exposure, x0, y0, x1, y1, length)

Set flags for edge pixels, off chip, and nan trail coordinates and flag if trail length is three times larger than psf.

Check if the coordinates of the beginning and ending of the trail fall inside the exposures bounding box. If not, set the off_chip flag. If the beginning or ending falls within a pixel marked as edge, set the edge flag. If any of the coordinates happens to fall on a nan, then set the nan flag. Additionally, check if the trail is three times larger than the psf. If so, set the suspect trail flag.

Parameters:
measRecord: `lsst.afw.MeasurementRecord`

Record describing the object being measured.

exposure: `lsst.afw.Exposure`

Pixel data to be measured.

x0: `float`

x coordinate of the beginning of the trail.

y0: `float`

y coordinate of the beginning of the trail.

x1: `float`

x coordinate of the end of the trail.

y1: `float`

y coordinate of the end of the trail.

static computeLength(Ixx, Iyy)

Compute the length of a trail, given unweighted second-moments.

static computeRaDec(exposure, x, y)

Convert pixel coordinates to RA and Dec.

Parameters:
exposurelsst.afw.image.ExposureF

Exposure object containing the WCS.

xfloat

x coordinate of the trail centroid

yfloat

y coodinate of the trail centroid

Returns:
rafloat

Right ascension.

decfloat

Declination.

fail(measRecord, error=None)

Record failure

classmethod findLength(Ixx, Iyy)

Find the length of a trail, given adaptive second-moments.

Uses a root finder to compute the length of a trail corresponding to the adaptive second-moments computed by previous measurements (ie. SdssShape).

Parameters:
Ixxfloat

Adaptive second-moment along x-axis.

Iyyfloat

Adaptive second-moment along y-axis.

Returns:
lengthfloat

Length of the trail.

resultsscipy.optimize.RootResults

Contains messages about convergence from the root finder.

classmethod getExecutionOrder()

Get the relative execution order of this plugin.

Must be reimplemented as a class method by concrete derived classes.

getLogName()
static getTransformClass()

Get the measurement transformation appropriate to this plugin.

This returns a subclass of transforms.MeasurementTransform, which may be instantiated with details of the algorithm configuration and then called with information about calibration and WCS to convert from raw measurement quantities to calibrated units. Calibrated data is then provided in a separate output table.

Notes

By default, we copy everything from the input to the output without transformation.

measure(measRecord, exposure)

Run the Naive trailed source measurement algorithm.

Parameters:
measRecordlsst.afw.table.SourceRecord

Record describing the object being measured.

exposurelsst.afw.image.Exposure

Pixel data to be measured.

measureN(measCat, exposure)

Measure the properties of blended sources on a single image.

This operates on all members of a blend family at once. The image may be from a single epoch, or it may be a coadd.

Parameters:
measCatlsst.afw.table.SourceCatalog

Catalog describing the objects (and only those objects) being measured. Previously-measured quantities will be retrieved from here, and it will be updated in-place with the outputs of this plugin.

exposurelsst.afw.image.ExposureF

The pixel data to be measured, together with the associated PSF, WCS, etc. All other sources in the image should have been replaced by noise according to deblender outputs.

Notes

Derived classes that do not implement measureN should just inherit this disabled version. Derived classes that do implement measureN should additionally add a bool doMeasureN config field to their config class to signal that measureN-mode is available.