DataCoordinateSequence¶
-
class
lsst.daf.butler.
DataCoordinateSequence
(dataIds: Sequence[lsst.daf.butler.core.dimensions.coordinate.DataCoordinate], graph: lsst.daf.butler.core.dimensions.graph.DimensionGraph, *, hasFull: Optional[bool] = None, hasRecords: Optional[bool] = None, check: bool = True)¶ Bases:
lsst.daf.butler.core.dimensions._dataCoordinateIterable._DataCoordinateCollectionBase
,collections.abc.Sequence
,typing.Generic
A
DataCoordinateIterable
implementation that supports the fullcollections.abc.Sequence
interface.Parameters: - dataIds :
collections.abc.Sequence
[DataCoordinate
] A sequence of
DataCoordinate
instances, with dimensions equal tograph
. If this is a mutable object, the caller must be able to guarantee that it will not be modified by any other holders.- graph :
DimensionGraph
Dimensions identified by all data IDs in the set.
- hasFull :
bool
, optional If
True
, the caller guarantees thatDataCoordinate.hasFull
returnsTrue
for all given data IDs. IfFalse
, no such guarantee is made, andDataCoordinateSet.hasFull
will always returnFalse
. IfNone
(default),DataCoordinateSet.hasFull
will be computed from the given data IDs, immediately ifcheck
isTrue
, or on first use ifcheck
isFalse
.- hasRecords :
bool
, optional If
True
, the caller guarantees thatDataCoordinate.hasRecords
returnsTrue
for all given data IDs. IfFalse
, no such guarantee is made andDataCoordinateSet.hasRecords
will always returnFalse
. IfNone
(default),DataCoordinateSet.hasRecords
will be computed from the given data IDs, immediately ifcheck
isTrue
, or on first use ifcheck
isFalse
.- check: `bool`, optional
If
True
(default) check that all data IDs are consistent with the givengraph
and state flags at construction. IfFalse
, no checking will occur.
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. count
(value)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.index
(value, [start, [stop]])Raises ValueError if the value is not present. subset
(graph)Return a sequence 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 :
-
count
(value) → integer -- return number of occurrences of value¶
-
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:
-
index
(value[, start[, stop]]) → integer -- return first index of value.¶ Raises ValueError if the value is not present.
Supporting start and stop arguments is optional, but recommended.
-
subset
(graph: lsst.daf.butler.core.dimensions.graph.DimensionGraph) → lsst.daf.butler.core.dimensions._dataCoordinateIterable.DataCoordinateSequence¶ Return a sequence 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: - set :
DataCoordinateSequence
A
DataCoordinateSequence
withset.graph == graph
. Will beself
ifgraph == self.graph
. Elements are equivalent to those that would be created by callingDataCoordinate.subset
on all elements inself
, in the same order and with no deduplication.
- 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 :
- dataIds :