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 | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper Class Reference
Inheritance diagram for lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper:
lsst.daf.persistence.mapper.Mapper lsst.pipe.tasks.mocks.simpleMapper.MapperMeta

Public Member Functions

def __init__ (self, root, **kwargs)
 
def getDefaultLevel (self)
 
def getKeys (self, datasetType, level)
 
def update (self)
 
def keys (self)
 
def bypass_camera (self, datasetType, pythonType, location, dataId)
 
def map_camera (self, dataId, write=False)
 
def std_calexp (self, item, dataId)
 
def bypass_ccdExposureId (self, datasetType, pythonType, location, dataId)
 
def bypass_ccdExposureId_bits (self, datasetType, pythonType, location, dataId)
 
def bypass_deepCoaddId (self, datasetType, pythonType, location, dataId)
 
def bypass_deepCoaddId_bits (self, datasetType, pythonType, location, dataId)
 
def bypass_deepMergedCoaddId (self, datasetType, pythonType, location, dataId)
 
def bypass_deepMergedCoaddId_bits (self, datasetType, pythonType, location, dataId)
 
def bypass_deepCoadd_filterLabel (self, *args, **kwargs)
 
def __new__ (cls, *args, **kwargs)
 
def __getstate__ (self)
 
def __setstate__ (self, state)
 
def queryMetadata (self, datasetType, format, dataId)
 
def getDatasetTypes (self)
 
def map (self, datasetType, dataId, write=False)
 
def canStandardize (self, datasetType)
 
def standardize (self, datasetType, item, dataId)
 
def validate (self, dataId)
 
def backup (self, datasetType, dataId)
 
def getRegistry (self)
 

Static Public Member Functions

def splitCcdExposureId (ccdExposureId)
 

Public Attributes

 storage
 
 root
 
 camera
 
 filterLabel
 
 index
 
 keyDict
 

Static Public Attributes

 mappings
 
 levels
 

Detailed Description

An extremely simple mapper for an imaginary camera for use in integration tests.

As SimpleMapper does not inherit from obs.base.CameraMapper, it does not
use a policy file to set mappings or a registry; all the information is here
(in the map_* and query_* methods).

The imaginary camera's raw data format has only 'visit' and 'ccd' keys, with
two CCDs per visit (by default).

Definition at line 254 of file simpleMapper.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.__init__ (   self,
  root,
**  kwargs 
)

Definition at line 331 of file simpleMapper.py.

331  def __init__(self, root, **kwargs):
332  self.storage = lsst.daf.persistence.Storage.makeFromURI(root)
333  super(SimpleMapper, self).__init__(**kwargs)
334  self.root = root
335  self.camera = makeSimpleCamera(nX=1, nY=2, sizeX=400, sizeY=200, gapX=2, gapY=2)
336  # NOTE: we set band/physical here because CoaddsTestCase.testCoaddInputs()
337  # expects "r" for both the input dataIds (gen2 dataIds could be either
338  # physical or band) and the output CoaddInputRecords.
339  # The original data had just `Filter("r")`, so this has always assumed
340  # that physicalLabel==bandLabel, even though CoaddInputRecords are physical.
341  self.filterLabel = afwImage.FilterLabel(band="r", physical="r")
342  self.update()
343 
A group of labels for a filter in an exposure or coadd.
Definition: FilterLabel.h:58
def makeSimpleCamera(nX, nY, sizeX, sizeY, gapX, gapY, pixelSize=1.0, plateScale=20.0, radialDistortion=0.925)

Member Function Documentation

◆ __getstate__()

def lsst.daf.persistence.mapper.Mapper.__getstate__ (   self)
inherited

Definition at line 103 of file mapper.py.

103  def __getstate__(self):
104  return self._arguments
105 

◆ __new__()

def lsst.daf.persistence.mapper.Mapper.__new__ (   cls,
args,
**  kwargs 
)
inherited
Create a new Mapper, saving arguments for pickling.

This is in __new__ instead of __init__ to save the user
from having to save the arguments themselves (either explicitly,
or by calling the super's __init__ with all their
*args,**kwargs.  The resulting pickling system (of __new__,
__getstate__ and __setstate__ is similar to how __reduce__
is usually used, except that we save the user from any
responsibility (except when overriding __new__, but that
is not common).

Definition at line 84 of file mapper.py.

84  def __new__(cls, *args, **kwargs):
85  """Create a new Mapper, saving arguments for pickling.
86 
87  This is in __new__ instead of __init__ to save the user
88  from having to save the arguments themselves (either explicitly,
89  or by calling the super's __init__ with all their
90  *args,**kwargs. The resulting pickling system (of __new__,
91  __getstate__ and __setstate__ is similar to how __reduce__
92  is usually used, except that we save the user from any
93  responsibility (except when overriding __new__, but that
94  is not common).
95  """
96  self = super().__new__(cls)
97  self._arguments = (args, kwargs)
98  return self
99 

◆ __setstate__()

def lsst.daf.persistence.mapper.Mapper.__setstate__ (   self,
  state 
)
inherited

Definition at line 106 of file mapper.py.

106  def __setstate__(self, state):
107  self._arguments = state
108  args, kwargs = state
109  self.__init__(*args, **kwargs)
110 

◆ backup()

def lsst.daf.persistence.mapper.Mapper.backup (   self,
  datasetType,
  dataId 
)
inherited
Rename any existing object with the given type and dataId.

Not implemented in the base mapper.

Definition at line 191 of file mapper.py.

191  def backup(self, datasetType, dataId):
192  """Rename any existing object with the given type and dataId.
193 
194  Not implemented in the base mapper.
195  """
196  raise NotImplementedError("Base-class Mapper does not implement backups")
197 

◆ bypass_camera()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.bypass_camera (   self,
  datasetType,
  pythonType,
  location,
  dataId 
)

Definition at line 380 of file simpleMapper.py.

380  def bypass_camera(self, datasetType, pythonType, location, dataId):
381  return self.camera
382 

◆ bypass_ccdExposureId()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.bypass_ccdExposureId (   self,
  datasetType,
  pythonType,
  location,
  dataId 
)

Definition at line 414 of file simpleMapper.py.

414  def bypass_ccdExposureId(self, datasetType, pythonType, location, dataId):
415  return self._computeCcdExposureId(dataId)
416 

◆ bypass_ccdExposureId_bits()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.bypass_ccdExposureId_bits (   self,
  datasetType,
  pythonType,
  location,
  dataId 
)

Definition at line 417 of file simpleMapper.py.

417  def bypass_ccdExposureId_bits(self, datasetType, pythonType, location, dataId):
418  return 32
419 

◆ bypass_deepCoadd_filterLabel()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.bypass_deepCoadd_filterLabel (   self,
args,
**  kwargs 
)
To return a useful filterLabel for MergeDetectionsTask.

Definition at line 432 of file simpleMapper.py.

432  def bypass_deepCoadd_filterLabel(self, *args, **kwargs):
433  """To return a useful filterLabel for MergeDetectionsTask."""
434  return afwImage.FilterLabel(band=self.filterLabel.bandLabel)
435 
436 

◆ bypass_deepCoaddId()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.bypass_deepCoaddId (   self,
  datasetType,
  pythonType,
  location,
  dataId 
)

Definition at line 420 of file simpleMapper.py.

420  def bypass_deepCoaddId(self, datasetType, pythonType, location, dataId):
421  return self._computeCoaddId(dataId)
422 

◆ bypass_deepCoaddId_bits()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.bypass_deepCoaddId_bits (   self,
  datasetType,
  pythonType,
  location,
  dataId 
)

Definition at line 423 of file simpleMapper.py.

423  def bypass_deepCoaddId_bits(self, datasetType, pythonType, location, dataId):
424  return 1 + 7 + 13*2 + 3
425 

◆ bypass_deepMergedCoaddId()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.bypass_deepMergedCoaddId (   self,
  datasetType,
  pythonType,
  location,
  dataId 
)

Definition at line 426 of file simpleMapper.py.

426  def bypass_deepMergedCoaddId(self, datasetType, pythonType, location, dataId):
427  return self._computeCoaddId(dataId)
428 

◆ bypass_deepMergedCoaddId_bits()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.bypass_deepMergedCoaddId_bits (   self,
  datasetType,
  pythonType,
  location,
  dataId 
)

Definition at line 429 of file simpleMapper.py.

429  def bypass_deepMergedCoaddId_bits(self, datasetType, pythonType, location, dataId):
430  return 1 + 7 + 13*2 + 3
431 

◆ canStandardize()

def lsst.daf.persistence.mapper.Mapper.canStandardize (   self,
  datasetType 
)
inherited
Return true if this mapper can standardize an object of the given
dataset type.

Definition at line 167 of file mapper.py.

167  def canStandardize(self, datasetType):
168  """Return true if this mapper can standardize an object of the given
169  dataset type."""
170 
171  return hasattr(self, 'std_' + datasetType)
172 

◆ getDatasetTypes()

def lsst.daf.persistence.mapper.Mapper.getDatasetTypes (   self)
inherited
Return a list of the mappable dataset types.

Definition at line 128 of file mapper.py.

128  def getDatasetTypes(self):
129  """Return a list of the mappable dataset types."""
130 
131  list = []
132  for attr in dir(self):
133  if attr.startswith("map_"):
134  list.append(attr[4:])
135  return list
136 

◆ getDefaultLevel()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.getDefaultLevel (   self)

Definition at line 344 of file simpleMapper.py.

344  def getDefaultLevel(self):
345  return "ccd"
346 

◆ getKeys()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.getKeys (   self,
  datasetType,
  level 
)

Definition at line 347 of file simpleMapper.py.

347  def getKeys(self, datasetType, level):
348  if datasetType is None:
349  keyDict = self.keyDict
350  else:
351  keyDict = self.mappings[datasetType].keys
352  if level is not None and level in self.levels:
353  keyDict = dict(keyDict)
354  for lev in self.levels[level]:
355  if lev in keyDict:
356  del keyDict[lev]
357  return keyDict
358 

◆ getRegistry()

def lsst.daf.persistence.mapper.Mapper.getRegistry (   self)
inherited
Get the registry

Definition at line 198 of file mapper.py.

198  def getRegistry(self):
199  """Get the registry"""
200  return None

◆ keys()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.keys (   self)

Reimplemented from lsst.daf.persistence.mapper.Mapper.

Definition at line 377 of file simpleMapper.py.

377  def keys(self):
378  return self.keyDict
379 

◆ map()

def lsst.daf.persistence.mapper.Mapper.map (   self,
  datasetType,
  dataId,
  write = False 
)
inherited
Map a data id using the mapping method for its dataset type.

Parameters
----------
datasetType : string
    The datasetType to map
dataId : DataId instance
    The dataId to use when mapping
write : bool, optional
    Indicates if the map is being performed for a read operation
    (False) or a write operation (True)

Returns
-------
ButlerLocation or a list of ButlerLocation
    The location(s) found for the map operation. If write is True, a
    list is returned. If write is False a single ButlerLocation is
    returned.

Raises
------
NoResults
    If no locaiton was found for this map operation, the derived mapper
    class may raise a lsst.daf.persistence.NoResults exception. Butler
    catches this and will look in the next Repository if there is one.

Definition at line 137 of file mapper.py.

137  def map(self, datasetType, dataId, write=False):
138  """Map a data id using the mapping method for its dataset type.
139 
140  Parameters
141  ----------
142  datasetType : string
143  The datasetType to map
144  dataId : DataId instance
145  The dataId to use when mapping
146  write : bool, optional
147  Indicates if the map is being performed for a read operation
148  (False) or a write operation (True)
149 
150  Returns
151  -------
152  ButlerLocation or a list of ButlerLocation
153  The location(s) found for the map operation. If write is True, a
154  list is returned. If write is False a single ButlerLocation is
155  returned.
156 
157  Raises
158  ------
159  NoResults
160  If no locaiton was found for this map operation, the derived mapper
161  class may raise a lsst.daf.persistence.NoResults exception. Butler
162  catches this and will look in the next Repository if there is one.
163  """
164  func = getattr(self, 'map_' + datasetType)
165  return func(self.validate(dataId), write)
166 

◆ map_camera()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.map_camera (   self,
  dataId,
  write = False 
)

Definition at line 383 of file simpleMapper.py.

383  def map_camera(self, dataId, write=False):
385  "lsst.afw.cameraGeom.Camera", "Camera", None, [], dataId, mapper=self, storage=self.storage
386  )
387 

◆ queryMetadata()

def lsst.daf.persistence.mapper.Mapper.queryMetadata (   self,
  datasetType,
  format,
  dataId 
)
inherited
Get possible values for keys given a partial data id.

:param datasetType: see documentation about the use of datasetType
:param key: this is used as the 'level' parameter
:param format:
:param dataId: see documentation about the use of dataId
:return:

Definition at line 114 of file mapper.py.

114  def queryMetadata(self, datasetType, format, dataId):
115  """Get possible values for keys given a partial data id.
116 
117  :param datasetType: see documentation about the use of datasetType
118  :param key: this is used as the 'level' parameter
119  :param format:
120  :param dataId: see documentation about the use of dataId
121  :return:
122  """
123  func = getattr(self, 'query_' + datasetType)
124 
125  val = func(format, self.validate(dataId))
126  return val
127 

◆ splitCcdExposureId()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.splitCcdExposureId (   ccdExposureId)
static

Definition at line 411 of file simpleMapper.py.

411  def splitCcdExposureId(ccdExposureId):
412  return dict(visit=(int(ccdExposureId) // 10), ccd=(int(ccdExposureId) % 10))
413 

◆ standardize()

def lsst.daf.persistence.mapper.Mapper.standardize (   self,
  datasetType,
  item,
  dataId 
)
inherited
Standardize an object using the standardization method for its data
set type, if it exists.

Definition at line 173 of file mapper.py.

173  def standardize(self, datasetType, item, dataId):
174  """Standardize an object using the standardization method for its data
175  set type, if it exists."""
176 
177  if hasattr(self, 'std_' + datasetType):
178  func = getattr(self, 'std_' + datasetType)
179  return func(item, self.validate(dataId))
180  return item
181 

◆ std_calexp()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.std_calexp (   self,
  item,
  dataId 
)

Definition at line 388 of file simpleMapper.py.

388  def std_calexp(self, item, dataId):
389  detectorId = dataId["ccd"]
390  detector = self.camera[detectorId]
391  item.setDetector(detector)
392  item.setFilterLabel(self.filterLabel)
393  return item
394 

◆ update()

def lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.update (   self)

Definition at line 359 of file simpleMapper.py.

359  def update(self):
360  filenames = os.listdir(self.root)
361  rawRegex = re.compile(r"(?P<dataset>\w+)-(?P<visit>\d+)-(?P<ccd>\d).*")
362  self.index = {}
363  for filename in filenames:
364  m = rawRegex.match(filename)
365  if not m:
366  continue
367  index = self.index.setdefault(m.group('dataset'), dict(ccd={None: []}, visit={None: []}))
368  visit = int(m.group('visit'))
369  ccd = int(m.group('ccd'))
370  d1 = dict(visit=visit, ccd=ccd)
371  d2 = dict(visit=visit)
372  index['ccd'].setdefault(visit, []).append(d1)
373  index['ccd'][None].append(d1)
374  index['visit'][visit] = [d2]
375  index['visit'][None].append(d1)
376 
std::shared_ptr< FrameSet > append(FrameSet const &first, FrameSet const &second)
Construct a FrameSet that performs two transformations in series.
Definition: functional.cc:33

◆ validate()

def lsst.daf.persistence.mapper.Mapper.validate (   self,
  dataId 
)
inherited
Validate a dataId's contents.

If the dataId is valid, return it.  If an invalid component can be
transformed into a valid one, copy the dataId, fix the component, and
return the copy.  Otherwise, raise an exception.

Definition at line 182 of file mapper.py.

182  def validate(self, dataId):
183  """Validate a dataId's contents.
184 
185  If the dataId is valid, return it. If an invalid component can be
186  transformed into a valid one, copy the dataId, fix the component, and
187  return the copy. Otherwise, raise an exception."""
188 
189  return dataId
190 

Member Data Documentation

◆ camera

lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.camera

Definition at line 335 of file simpleMapper.py.

◆ filterLabel

lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.filterLabel

Definition at line 341 of file simpleMapper.py.

◆ index

lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.index

Definition at line 362 of file simpleMapper.py.

◆ keyDict

lsst.pipe.tasks.mocks.simpleMapper.MapperMeta.keyDict
inherited

Definition at line 243 of file simpleMapper.py.

◆ levels

lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.levels
static
Initial value:
= dict(
visit=['ccd'],
ccd=[],
)

Definition at line 326 of file simpleMapper.py.

◆ mappings

lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.mappings
static

Definition at line 266 of file simpleMapper.py.

◆ root

lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.root

Definition at line 334 of file simpleMapper.py.

◆ storage

lsst.pipe.tasks.mocks.simpleMapper.SimpleMapper.storage

Definition at line 332 of file simpleMapper.py.


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