|
lsst.obs.base
18.1.0-22-gcd16eb0+1
|
Public Member Functions | |
| def | __init__ (self, log=None) |
| def | __call__ (self, md, exposureId) |
| def | setArgDict (self, md, argDict) |
| def | getDateAvg (self, md, exposureTime) |
| def | getDarkTime (self, argDict) |
| def | offsetDate (self, date, offsetSec) |
| def | popItem (self, md, key, default=None) |
| def | popFloat (self, md, key) |
| def | popAngle (self, md, key, units=astropy.units.deg) |
| def | popIsoDate (self, md, key, timesys=None) |
| def | popMjdDate (self, md, key, timesys=None) |
Static Public Member Functions | |
| def | eraFromLstAndLongitude (lst, longitude) |
| def | altitudeFromZenithDistance (zd) |
| def | centigradeFromKelvin (tempK) |
| def | pascalFromMBar (mbar) |
| def | pascalFromMmHg (mmHg) |
| def | pascalFromTorr (torr) |
| def | defaultMetadata (value, defaultValue, minimum=None, maximum=None) |
Public Attributes | |
| log | |
Base class functor to make a VisitInfo from the FITS header of a raw image.
A subclass will be wanted for each camera. Subclasses should override:
- `setArgDict`, The override can call the base implementation,
which simply sets exposure time and date of observation
- `getDateAvg`
The design philosophy is to make a best effort and log warnings of problems,
rather than raising exceptions, in order to extract as much VisitInfo information as possible
from a messy FITS header without the user needing to add a lot of error handling.
However, the methods that transform units are less forgiving; they assume
the user provides proper data types, since type errors in arguments to those
are almost certainly due to coding mistakes.
Parameters
----------
log : `lsst.log.Log` or None
Logger to use for messages.
(None to use ``Log.getLogger("MakeRawVisitInfo")``).
Definition at line 47 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.__init__ | ( | self, | |
log = None |
|||
| ) |
Definition at line 71 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.__call__ | ( | self, | |
| 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.
Definition at line 76 of file makeRawVisitInfo.py.
|
static |
Convert zenith distance to altitude (lsst.afw.geom.Angle)
Definition at line 359 of file makeRawVisitInfo.py.
|
static |
Convert temperature from Kelvin to Centigrade
Definition at line 364 of file makeRawVisitInfo.py.
|
static |
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.
Definition at line 393 of file makeRawVisitInfo.py.
|
static |
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.
Definition at line 347 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.getDarkTime | ( | self, | |
| 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.
Definition at line 147 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.getDateAvg | ( | self, | |
| md, | |||
| exposureTime | |||
| ) |
Return date at the middle of the exposure.
Parameters
----------
md : `lsst.daf.base.PropertyList` or `PropertySet`
Metadata to pull from.
Items that are used are stripped from the metadata (except TIMESYS,
because it may apply to other keywords).
exposureTime : `float`
Exposure time (sec)
Notes
-----
Subclasses must override. Here is a typical implementation::
dateObs = self.popIsoDate(md, "DATE-OBS")
return self.offsetDate(dateObs, 0.5*exposureTime)
Definition at line 126 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.offsetDate | ( | self, | |
| 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.
Definition at line 176 of file makeRawVisitInfo.py.
|
static |
Convert pressure from millibars to Pascals
Definition at line 369 of file makeRawVisitInfo.py.
|
static |
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)
Definition at line 375 of file makeRawVisitInfo.py.
|
static |
Convert pressure from torr to Pascals
Definition at line 387 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.popAngle | ( | self, | |
| md, | |||
| key, | |||
units = astropy.units.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.
Definition at line 253 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.popFloat | ( | self, | |
| 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.
Definition at line 230 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.popIsoDate | ( | self, | |
| 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.
Definition at line 279 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.popItem | ( | self, | |
| 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.
Definition at line 198 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.popMjdDate | ( | self, | |
| 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.
Definition at line 314 of file makeRawVisitInfo.py.
| def lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.setArgDict | ( | self, | |
| md, | |||
| argDict | |||
| ) |
Fill an argument dict with arguments for VisitInfo and pop associated metadata
Subclasses are expected to override this method, though the override
may wish to call this default implementation, which:
- sets exposureTime from "EXPTIME"
- sets date by calling getDateAvg
Parameters
----------
md : `lsst.daf.base.PropertyList` or `PropertySet`
Metadata to pull from.
Items that are used are stripped from the metadata (except TIMESYS,
because it may apply to other keywords).
argdict : `dict`
dict of arguments
Notes
-----
Subclasses should expand this or replace it.
Definition at line 101 of file makeRawVisitInfo.py.
| lsst.obs.base.makeRawVisitInfo.MakeRawVisitInfo.log |
Definition at line 74 of file makeRawVisitInfo.py.
1.8.13