LSST Applications  21.0.0+75b29a8a7f,21.0.0+e70536a077,21.0.0-1-ga51b5d4+62c747d40b,21.0.0-10-gbfb87ad6+3307648ee3,21.0.0-15-gedb9d5423+47cba9fc36,21.0.0-2-g103fe59+fdf0863a2a,21.0.0-2-g1367e85+d38a93257c,21.0.0-2-g45278ab+e70536a077,21.0.0-2-g5242d73+d38a93257c,21.0.0-2-g7f82c8f+e682ffb718,21.0.0-2-g8dde007+d179fbfa6a,21.0.0-2-g8f08a60+9402881886,21.0.0-2-ga326454+e682ffb718,21.0.0-2-ga63a54e+08647d4b1b,21.0.0-2-gde069b7+26c92b3210,21.0.0-2-gecfae73+0445ed2f95,21.0.0-2-gfc62afb+d38a93257c,21.0.0-27-gbbd0d29+ae871e0f33,21.0.0-28-g5fc5e037+feb0e9397b,21.0.0-3-g21c7a62+f4b9c0ff5c,21.0.0-3-g357aad2+57b0bddf0b,21.0.0-3-g4be5c26+d38a93257c,21.0.0-3-g65f322c+3f454acf5d,21.0.0-3-g7d9da8d+75b29a8a7f,21.0.0-3-gaa929c8+9e4ef6332c,21.0.0-3-ge02ed75+4b120a55c4,21.0.0-4-g3300ddd+e70536a077,21.0.0-4-g591bb35+4b120a55c4,21.0.0-4-gc004bbf+4911b9cd27,21.0.0-4-gccdca77+f94adcd104,21.0.0-4-ge8fba5a+2b3a696ff9,21.0.0-5-gb155db7+2c5429117a,21.0.0-5-gdf36809+637e4641ee,21.0.0-6-g00874e7+c9fd7f7160,21.0.0-6-g4e60332+4b120a55c4,21.0.0-7-gc8ca178+40eb9cf840,21.0.0-8-gfbe0b4b+9e4ef6332c,21.0.0-9-g2fd488a+d83b7cd606,w.2021.05
LSST Data Management Base Package
Public Member Functions | Public Attributes | List of all members
lsst.obs.base.gen2to3.translators.Translator Class Reference

Public Member Functions

def __init__ (self, List[KeyHandler] handlers, Optional[BaseSkyMap] skyMap, Optional[str] skyMapName, str datasetTypeName, Log log)
 
def __str__ (self)
 
Tuple[dict, Optional[str]] __call__ (self, Dict[str, Any] gen2id, *bool partial=False)
 
FrozenSet[str] dimensionNames (self)
 

Public Attributes

 handlers
 
 skyMap
 
 skyMapName
 
 datasetTypeName
 
 log
 

Detailed Description

Callable object that translates Gen2 Data IDs to Gen3 Data IDs for a
particular DatasetType.

Translators should usually be constructed via
`TranslatorFactory.makeMatching`.

Parameters
----------
handlers : `list`
    A list of KeyHandlers this Translator should use.
skyMap : `BaseSkyMap`, optional
    SkyMap instance used to define any tract or patch Dimensions.
skyMapName : `str`
    Gen3 SkyMap Dimension name to be associated with any tract or patch
    Dimensions.
datasetTypeName : `str`
    Name of the dataset type whose data IDs this translator handles.

Definition at line 472 of file translators.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.obs.base.gen2to3.translators.Translator.__init__ (   self,
List[KeyHandler handlers,
Optional[BaseSkyMap skyMap,
Optional[str]  skyMapName,
str  datasetTypeName,
Log  log 
)

Definition at line 491 of file translators.py.

492  datasetTypeName: str, log: Log):
493  self.handlers = handlers
494  self.skyMap = skyMap
495  self.skyMapName = skyMapName
496  self.datasetTypeName = datasetTypeName
497  self.log = log
498 

Member Function Documentation

◆ __call__()

Tuple[dict, Optional[str]] lsst.obs.base.gen2to3.translators.Translator.__call__ (   self,
Dict[str, Any]  gen2id,
*bool   partial = False 
)
Return a Gen3 data ID that corresponds to the given Gen2 data ID.

Definition at line 505 of file translators.py.

505  def __call__(self, gen2id: Dict[str, Any], *, partial: bool = False) -> Tuple[dict, Optional[str]]:
506  """Return a Gen3 data ID that corresponds to the given Gen2 data ID.
507  """
508  gen3id = {}
509  calibDate = gen2id.get("calibDate", None)
510  for handler in self.handlers:
511  try:
512  handler.translate(gen2id, gen3id, skyMap=self.skyMap, skyMapName=self.skyMapName,
513  datasetTypeName=self.datasetTypeName)
514  except KeyError:
515  if partial:
516  self.log.debug("Failed to translate %s from %s (this may not be an error).",
517  handler.dimension, gen2id)
518  continue
519  else:
520  raise
521  return gen3id, calibDate
522 

◆ __str__()

def lsst.obs.base.gen2to3.translators.Translator.__str__ (   self)

Definition at line 501 of file translators.py.

501  def __str__(self):
502  hstr = ",".join(str(h) for h in self.handlers)
503  return f"{type(self).__name__}(dtype={self.datasetTypeName}, handlers=[{hstr}])"
504 

◆ dimensionNames()

FrozenSet[str] lsst.obs.base.gen2to3.translators.Translator.dimensionNames (   self)
The names of the dimensions populated by this Translator
(`frozenset`).

Definition at line 524 of file translators.py.

524  def dimensionNames(self) -> FrozenSet[str]:
525  """The names of the dimensions populated by this Translator
526  (`frozenset`).
527  """
528  return frozenset(h.dimension for h in self.handlers)

Member Data Documentation

◆ datasetTypeName

lsst.obs.base.gen2to3.translators.Translator.datasetTypeName

Definition at line 496 of file translators.py.

◆ handlers

lsst.obs.base.gen2to3.translators.Translator.handlers

Definition at line 493 of file translators.py.

◆ log

lsst.obs.base.gen2to3.translators.Translator.log

Definition at line 497 of file translators.py.

◆ skyMap

lsst.obs.base.gen2to3.translators.Translator.skyMap

Definition at line 494 of file translators.py.

◆ skyMapName

lsst.obs.base.gen2to3.translators.Translator.skyMapName

Definition at line 495 of file translators.py.


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