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 Attributes | List of all members
lsst.afw.table._baseColumnView._BaseColumnViewBase Class Reference

Public Member Functions

def getBits (self, keys=None)
 
def __getitem__ (self, key)
 
def __setitem__ (self, key, value)
 
def get_bool_array (self, key)
 
def extract (self, *patterns, **kwds)
 

Static Public Attributes

def get = __getitem__
 
def set = __setitem__
 

Detailed Description

Definition at line 35 of file _baseColumnView.py.

Member Function Documentation

◆ __getitem__()

def lsst.afw.table._baseColumnView._BaseColumnViewBase.__getitem__ (   self,
  key 
)
Get a column view; key may be a key object or the name of a field.

Definition at line 62 of file _baseColumnView.py.

62  def __getitem__(self, key):
63  """Get a column view; key may be a key object or the name of a field.
64  """
65  if isinstance(key, str):
66  keyobj = self.schema.find(key).key
67  else:
68  keyobj = key
69  return self._basicget(keyobj)
70 

◆ __setitem__()

def lsst.afw.table._baseColumnView._BaseColumnViewBase.__setitem__ (   self,
  key,
  value 
)
Set a full column to an array or scalar; key may be a key object or
the name of a field.

Definition at line 73 of file _baseColumnView.py.

73  def __setitem__(self, key, value):
74  """Set a full column to an array or scalar; key may be a key object or
75  the name of a field.
76  """
77  self.get(key)[:] = value
78 

◆ extract()

def lsst.afw.table._baseColumnView._BaseColumnViewBase.extract (   self,
patterns,
**  kwds 
)
Extract a dictionary of {<name>: <column-array>} in which the field
names match the given shell-style glob pattern(s).

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

Note that extract("*", copy=True) provides an easy way to transform a
row-major ColumnView into a possibly more efficient set of contiguous
NumPy arrays.

This routines unpacks `Flag` columns into full boolean arrays and
covariances into dense (i.e. non-triangular packed) arrays with
dimension (N,M,M), where N is the number of records and M is the
dimension of the covariance matrix.  String fields are silently
ignored.

Parameters
----------
patterns : Array of `str`
    List of glob patterns to use to select field names.
kwds : `dict`
    Dictionary of additional keyword arguments.  May contain:

    ``items`` : `list`
        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.
    ``where`` : array index expression
        Any expression that can be passed as indices to a
        NumPy array, including slices, boolean arrays, and
        index arrays, that will be used to index each column
        array.  This is applied before arrays are copied when
        copy is True, so if the indexing results in an
        implicit copy no unnecessary second copy is performed.
    ``copy`` : `bool`
        If True, the returned arrays will be contiguous copies
        rather than strided views into the catalog.  This
        ensures that the lifetime of the catalog is not tied
        to the lifetime of a particular catalog, and it also
        may improve the performance if the array is used
        repeatedly. Default is False.
    ``regex`` : `str` or `re` pattern
        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.

Returns
-------
d : `dict`
    Dictionary of extracted name-column array sets.

Raises
------
ValueError
    Raised if a list of ``items`` is supplied with additional
    keywords.

Definition at line 104 of file _baseColumnView.py.

104  def extract(self, *patterns, **kwds):
105  """Extract a dictionary of {<name>: <column-array>} in which the field
106  names match the given shell-style glob pattern(s).
107 
108  Any number of glob patterns may be passed (including none); the result
109  will be the union of all the result of each glob considered
110  separately.
111 
112  Note that extract("*", copy=True) provides an easy way to transform a
113  row-major ColumnView into a possibly more efficient set of contiguous
114  NumPy arrays.
115 
116  This routines unpacks `Flag` columns into full boolean arrays and
117  covariances into dense (i.e. non-triangular packed) arrays with
118  dimension (N,M,M), where N is the number of records and M is the
119  dimension of the covariance matrix. String fields are silently
120  ignored.
121 
122  Parameters
123  ----------
124  patterns : Array of `str`
125  List of glob patterns to use to select field names.
126  kwds : `dict`
127  Dictionary of additional keyword arguments. May contain:
128 
129  ``items`` : `list`
130  The result of a call to self.schema.extract(); this
131  will be used instead of doing any new matching, and
132  allows the pattern matching to be reused to extract
133  values from multiple records. This keyword is
134  incompatible with any position arguments and the
135  regex, sub, and ordered keyword arguments.
136  ``where`` : array index expression
137  Any expression that can be passed as indices to a
138  NumPy array, including slices, boolean arrays, and
139  index arrays, that will be used to index each column
140  array. This is applied before arrays are copied when
141  copy is True, so if the indexing results in an
142  implicit copy no unnecessary second copy is performed.
143  ``copy`` : `bool`
144  If True, the returned arrays will be contiguous copies
145  rather than strided views into the catalog. This
146  ensures that the lifetime of the catalog is not tied
147  to the lifetime of a particular catalog, and it also
148  may improve the performance if the array is used
149  repeatedly. Default is False.
150  ``regex`` : `str` or `re` pattern
151  A regular expression to be used in addition to any
152  glob patterns passed as positional arguments. Note
153  that this will be compared with re.match, not
154  re.search.
155  ``sub`` : `str`
156  A replacement string (see re.MatchObject.expand) used
157  to set the dictionary keys of any fields matched by
158  regex.
159  ``ordered`` : `bool`
160  If True, a collections.OrderedDict will be returned
161  instead of a standard dict, with the order
162  corresponding to the definition order of the
163  Schema. Default is False.
164 
165  Returns
166  -------
167  d : `dict`
168  Dictionary of extracted name-column array sets.
169 
170  Raises
171  ------
172  ValueError
173  Raised if a list of ``items`` is supplied with additional
174  keywords.
175  """
176  copy = kwds.pop("copy", False)
177  where = kwds.pop("where", None)
178  d = kwds.pop("items", None)
179  # If ``items`` is given as a kwd, an extraction has already been performed and there shouldn't be
180  # any additional keywords. Otherwise call schema.extract to load the
181  # dictionary.
182  if d is None:
183  d = self.schema.extract(*patterns, **kwds).copy()
184  elif kwds:
185  raise ValueError(
186  "kwd 'items' was specified, which is not compatible with additional keywords")
187 
188  def processArray(a):
189  if where is not None:
190  a = a[where]
191  if copy:
192  a = np.ascontiguousarray(a)
193  return a
194 
195  # must use list because we might be adding/deleting elements
196  for name, schemaItem in list(d.items()):
197  key = schemaItem.key
198  if key.getTypeString() == "String":
199  del d[name]
200  else:
201  d[name] = processArray(self.get(schemaItem.key))
202  return d
daf::base::PropertyList * list
Definition: fits.cc:913

◆ get_bool_array()

def lsst.afw.table._baseColumnView._BaseColumnViewBase.get_bool_array (   self,
  key 
)
Get the value of a flag column as a boolean array; key must be a
key object or the name of a field.

Parameters
----------
key : `lsst.afw.table.KeyFlag`
    Flag column to search for.

Returns
-------
value : `list` of `bool`
    Array of booleans corresponding to the flag.

Raises
------
TypeError
    Raised if the key is not a KeyFlag.

Definition at line 81 of file _baseColumnView.py.

81  def get_bool_array(self, key):
82  """Get the value of a flag column as a boolean array; key must be a
83  key object or the name of a field.
84 
85  Parameters
86  ----------
87  key : `lsst.afw.table.KeyFlag`
88  Flag column to search for.
89 
90  Returns
91  -------
92  value : `list` of `bool`
93  Array of booleans corresponding to the flag.
94 
95  Raises
96  ------
97  TypeError
98  Raised if the key is not a KeyFlag.
99  """
100  if isinstance(key, KeyFlag):
101  return self[key]
102  raise TypeError("key={} not an lsst.afw.table.KeyFlag".format(key))
103 
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:174

◆ getBits()

def lsst.afw.table._baseColumnView._BaseColumnViewBase.getBits (   self,
  keys = None 
)
Get the bits associated with the specified keys.

Parameters
----------
key : `str`
    Key to retrieve. Unlike the C++ version, each key may be a
    field name or a key, and if keys is `None` then all bits
    are returned.

Returns
-------
bits : `int`
     Integer array of the requested bitmask.

Definition at line 37 of file _baseColumnView.py.

37  def getBits(self, keys=None):
38  """Get the bits associated with the specified keys.
39 
40  Parameters
41  ----------
42  key : `str`
43  Key to retrieve. Unlike the C++ version, each key may be a
44  field name or a key, and if keys is `None` then all bits
45  are returned.
46 
47  Returns
48  -------
49  bits : `int`
50  Integer array of the requested bitmask.
51  """
52  if keys is None:
53  return self.getAllBits()
54  arg = []
55  for k in keys:
56  if isinstance(k, str):
57  arg.append(self.schema.find(k).key)
58  else:
59  arg.append(k)
60  return self._getBits(arg)
61 

Member Data Documentation

◆ get

def lsst.afw.table._baseColumnView._BaseColumnViewBase.get = __getitem__
static

Definition at line 71 of file _baseColumnView.py.

◆ set

def lsst.afw.table._baseColumnView._BaseColumnViewBase.set = __setitem__
static

Definition at line 79 of file _baseColumnView.py.


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