LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Public Member Functions | Static Public Attributes | List of all members
lsst.afw.table.baseColumnView.baseColumnViewContinued._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 37 of file baseColumnViewContinued.py.

Member Function Documentation

◆ __getitem__()

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

Definition at line 55 of file baseColumnViewContinued.py.

55  def __getitem__(self, key):
56  """Get a column view; key may be a key object or the name of a field.
57  """
58  if isinstance(key, str):
59  keyobj = self.schema.find(key).key
60  else:
61  keyobj = key
62  return self._basicget(keyobj)
63 

◆ __setitem__()

def lsst.afw.table.baseColumnView.baseColumnViewContinued._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 66 of file baseColumnViewContinued.py.

66  def __setitem__(self, key, value):
67  """Set a full column to an array or scalar; key may be a key object or
68  the name of a field.
69  """
70  self.get(key)[:] = value
71 

◆ extract()

def lsst.afw.table.baseColumnView.baseColumnViewContinued._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.

Additional Keyword Arguments
----------------------------
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.

Definition at line 82 of file baseColumnViewContinued.py.

82  def extract(self, *patterns, **kwds):
83  """Extract a dictionary of {<name>: <column-array>} in which the field
84  names match the given shell-style glob pattern(s).
85 
86  Any number of glob patterns may be passed (including none); the result
87  will be the union of all the result of each glob considered
88  separately.
89 
90  Note that extract("*", copy=True) provides an easy way to transform a
91  row-major ColumnView into a possibly more efficient set of contiguous
92  NumPy arrays.
93 
94  This routines unpacks `Flag` columns into full boolean arrays and
95  covariances into dense (i.e. non-triangular packed) arrays with
96  dimension (N,M,M), where N is the number of records and M is the
97  dimension of the covariance matrix. String fields are silently
98  ignored.
99 
100  Additional Keyword Arguments
101  ----------------------------
102  items : `list` The result of a call to self.schema.extract(); this
103  will be used instead of doing any new matching, and allows the
104  pattern matching to be reused to extract values from multiple
105  records. This keyword is incompatible with any position arguments
106  and the regex, sub, and ordered keyword arguments.
107 
108  where : array index expression
109  Any expression that can be passed as indices to a NumPy array,
110  including slices, boolean arrays, and index arrays, that will be
111  used to index each column array. This is applied before arrays
112  are copied when copy is True, so if the indexing results in an
113  implicit copy no unnecessary second copy is performed.
114 
115  copy : `bool`
116  If True, the returned arrays will be contiguous copies rather than
117  strided views into the catalog. This ensures that the lifetime of
118  the catalog is not tied to the lifetime of a particular catalog,
119  and it also may improve the performance if the array is used
120  repeatedly. Default is False.
121 
122  regex : `str` or `re` pattern
123  A regular expression to be used in addition to any glob patterns
124  passed as positional arguments. Note that this will be compared
125  with re.match, not re.search.
126 
127  sub : `str`
128  A replacement string (see re.MatchObject.expand) used to set the
129  dictionary keys of any fields matched by regex.
130 
131  ordered : `bool`
132  If True, a collections.OrderedDict will be returned instead of a
133  standard dict, with the order corresponding to the definition
134  order of the Schema. Default is False.
135  """
136  copy = kwds.pop("copy", False)
137  where = kwds.pop("where", None)
138  d = kwds.pop("items", None)
139  # If ``items`` is given as a kwd, an extraction has already been performed and there shouldn't be
140  # any additional keywords. Otherwise call schema.extract to load the
141  # dictionary.
142  if d is None:
143  d = self.schema.extract(*patterns, **kwds).copy()
144  elif kwds:
145  raise ValueError(
146  "kwd 'items' was specified, which is not compatible with additional keywords")
147 
148  def processArray(a):
149  if where is not None:
150  a = a[where]
151  if copy:
152  a = np.ascontiguousarray(a)
153  return a
154 
155  # must use list because we might be adding/deleting elements
156  for name, schemaItem in list(d.items()):
157  key = schemaItem.key
158  if key.getTypeString() == "String":
159  del d[name]
160  else:
161  d[name] = processArray(self.get(schemaItem.key))
162  return d
163 
daf::base::PropertyList * list
Definition: fits.cc:885

◆ get_bool_array()

def lsst.afw.table.baseColumnView.baseColumnViewContinued._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.

Definition at line 74 of file baseColumnViewContinued.py.

74  def get_bool_array(self, key):
75  """Get the value of a flag column as a boolean array; key must be a
76  key object or the name of a field.
77  """
78  if isinstance(key, KeyFlag):
79  return self[key]
80  raise TypeError("key={} not an lsst.afw.table.KeyFlag".format(key))
81 
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:168

◆ getBits()

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

Unlike the C++ version, each key may be a field name or a key,
and if keys is None then all bits are returned.

Definition at line 39 of file baseColumnViewContinued.py.

39  def getBits(self, keys=None):
40  """Get the bits associated with the specified keys
41 
42  Unlike the C++ version, each key may be a field name or a key,
43  and if keys is None then all bits are returned.
44  """
45  if keys is None:
46  return self.getAllBits()
47  arg = []
48  for k in keys:
49  if isinstance(k, str):
50  arg.append(self.schema.find(k).key)
51  else:
52  arg.append(k)
53  return self._getBits(arg)
54 

Member Data Documentation

◆ get

def lsst.afw.table.baseColumnView.baseColumnViewContinued._BaseColumnViewBase.get = __getitem__
static

Definition at line 64 of file baseColumnViewContinued.py.

◆ set

def lsst.afw.table.baseColumnView.baseColumnViewContinued._BaseColumnViewBase.set = __setitem__
static

Definition at line 72 of file baseColumnViewContinued.py.


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