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] = None, hasRecords: Optional[bool, None] = None, check: bool = True)¶ Bases:
lsst.daf.butler.core.dimensions._dataCoordinateIterable._DataCoordinateCollectionBase
,collections.abc.Sequence
,typing.Generic
Iterable supporting the full Sequence interface.
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
.- 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
Dimensions identified by these data IDs ( DimensionGraph
).universe
Universe that defines all known compatible dimensions. Methods Summary
constrain
(query, columns, …)Constrain a SQL query to include or relate to only known data IDs. count
(value)fromScalar
(dataId)Return a DataCoordinateIterable
containing the single data ID.hasFull
()Indicate if all data IDs in this iterable identify all dimensions. hasRecords
()Return whether all data IDs in this iterable contain records. index
(value, [start, [stop]])Raises ValueError if the value is not present. subset
(graph)Return a sequence whose data IDs identify a subset. toSequence
()Transform this iterable into a DataCoordinateSequence
.toSet
()Transform this iterable into a DataCoordinateSet
.Attributes Documentation
-
graph
¶ Dimensions identified by these data IDs (
DimensionGraph
).
-
universe
¶ Universe that defines all known compatible dimensions.
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 known data IDs.
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.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¶ Indicate if 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 records.
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.
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 :