DataCoordinateIterable¶
-
class
lsst.daf.butler.DataCoordinateIterable¶ Bases:
collections.abc.Iterable,typing.GenericAn abstract base class for homogeneous iterables of data IDs.
All elements of a
DataCoordinateIterableidentify the same set of dimensions (given by thegraphproperty) and generally have the sameDataCoordinate.hasFullandDataCoordinate.hasRecordsflag values.Attributes Summary
graphThe dimensions identified by these data IDs ( DimensionGraph).universeThe 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 DataCoordinateIterablecontaining 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 DimensionRecordinstances.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
strdimension 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
DataCoordinateIterablecontaining the single data ID given.Parameters: - dataId :
DataCoordinate Data ID to adapt. Must be a true
DataCoordinateinstance, not an arbitrary mapping. No runtime checking is performed.
Returns: - iterable :
DataCoordinateIterable A
DataCoordinateIterableinstance 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
DimensionRecordinstances.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
DataCoordinateIterablewithiterable.graph == graph. May beselfifgraph == self.graph. Elements are equivalent to those that would be created by callingDataCoordinate.subseton 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
DatasetCoordinateSequencewith the same elements asself, in the same order. May beselfif it is already aDataCoordinateSequence.
- seq :
-
toSet() → lsst.daf.butler.core.dimensions._dataCoordinateIterable.DataCoordinateSet¶ Transform this iterable into a
DataCoordinateSet.Returns: - set :
DataCoordinateSet A
DatasetCoordinateSetinstance with the same elements asself, after removing any duplicates. May beselfif it is already aDataCoordinateSet.
- set :
-