Curve

class lsst.meas.algorithms.Curve(wavelength, efficiency, metadata)

Bases: abc.ABC

An abstract class to represent an arbitrary curve with interpolation.

Attributes Summary

mode
subclasses

Methods Summary

compare_metadata(other[, keys_to_compare]) Compare metadata in this object to another.
evaluate(detector, position, wavelength[, …]) Interpolate the curve at the specified position and wavelength.
fromTable(table) Class method for constructing a Curve object.
getMetadata() Return metadata
interpolate(wavelengths, values, wavelength, …) Interplate the curve at the specified wavelength(s).
readFits(filename) Class method for constructing a Curve object from the standardized FITS format.
readText(filename) Class method for constructing a Curve object from the standardized text format.
toTable() Convert this Curve object to an astropy.table.QTable.
writeFits(filename) Write the Curve out to a FITS file.
writeText(filename) Write the Curve out to a text file.

Attributes Documentation

mode = ''
subclasses = {'AMP': <class 'lsst.meas.algorithms.simple_curve.AmpCurve'>, 'DETECTOR': <class 'lsst.meas.algorithms.simple_curve.DetectorCurve'>, 'IMAGE': <class 'lsst.meas.algorithms.simple_curve.ImageCurve'>}

Methods Documentation

compare_metadata(other, keys_to_compare=['MODE', 'TYPE', 'CALIBDATE', 'INSTRUME', 'OBSTYPE', 'DETECTOR'])

Compare metadata in this object to another.

Parameters:
other : Curve

The object with which to compare metadata.

keys_to_compare : list

List of metadata keys to compare.

Returns:
same : bool

Are the metadata the same?

evaluate(detector, position, wavelength, kind='linear', bounds_error=False, fill_value=0)

Interpolate the curve at the specified position and wavelength.

Parameters:
detector : lsst.afw.cameraGeom.Detector

Is used to find the appropriate curve given the position for curves that vary over the detector. Ignored in the case where there is only a single curve per detector.

position : lsst.geom.Point2D

The position on the detector at which to evaluate the curve.

wavelength : astropy.units.Quantity

The wavelength(s) at which to make the interpolation.

kind : str, optional

The type of interpolation to do (default is ‘linear’). See documentation for scipy.interpolate.interp1d for accepted values.

bounds_error : bool, optional

Raise error if interpolating outside the range of x? (default is False)

fill_value : float, optional

Fill values outside the range of x with this value (default is 0).

Returns:
value : astropy.units.Quantity

Interpolated value(s). Number of values returned will match the length of wavelength.

Raises:
ValueError

If the bounds_error is changed from the default, it will raise a ValueError if evaluating outside the bounds of the curve.

classmethod fromTable(table)

Class method for constructing a Curve object.

Parameters:
table : astropy.table.QTable

Table containing metadata and columns necessary for constructing a Curve object.

Returns:
curve : Curve

A Curve subclass of the appropriate type according to the table metadata

getMetadata()

Return metadata

Returns:
metadata : dict

Dictionary of metadata for this curve.

interpolate(wavelengths, values, wavelength, kind, bounds_error, fill_value)

Interplate the curve at the specified wavelength(s).

Parameters:
wavelengths : astropy.units.Quantity

The wavelength values for the curve.

values : astropy.units.Quantity

The y-values for the curve.

wavelength : astropy.units.Quantity

The wavelength(s) at which to make the interpolation.

kind : str

The type of interpolation to do. See documentation for scipy.interpolate.interp1d for accepted values.

Returns:
value : astropy.units.Quantity

Interpolated value(s)

classmethod readFits(filename)

Class method for constructing a Curve object from the standardized FITS format.

Parameters:
filename : str

Path to the FITS file to read.

Returns:
curve : Curve

A Curve subclass of the appropriate type according to the table metadata

classmethod readText(filename)

Class method for constructing a Curve object from the standardized text format.

Parameters:
filename : str

Path to the text file to read.

Returns:
curve : Curve

A Curve subclass of the appropriate type according to the table metadata

toTable()

Convert this Curve object to an astropy.table.QTable.

Returns:
table : astropy.table.QTable

A table object containing the data from this Curve.

writeFits(filename)

Write the Curve out to a FITS file.

Parameters:
filename : str

Path to the FITS file to write.

Returns:
filename : str

Because this method forces a particular extension return the name of the file actually written.

writeText(filename)

Write the Curve out to a text file.

Parameters:
filename : str

Path to the text file to write.

Returns:
filename : str

Because this method forces a particular extension return the name of the file actually written.