LSST Applications  21.0.0+04719a4bac,21.0.0-1-ga51b5d4+4b710797af,21.0.0-1-gfc31b0f+3b24369756,21.0.0-10-g2408eff+50e97f2f47,21.0.0-10-g560fb7b+0803ad37c5,21.0.0-10-g5daeb2b+f9b8dc6d5a,21.0.0-10-g8d1d15d+77a6b82ebf,21.0.0-10-gcf60f90+c961be884d,21.0.0-11-g25eff31+7692554667,21.0.0-17-g6590b197+a14a01c114,21.0.0-2-g103fe59+b79afc2051,21.0.0-2-g1367e85+1003a3501c,21.0.0-2-g45278ab+04719a4bac,21.0.0-2-g5242d73+1003a3501c,21.0.0-2-g7f82c8f+c2a1919b98,21.0.0-2-g8f08a60+fd0b970de5,21.0.0-2-ga326454+c2a1919b98,21.0.0-2-gde069b7+ca45a81b40,21.0.0-2-gecfae73+afcaaec585,21.0.0-2-gfc62afb+1003a3501c,21.0.0-21-g5d80ea29e+5e3c9a3766,21.0.0-3-g357aad2+c67f36f878,21.0.0-3-g4be5c26+1003a3501c,21.0.0-3-g65f322c+02b1f88459,21.0.0-3-g7d9da8d+3b24369756,21.0.0-3-ge02ed75+a423c2ae7a,21.0.0-4-g591bb35+a423c2ae7a,21.0.0-4-g65b4814+0803ad37c5,21.0.0-4-g88306b8+199c7497e5,21.0.0-4-gccdca77+a631590478,21.0.0-4-ge8a399c+b923ff878e,21.0.0-5-gd00fb1e+d8b1e95daa,21.0.0-53-ge728e5d5+3cb64fea8e,21.0.0-6-g2d4f3f3+04719a4bac,21.0.0-7-g04766d7+8d320c19d5,21.0.0-7-g98eecf7+205433fbda,21.0.0-9-g39e06b5+a423c2ae7a,master-gac4afde19b+a423c2ae7a,w.2021.11
LSST Data Management Base Package
Public Member Functions | Static Public Attributes | List of all members
lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage Class Reference
Inheritance diagram for lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage:
lsst.utils.wrappers.TemplateMeta

Public Member Functions

def set (self, value, mask=None, variance=None)
 
def getArrays (self)
 
def convertF (self)
 
def convertD (self)
 
def __reduce__ (self)
 
def __str__ (self)
 
def __repr__ (self)
 
def __new__ (cls, name, bases, attrs)
 
def __call__ (cls, *args, **kwds)
 
def __subclasscheck__ (cls, subclass)
 
def __instancecheck__ (cls, instance)
 
def __subclasses__ (cls)
 
def register (cls, key, subclass)
 
def alias (cls, key, subclass)
 
def __getitem__ (cls, key)
 
def __iter__ (cls)
 
def __len__ (cls)
 
def __contains__ (cls, key)
 
def keys (cls)
 
def values (cls)
 
def items (cls)
 
def get (cls, key, default=None)
 

Static Public Attributes

 readFitsWithOptions = classmethod(imageReadFitsWithOptions)
 
 writeFitsWithOptions = exposureWriteFitsWithOptions
 

Detailed Description

Definition at line 37 of file maskedImageContinued.py.

Member Function Documentation

◆ __call__()

def lsst.utils.wrappers.TemplateMeta.__call__ (   cls,
args,
**  kwds 
)
inherited

Reimplemented in lsst.afw.typehandling._GenericMap.AutoKeyMeta.

Definition at line 293 of file wrappers.py.

293  def __call__(cls, *args, **kwds):
294  # __call__ is invoked when someone tries to construct an instance of
295  # the abstract base class.
296  # If the ABC defines a "TEMPLATE_PARAMS" attribute, we use those strings
297  # as the kwargs we should intercept to find the right type.
298  # Generate a type mapping key from input keywords. If the type returned
299  # from the keyword lookup is a numpy dtype object, fetch the underlying
300  # type of the dtype
301  key = []
302  for p, d in zip(cls.TEMPLATE_PARAMS, cls.TEMPLATE_DEFAULTS):
303  tempKey = kwds.pop(p, d)
304  if isinstance(tempKey, np.dtype):
305  tempKey = tempKey.type
306  key.append(tempKey)
307  key = tuple(key)
308 
309  # indices are only tuples if there are multiple elements
310  clz = cls._registry.get(key[0] if len(key) == 1 else key, None)
311  if clz is None:
312  d = {k: v for k, v in zip(cls.TEMPLATE_PARAMS, key)}
313  raise TypeError("No registered subclass for {}.".format(d))
314  return clz(*args, **kwds)
315 
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:174

◆ __contains__()

def lsst.utils.wrappers.TemplateMeta.__contains__ (   cls,
  key 
)
inherited

Definition at line 458 of file wrappers.py.

458  def __contains__(cls, key):
459  return key in cls._registry
460 

◆ __getitem__()

def lsst.utils.wrappers.TemplateMeta.__getitem__ (   cls,
  key 
)
inherited

Reimplemented in lsst.afw.table._base.Catalog, and lsst.afw.cameraGeom.detectorCollection.detectorCollectionContinued.DetectorCollectionBase.

Definition at line 449 of file wrappers.py.

449  def __getitem__(cls, key):
450  return cls._registry[key]
451 

◆ __instancecheck__()

def lsst.utils.wrappers.TemplateMeta.__instancecheck__ (   cls,
  instance 
)
inherited

Definition at line 326 of file wrappers.py.

326  def __instancecheck__(cls, instance):
327  # Special method hook for the isinstance built-in: we return true for
328  # an instance of any registered type or true subclass thereof.
329  if type(instance) in cls._registry:
330  return True
331  for v in cls._registry.values():
332  if isinstance(instance, v):
333  return True
334  return False
335 
table::Key< int > type
Definition: Detector.cc:163

◆ __iter__()

def lsst.utils.wrappers.TemplateMeta.__iter__ (   cls)
inherited

Reimplemented in lsst.afw.cameraGeom.detectorCollection.detectorCollectionContinued.DetectorCollectionBase.

Definition at line 452 of file wrappers.py.

452  def __iter__(cls):
453  return iter(cls._registry)
454 

◆ __len__()

def lsst.utils.wrappers.TemplateMeta.__len__ (   cls)
inherited

Definition at line 455 of file wrappers.py.

455  def __len__(cls):
456  return len(cls._registry)
457 

◆ __new__()

def lsst.utils.wrappers.TemplateMeta.__new__ (   cls,
  name,
  bases,
  attrs 
)
inherited

Definition at line 261 of file wrappers.py.

261  def __new__(cls, name, bases, attrs):
262  # __new__ is invoked when the abstract base class is defined (via a
263  # class statement). We save a dict of class attributes (including
264  # methods) that were defined in the class body so we can copy them
265  # to registered subclasses later.
266  # We also initialize an empty dict to store the registered subclasses.
267  attrs["_inherited"] = {k: v for k, v in attrs.items()
268  if isAttributeSafeToTransfer(k, v)}
269  # The special "TEMPLATE_PARAMS" class attribute, if defined, contains
270  # names of the template parameters, which we use to set those
271  # attributes on registered subclasses and intercept arguments to the
272  # constructor. This line removes it from the dict of things that
273  # should be inherited while setting a default of 'dtype' if it's not
274  # defined.
275  attrs["TEMPLATE_PARAMS"] = \
276  attrs["_inherited"].pop("TEMPLATE_PARAMS", ("dtype",))
277  attrs["TEMPLATE_DEFAULTS"] = \
278  attrs["_inherited"].pop("TEMPLATE_DEFAULTS",
279  (None,)*len(attrs["TEMPLATE_PARAMS"]))
280  attrs["_registry"] = dict()
281  self = type.__new__(cls, name, bases, attrs)
282 
283  if len(self.TEMPLATE_PARAMS) == 0:
284  raise ValueError(
285  "TEMPLATE_PARAMS must be a tuple with at least one element."
286  )
287  if len(self.TEMPLATE_DEFAULTS) != len(self.TEMPLATE_PARAMS):
288  raise ValueError(
289  "TEMPLATE_PARAMS and TEMPLATE_DEFAULTS must have same length."
290  )
291  return self
292 
def isAttributeSafeToTransfer(name, value)
Definition: wrappers.py:45

◆ __reduce__()

def lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.__reduce__ (   self)

Definition at line 97 of file maskedImageContinued.py.

97  def __reduce__(self):
98  from lsst.afw.fits import reduceToFits
99  return reduceToFits(self)
100 

◆ __repr__()

def lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.__repr__ (   self)

Definition at line 109 of file maskedImageContinued.py.

109  def __repr__(self):
110  return "{}.{}=({})".format(self.__module__, self.__class__.__name__, str(self))
111 

◆ __str__()

def lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.__str__ (   self)

Definition at line 101 of file maskedImageContinued.py.

101  def __str__(self):
102  string = "image={},\nmask={}, maskPlaneDict={}\nvariance={}, bbox={}"
103  return string.format(self.image.array,
104  self.mask.array,
105  self.mask.getMaskPlaneDict(),
106  self.variance.array,
107  self.getBBox())
108 

◆ __subclasscheck__()

def lsst.utils.wrappers.TemplateMeta.__subclasscheck__ (   cls,
  subclass 
)
inherited

Definition at line 316 of file wrappers.py.

316  def __subclasscheck__(cls, subclass):
317  # Special method hook for the issubclass built-in: we return true for
318  # any registered type or true subclass thereof.
319  if subclass in cls._registry:
320  return True
321  for v in cls._registry.values():
322  if issubclass(subclass, v):
323  return True
324  return False
325 

◆ __subclasses__()

def lsst.utils.wrappers.TemplateMeta.__subclasses__ (   cls)
inherited
Return a tuple of all classes that inherit from this class.

Definition at line 336 of file wrappers.py.

336  def __subclasses__(cls):
337  """Return a tuple of all classes that inherit from this class.
338  """
339  # This special method isn't defined as part of the Python data model,
340  # but it exists on builtins (including ABCMeta), and it provides useful
341  # functionality.
342  return tuple(set(cls._registry.values()))
343 
daf::base::PropertySet * set
Definition: fits.cc:912

◆ alias()

def lsst.utils.wrappers.TemplateMeta.alias (   cls,
  key,
  subclass 
)
inherited
Add an alias that allows an existing subclass to be accessed with a
different key.

Definition at line 429 of file wrappers.py.

429  def alias(cls, key, subclass):
430  """Add an alias that allows an existing subclass to be accessed with a
431  different key.
432  """
433  if key is None:
434  raise ValueError("None may not be used as a key.")
435  if key in cls._registry:
436  raise KeyError("Cannot multiply-register key {}".format(key))
437  primaryKey = tuple(getattr(subclass, p, None)
438  for p in cls.TEMPLATE_PARAMS)
439  if len(primaryKey) == 1:
440  # indices are only tuples if there are multiple elements
441  primaryKey = primaryKey[0]
442  if cls._registry.get(primaryKey, None) != subclass:
443  raise ValueError("Subclass is not registered with this base class.")
444  cls._registry[key] = subclass
445 

◆ convertD()

def lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.convertD (   self)

Definition at line 94 of file maskedImageContinued.py.

94  def convertD(self):
95  return MaskedImageD(self, True)
96 

◆ convertF()

def lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.convertF (   self)

Definition at line 91 of file maskedImageContinued.py.

91  def convertF(self):
92  return MaskedImageF(self, True)
93 

◆ get()

def lsst.utils.wrappers.TemplateMeta.get (   cls,
  key,
  default = None 
)
inherited
Return the subclass associated with the given key (including
aliases), or ``default`` if the key is not recognized.

Definition at line 477 of file wrappers.py.

477  def get(cls, key, default=None):
478  """Return the subclass associated with the given key (including
479  aliases), or ``default`` if the key is not recognized.
480  """
481  return cls._registry.get(key, default)

◆ getArrays()

def lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.getArrays (   self)
Return a tuple (value, mask, variance) numpy arrays.

Definition at line 85 of file maskedImageContinued.py.

85  def getArrays(self):
86  """Return a tuple (value, mask, variance) numpy arrays."""
87  return (self.image.array if self.image else None,
88  self.mask.array if self.mask else None,
89  self.variance.array if self.variance else None)
90 

◆ items()

def lsst.utils.wrappers.TemplateMeta.items (   cls)
inherited
Return an iterable of (key, subclass) pairs.

Definition at line 472 of file wrappers.py.

472  def items(cls):
473  """Return an iterable of (key, subclass) pairs.
474  """
475  return cls._registry.items()
476 
std::vector< SchemaItem< Flag > > * items

◆ keys()

def lsst.utils.wrappers.TemplateMeta.keys (   cls)
inherited
Return an iterable containing all keys (including aliases).

Definition at line 461 of file wrappers.py.

461  def keys(cls):
462  """Return an iterable containing all keys (including aliases).
463  """
464  return cls._registry.keys()
465 

◆ register()

def lsst.utils.wrappers.TemplateMeta.register (   cls,
  key,
  subclass 
)
inherited
Register a subclass of this ABC with the given key (a string,
number, type, or other hashable).

Register may only be called once for a given key or a given subclass.

Definition at line 344 of file wrappers.py.

344  def register(cls, key, subclass):
345  """Register a subclass of this ABC with the given key (a string,
346  number, type, or other hashable).
347 
348  Register may only be called once for a given key or a given subclass.
349  """
350  if key is None:
351  raise ValueError("None may not be used as a key.")
352  if subclass in cls._registry.values():
353  raise ValueError(
354  "This subclass has already registered with another key; "
355  "use alias() instead."
356  )
357  if cls._registry.setdefault(key, subclass) != subclass:
358  if len(cls.TEMPLATE_PARAMS) == 1:
359  d = {cls.TEMPLATE_PARAMS[0]: key}
360  else:
361  d = {k: v for k, v in zip(cls.TEMPLATE_PARAMS, key)}
362  raise KeyError(
363  "Another subclass is already registered with {}".format(d)
364  )
365  # If the key used to register a class matches the default key,
366  # make the static methods available through the ABC
367  if cls.TEMPLATE_DEFAULTS:
368  defaults = (cls.TEMPLATE_DEFAULTS[0] if
369  len(cls.TEMPLATE_DEFAULTS) == 1 else
370  cls.TEMPLATE_DEFAULTS)
371  if key == defaults:
372  conflictStr = ("Base class has attribute {}"
373  " which is a {} method of {}."
374  " Cannot link method to base class.")
375  # In the following if statements, the explicit lookup in
376  # __dict__ must be done, as a call to getattr returns the
377  # bound method, which no longer reports as a static or class
378  # method. The static methods must be transfered to the ABC
379  # in this unbound state, so that python will still see them
380  # as static methods and not attempt to pass self. The class
381  # methods must be transfered to the ABC as a bound method
382  # so that the correct cls be called with the class method
383  for name in subclass.__dict__:
384  if name in ("__new__", "__init_subclass__"):
385  continue
386  obj = subclass.__dict__[name]
387  # copy over the static methods
388  isBuiltin = isinstance(obj, types.BuiltinFunctionType)
389  isStatic = isinstance(obj, staticmethod)
390  if isBuiltin or isStatic:
391  if hasattr(cls, name):
392  raise AttributeError(
393  conflictStr.format(name, "static", subclass))
394  setattr(cls, name, obj)
395  # copy over the class methods
396  elif isinstance(obj, classmethod):
397  if hasattr(cls, name):
398  raise AttributeError(
399  conflictStr.format(name, "class", subclass))
400  setattr(cls, name, getattr(subclass, name))
401 
402  def setattrSafe(name, value):
403  try:
404  currentValue = getattr(subclass, name)
405  if currentValue != value:
406  msg = ("subclass already has a '{}' attribute with "
407  "value {} != {}.")
408  raise ValueError(
409  msg.format(name, currentValue, value)
410  )
411  except AttributeError:
412  setattr(subclass, name, value)
413 
414  if len(cls.TEMPLATE_PARAMS) == 1:
415  setattrSafe(cls.TEMPLATE_PARAMS[0], key)
416  elif len(cls.TEMPLATE_PARAMS) == len(key):
417  for p, k in zip(cls.TEMPLATE_PARAMS, key):
418  setattrSafe(p, k)
419  else:
420  raise ValueError(
421  "key must have {} elements (one for each of {})".format(
422  len(cls.TEMPLATE_PARAMS), cls.TEMPLATE_PARAMS
423  )
424  )
425 
426  for name, attr in cls._inherited.items():
427  setattr(subclass, name, attr)
428 

◆ set()

def lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.set (   self,
  value,
  mask = None,
  variance = None 
)
Assign a tuple of scalars to the entirety of all three planes.

Definition at line 39 of file maskedImageContinued.py.

39  def set(self, value, mask=None, variance=None):
40  """Assign a tuple of scalars to the entirety of all three planes.
41  """
42  if mask is None and variance is None:
43  try:
44  value, mask, variance = value
45  except TypeError:
46  pass
47  if mask is None:
48  mask = 0
49  if variance is None:
50  variance = 0.0
51  self.image.set(value)
52  self.mask.set(mask)
53  self.variance.set(variance)
54 

◆ values()

def lsst.utils.wrappers.TemplateMeta.values (   cls)
inherited
Return an iterable of registered subclasses, with duplicates
corresponding to any aliases.

Definition at line 466 of file wrappers.py.

466  def values(cls):
467  """Return an iterable of registered subclasses, with duplicates
468  corresponding to any aliases.
469  """
470  return cls._registry.values()
471 

Member Data Documentation

◆ readFitsWithOptions

lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.readFitsWithOptions = classmethod(imageReadFitsWithOptions)
static

Definition at line 112 of file maskedImageContinued.py.

◆ writeFitsWithOptions

lsst.afw.image.maskedImage.maskedImageContinued.MaskedImage.writeFitsWithOptions = exposureWriteFitsWithOptions
static

Definition at line 114 of file maskedImageContinued.py.


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