LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | List of all members
lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoaderBase Class Reference
Inheritance diagram for lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoaderBase:
lsst.meas.algorithms.loadReferenceObjects.LoadReferenceObjectsTask lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoader lsst.meas.algorithms.loadIndexedReferenceObjects.LoadIndexedReferenceObjectsTask

Public Member Functions

def applyProperMotions (self, catalog, epoch)
 

Detailed Description

Base class for reference object loaders, to facilitate gen2/gen3 code
sharing.

Definition at line 193 of file loadReferenceObjects.py.

Member Function Documentation

◆ applyProperMotions()

def lsst.meas.algorithms.loadReferenceObjects.ReferenceObjectLoaderBase.applyProperMotions (   self,
  catalog,
  epoch 
)
Apply proper motion correction to a reference catalog.

Adjust position and position error in the ``catalog``
for proper motion to the specified ``epoch``,
modifying the catalog in place.

Parameters
----------
catalog : `lsst.afw.table.SimpleCatalog`
    Catalog of positions, containing at least these fields:

    - Coordinates, retrieved by the table's coordinate key.
    - ``coord_raErr`` : Error in Right Ascension (rad).
    - ``coord_decErr`` : Error in Declination (rad).
    - ``pm_ra`` : Proper motion in Right Ascension (rad/yr,
        East positive)
    - ``pm_raErr`` : Error in ``pm_ra`` (rad/yr), optional.
    - ``pm_dec`` : Proper motion in Declination (rad/yr,
        North positive)
    - ``pm_decErr`` : Error in ``pm_dec`` (rad/yr), optional.
    - ``epoch`` : Mean epoch of object (an astropy.time.Time)
epoch : `astropy.time.Time`
    Epoch to which to correct proper motion.
    If None, do not apply PM corrections or raise if
    ``config.requireProperMotion`` is True.

Raises
------
RuntimeError
    Raised if ``config.requireProperMotion`` is set but we cannot
    apply the proper motion correction for some reason.

Definition at line 197 of file loadReferenceObjects.py.

197  def applyProperMotions(self, catalog, epoch):
198  """Apply proper motion correction to a reference catalog.
199 
200  Adjust position and position error in the ``catalog``
201  for proper motion to the specified ``epoch``,
202  modifying the catalog in place.
203 
204  Parameters
205  ----------
206  catalog : `lsst.afw.table.SimpleCatalog`
207  Catalog of positions, containing at least these fields:
208 
209  - Coordinates, retrieved by the table's coordinate key.
210  - ``coord_raErr`` : Error in Right Ascension (rad).
211  - ``coord_decErr`` : Error in Declination (rad).
212  - ``pm_ra`` : Proper motion in Right Ascension (rad/yr,
213  East positive)
214  - ``pm_raErr`` : Error in ``pm_ra`` (rad/yr), optional.
215  - ``pm_dec`` : Proper motion in Declination (rad/yr,
216  North positive)
217  - ``pm_decErr`` : Error in ``pm_dec`` (rad/yr), optional.
218  - ``epoch`` : Mean epoch of object (an astropy.time.Time)
219  epoch : `astropy.time.Time`
220  Epoch to which to correct proper motion.
221  If None, do not apply PM corrections or raise if
222  ``config.requireProperMotion`` is True.
223 
224  Raises
225  ------
226  RuntimeError
227  Raised if ``config.requireProperMotion`` is set but we cannot
228  apply the proper motion correction for some reason.
229  """
230  if epoch is None:
231  if self.config.requireProperMotion:
232  raise RuntimeError("requireProperMotion=True but epoch not provided to loader.")
233  else:
234  self.log.debug("No epoch provided: not applying proper motion corrections to refcat.")
235  return
236 
237  # Warn/raise for a catalog in an incorrect format, if epoch was specified.
238  if ("pm_ra" in catalog.schema
239  and not isinstance(catalog.schema["pm_ra"].asKey(), afwTable.KeyAngle)):
240  if self.config.requireProperMotion:
241  raise RuntimeError("requireProperMotion=True but refcat pm_ra field is not an Angle.")
242  else:
243  self.log.warning("Reference catalog pm_ra field is not an Angle; cannot apply proper motion.")
244  return
245 
246  if ("epoch" not in catalog.schema or "pm_ra" not in catalog.schema):
247  if self.config.requireProperMotion:
248  raise RuntimeError("requireProperMotion=True but PM data not available from catalog.")
249  else:
250  self.log.warning("Proper motion correction not available for this reference catalog.")
251  return
252 
253  applyProperMotionsImpl(self.log, catalog, epoch)
254 
255 

The documentation for this class was generated from the following file: