LSST Applications  21.0.0+04719a4bac,21.0.0-1-ga51b5d4+f5e6047307,21.0.0-11-g2b59f77+a9c1acf22d,21.0.0-11-ga42c5b2+86977b0b17,21.0.0-12-gf4ce030+76814010d2,21.0.0-13-g1721dae+760e7a6536,21.0.0-13-g3a573fe+768d78a30a,21.0.0-15-g5a7caf0+f21cbc5713,21.0.0-16-g0fb55c1+b60e2d390c,21.0.0-19-g4cded4ca+71a93a33c0,21.0.0-2-g103fe59+bb20972958,21.0.0-2-g45278ab+04719a4bac,21.0.0-2-g5242d73+3ad5d60fb1,21.0.0-2-g7f82c8f+8babb168e8,21.0.0-2-g8f08a60+06509c8b61,21.0.0-2-g8faa9b5+616205b9df,21.0.0-2-ga326454+8babb168e8,21.0.0-2-gde069b7+5e4aea9c2f,21.0.0-2-gecfae73+1d3a86e577,21.0.0-2-gfc62afb+3ad5d60fb1,21.0.0-25-g1d57be3cd+e73869a214,21.0.0-3-g357aad2+ed88757d29,21.0.0-3-g4a4ce7f+3ad5d60fb1,21.0.0-3-g4be5c26+3ad5d60fb1,21.0.0-3-g65f322c+e0b24896a3,21.0.0-3-g7d9da8d+616205b9df,21.0.0-3-ge02ed75+a9c1acf22d,21.0.0-4-g591bb35+a9c1acf22d,21.0.0-4-g65b4814+b60e2d390c,21.0.0-4-gccdca77+0de219a2bc,21.0.0-4-ge8a399c+6c55c39e83,21.0.0-5-gd00fb1e+05fce91b99,21.0.0-6-gc675373+3ad5d60fb1,21.0.0-64-g1122c245+4fb2b8f86e,21.0.0-7-g04766d7+cd19d05db2,21.0.0-7-gdf92d54+04719a4bac,21.0.0-8-g5674e7b+d1bd76f71f,master-gac4afde19b+a9c1acf22d,w.2021.13
LSST Data Management Base Package
Public Member Functions | List of all members
lsst.afw.table._base.BaseRecord Class Reference

Public Member Functions

def extract (self, *patterns, **kwargs)
 
def __repr__ (self)
 

Detailed Description

Definition at line 32 of file _base.py.

Member Function Documentation

◆ __repr__()

def lsst.afw.table._base.BaseRecord.__repr__ (   self)

Definition at line 84 of file _base.py.

84  def __repr__(self):
85  return f"{type(self)}\n{self}"
86 
87 

◆ extract()

def lsst.afw.table._base.BaseRecord.extract (   self,
patterns,
**  kwargs 
)
Extract a dictionary of {<name>: <field-value>} in which the field names
match the given shell-style glob pattern(s).

Any number of glob patterns may be passed; the result will be the union of all
the result of each glob considered separately.

Parameters
----------
items : `dict`
    The result of a call to self.schema.extract(); this will be used
    instead of doing any new matching, and allows the pattern matching
    to be reused to extract values from multiple records.  This
    keyword is incompatible with any position arguments and the regex,
    sub, and ordered keyword arguments.
split : `bool`
    If `True`, fields with named subfields (e.g. points) will be split
    into separate items in the dict; instead of {"point":
    lsst.geom.Point2I(2,3)}, for instance, you'd get {"point.x":
    2, "point.y": 3}. Default is `False`.
regex : `str` or `re` pattern object
    A regular expression to be used in addition to any glob patterns
    passed as positional arguments.  Note that this will be compared
    with re.match, not re.search.
sub : `str`
    A replacement string (see `re.MatchObject.expand`) used to set the
    dictionary keys of any fields matched by regex.
ordered : `bool`
    If `True`, a `collections.OrderedDict` will be returned instead of
    a standard dict, with the order corresponding to the definition
    order of the `Schema`. Default is `False`.

Definition at line 34 of file _base.py.

34  def extract(self, *patterns, **kwargs):
35  """Extract a dictionary of {<name>: <field-value>} in which the field names
36  match the given shell-style glob pattern(s).
37 
38  Any number of glob patterns may be passed; the result will be the union of all
39  the result of each glob considered separately.
40 
41  Parameters
42  ----------
43  items : `dict`
44  The result of a call to self.schema.extract(); this will be used
45  instead of doing any new matching, and allows the pattern matching
46  to be reused to extract values from multiple records. This
47  keyword is incompatible with any position arguments and the regex,
48  sub, and ordered keyword arguments.
49  split : `bool`
50  If `True`, fields with named subfields (e.g. points) will be split
51  into separate items in the dict; instead of {"point":
52  lsst.geom.Point2I(2,3)}, for instance, you'd get {"point.x":
53  2, "point.y": 3}. Default is `False`.
54  regex : `str` or `re` pattern object
55  A regular expression to be used in addition to any glob patterns
56  passed as positional arguments. Note that this will be compared
57  with re.match, not re.search.
58  sub : `str`
59  A replacement string (see `re.MatchObject.expand`) used to set the
60  dictionary keys of any fields matched by regex.
61  ordered : `bool`
62  If `True`, a `collections.OrderedDict` will be returned instead of
63  a standard dict, with the order corresponding to the definition
64  order of the `Schema`. Default is `False`.
65  """
66  d = kwargs.pop("items", None)
67  split = kwargs.pop("split", False)
68  if d is None:
69  d = self.schema.extract(*patterns, **kwargs).copy()
70  elif kwargs:
71  kwargsStr = ", ".join(kwargs.keys())
72  raise ValueError(f"Unrecognized keyword arguments for extract: {kwargsStr}")
73  # must use list because we might be adding/deleting elements
74  for name, schemaItem in list(d.items()):
75  key = schemaItem.key
76  if split and key.HAS_NAMED_SUBFIELDS:
77  for subname, subkey in zip(key.subfields, key.subkeys):
78  d[f"{name}.{subname}"] = self.get(subkey)
79  del d[name]
80  else:
81  d[name] = self.get(schemaItem.key)
82  return d
83 
daf::base::PropertyList * list
Definition: fits.cc:913

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