DataCoordinateIterable¶
-
class
lsst.daf.butler.
DataCoordinateIterable
¶ Bases:
collections.abc.Iterable
,typing.Generic
An abstract base class for homogeneous iterables of data IDs.
All elements of a
DataCoordinateIterable
identify the same set of dimensions (given by thegraph
property) and generally have the sameDataCoordinate.hasFull
andDataCoordinate.hasRecords
flag values.Attributes Summary
graph
The dimensions identified by these data IDs ( DimensionGraph
).universe
The universe that defines all known dimensions compatible with this iterable ( DimensionUniverse
).Methods Summary
constrain
(query, columns, …)Constrain a SQL query to include or relate to only data IDs in this iterable. fromScalar
(dataId)Return a DataCoordinateIterable
containing the single data ID given.hasFull
()Return whether all data IDs in this iterable identify all dimensions, not just required dimensions. hasRecords
()Return whether all data IDs in this iterable contain DimensionRecord
instances.subset
(graph)Return an iterable whose data IDs identify a subset of the dimensions that this one’s do. toSequence
()Transform this iterable into a DataCoordinateSequence
.toSet
()Transform this iterable into a DataCoordinateSet
.Attributes Documentation
-
graph
¶ The dimensions identified by these data IDs (
DimensionGraph
).
-
universe
¶ The universe that defines all known dimensions compatible with this iterable (
DimensionUniverse
).
Methods Documentation
-
constrain
(query: lsst.daf.butler.core.simpleQuery.SimpleQuery, columns: Callable[[str], sqlalchemy.sql.elements.ColumnElement]) → None¶ Constrain a SQL query to include or relate to only data IDs in this iterable.
Parameters: - query :
SimpleQuery
Struct that represents the SQL query to constrain, either by appending to its WHERE clause, joining a new table or subquery, or both.
- columns :
Callable
A callable that accepts
str
dimension names and returns SQLAlchemy objects representing a column for that dimension’s primary key value in the query.
- query :
-
static
fromScalar
(dataId: lsst.daf.butler.core.dimensions.coordinate.DataCoordinate) → lsst.daf.butler.core.dimensions._dataCoordinateIterable._ScalarDataCoordinateIterable¶ Return a
DataCoordinateIterable
containing the single data ID given.Parameters: - dataId :
DataCoordinate
Data ID to adapt. Must be a true
DataCoordinate
instance, not an arbitrary mapping. No runtime checking is performed.
Returns: - iterable :
DataCoordinateIterable
A
DataCoordinateIterable
instance of unspecified (i.e. implementation-detail) subclass. Guaranteed to implement thecollections.abc.Sized
(i.e.__len__
) andcollections.abc.Container
(i.e.__contains__
) interfaces as well as that ofDataCoordinateIterable
.
- dataId :
-
hasFull
() → bool¶ Return whether all data IDs in this iterable identify all dimensions, not just required dimensions.
Returns:
-
hasRecords
() → bool¶ Return whether all data IDs in this iterable contain
DimensionRecord
instances.Returns:
-
subset
(graph: lsst.daf.butler.core.dimensions.graph.DimensionGraph) → lsst.daf.butler.core.dimensions._dataCoordinateIterable.DataCoordinateIterable¶ Return an iterable whose data IDs identify a subset of the dimensions that this one’s do.
Parameters: - graph :
DimensionGraph
Dimensions to be identified by the data IDs in the returned iterable. Must be a subset of
self.graph
.
Returns: - iterable :
DataCoordinateIterable
A
DataCoordinateIterable
withiterable.graph == graph
. May beself
ifgraph == self.graph
. Elements are equivalent to those that would be created by callingDataCoordinate.subset
on all elements inself
, possibly with deduplication and/or reordeding (depending on the subclass, which may make more specific guarantees).
- graph :
-
toSequence
() → lsst.daf.butler.core.dimensions._dataCoordinateIterable.DataCoordinateSequence¶ Transform this iterable into a
DataCoordinateSequence
.Returns: - seq :
DataCoordinateSequence
A new
DatasetCoordinateSequence
with the same elements asself
, in the same order. May beself
if it is already aDataCoordinateSequence
.
- seq :
-
toSet
() → lsst.daf.butler.core.dimensions._dataCoordinateIterable.DataCoordinateSet¶ Transform this iterable into a
DataCoordinateSet
.Returns: - set :
DataCoordinateSet
A
DatasetCoordinateSet
instance with the same elements asself
, after removing any duplicates. May beself
if it is already aDataCoordinateSet
.
- set :
-