MakeTestRawVisitInfo

class lsst.obs.test.MakeTestRawVisitInfo(log=None)

Bases: lsst.obs.base.MakeRawVisitInfo

Make a VisitInfo from the FITS header of a test image.

Notes

Since the test data is extracted from LSST Sim data, this is a copy of MakeLsstSimRawVisitInfo (using a copy avoids undesireable dependencies).

Attributes Summary

observatory

Methods Summary

__call__(md, exposureId) Construct a VisitInfo and strip associated data from the metadata.
altitudeFromZenithDistance(zd) Convert zenith distance to altitude (lsst.afw.geom.Angle)
centigradeFromKelvin(tempK) Convert temperature from Kelvin to Centigrade
defaultMetadata(value, defaultValue[, …]) Return the value if it is not NaN and within min/max, otherwise return defaultValue.
eraFromLstAndLongitude(lst, longitude) Return an approximate Earth Rotation Angle (afw:Angle) computed from local sidereal time and longitude (both as afw:Angle; Longitude shares the afw:Observatory covention: positive values are E of Greenwich).
getDarkTime(argDict) Get the darkTime from the DARKTIME keyword, else expTime, else NaN,
getDateAvg(md, exposureTime) Return date at the middle of the exposure.
offsetDate(date, offsetSec) Return a date offset by a specified number of seconds.
pascalFromMBar(mbar) Convert pressure from millibars to Pascals
pascalFromMmHg(mmHg) Convert pressure from mm Hg to Pascals
pascalFromTorr(torr) Convert pressure from torr to Pascals
popAngle(md, key[, units]) Pop an lsst.afw.geom.Angle, whose metadata is in the specified units, with a default of Nan
popFloat(md, key) Pop a float with a default of NaN.
popIsoDate(md, key[, timesys]) Pop a FITS ISO date as an lsst.daf.base.DateTime
popItem(md, key[, default]) Remove an item of metadata and return the value.
popMjdDate(md, key[, timesys]) Get a FITS MJD date as an lsst.daf.base.DateTime.
setArgDict(md, argDict) Set an argument dict for VisitInfo and pop associated metadata.

Attributes Documentation

observatory = -30.2446W, -70.7494N 2663

Methods Documentation

__call__(md, exposureId)

Construct a VisitInfo and strip associated data from the metadata.

Parameters:
md : lsst.daf.base.PropertyList or lsst.daf.base.PropertySet

Metadata to pull from. Items that are used are stripped from the metadata (except TIMESYS, because it may apply to other keywords).

exposureId : int

exposure ID

Notes

The basic implementation sets date and exposureTime using typical values found in FITS files and logs a warning if neither can be set.

static altitudeFromZenithDistance(zd)

Convert zenith distance to altitude (lsst.afw.geom.Angle)

static centigradeFromKelvin(tempK)

Convert temperature from Kelvin to Centigrade

static defaultMetadata(value, defaultValue, minimum=None, maximum=None)

Return the value if it is not NaN and within min/max, otherwise return defaultValue.

Parameters:
value : float

metadata value returned by popItem, popFloat, or popAngle

defaultValue : float`

default value to use if the metadata value is invalid

minimum : float

Minimum possible valid value, optional

maximum : float

Maximum possible valid value, optional

Returns:
`float`

The “validated” value.

static eraFromLstAndLongitude(lst, longitude)

Return an approximate Earth Rotation Angle (afw:Angle) computed from local sidereal time and longitude (both as afw:Angle; Longitude shares the afw:Observatory covention: positive values are E of Greenwich).

NOTE: if we properly compute ERA via UT1 a la DM-8053, we should remove this method.

getDarkTime(argDict)

Get the darkTime from the DARKTIME keyword, else expTime, else NaN,

If dark time is available then subclasses should call this method by putting the following in their __init__ method:

argDict['darkTime'] = self.getDarkTime(argDict)
Parameters:
argdict : dict

Dict of arguments.

Returns:
`float`

Dark time, as inferred from the metadata.

getDateAvg(md, exposureTime)

Return date at the middle of the exposure.

Parameters:
md : lsst.daf.base.PropertySet

Image metadata.

exposureTime : float

Exposure time, in sec

Returns:
dateAvg : lsst.daf.base.DateTime

Date at middle of the exposure, or lsst.daf.base.DateTime() if the metadata item TAI is not found.

offsetDate(date, offsetSec)

Return a date offset by a specified number of seconds.

date : lsst.daf.base.DateTime
Date baseline to offset from.
offsetSec : float
Offset, in seconds.
Returns:
`lsst.daf.base.DateTime`

The offset date.

static pascalFromMBar(mbar)

Convert pressure from millibars to Pascals

static pascalFromMmHg(mmHg)

Convert pressure from mm Hg to Pascals

Notes

Could use the following, but astropy.units.cds is not fully compatible with Python 2 as of astropy 1.2.1 (see https://github.com/astropy/astropy/issues/5350#issuecomment-248612824): astropy.units.cds.mmHg.to(astropy.units.pascal, mmHg)

static pascalFromTorr(torr)

Convert pressure from torr to Pascals

popAngle(md, key, units=Unit("deg"))

Pop an lsst.afw.geom.Angle, whose metadata is in the specified units, with a default of Nan

The angle may be specified as a float or sexagesimal string with 1-3 fields.

Parameters:
md : lsst.daf.base.PropertyList or PropertySet

Metadata to pull key from and remove.

key : str

Key to read and remove from md.

Returns:
`lsst.afw.geom.Angle`

Value of the requested key as an angle; Angle(NaN) if the key is not found.

popFloat(md, key)

Pop a float with a default of NaN.

Parameters:
md : lsst.daf.base.PropertyList or PropertySet

Metadata to pull key from and remove.

key : str

Key to read and remove from md.

Returns:
`float`

Value of the requested key as a float; float(“nan”) if the key is not found.

popIsoDate(md, key, timesys=None)

Pop a FITS ISO date as an lsst.daf.base.DateTime

Parameters:
md : lsst.daf.base.PropertyList or PropertySet

Metadata to pull key from and remove.

key : str

Date key to read and remove from md.

timesys : str

Time system as a string (not case sensitive), e.g. “UTC” or None; if None then look for TIMESYS (but do NOT pop it, since it may be used for more than one date) and if not found, use UTC.

Returns:
`lsst.daf.base.DateTime`

Value of the requested date; DateTime() if the key is not found.

popItem(md, key, default=None)

Remove an item of metadata and return the value.

Log a warning if the key is not found.

Parameters:
md : lsst.daf.base.PropertyList or PropertySet

Metadata to pull key from and remove.

key : str

Metadata key to extract.

default : object

Value to return if key not found.

Returns:
`object`

The value of the specified key, using whatever type md.getScalar(key) returns.

popMjdDate(md, key, timesys=None)

Get a FITS MJD date as an lsst.daf.base.DateTime.

Parameters:
md : lsst.daf.base.PropertyList or PropertySet

Metadata to pull key from and remove.

key : str

Date key to read and remove from md.

timesys : str

Time system as a string (not case sensitive), e.g. “UTC” or None; if None then look for TIMESYS (but do NOT pop it, since it may be used for more than one date) and if not found, use UTC.

Returns:
`lsst.daf.base.DateTime`

Value of the requested date; DateTime() if the key is not found.

setArgDict(md, argDict)

Set an argument dict for VisitInfo and pop associated metadata.

Parameters:
md : lsst.daf.base.PropertySet

Image metadata.

argDict : dict

A dict of arguments for the lsst.afw.image.VisitInfo constructor. Updated by this call.

Returns:
visitInfo : lsst.afw.image.VisitInfo

Visit information.