DataCoordinate¶
- 
class lsst.daf.butler.DataCoordinate¶
- Bases: - lsst.daf.butler.core.utils.IndexedTupleDict- An immutable data ID dictionary that guarantees that its key-value pairs identify all required dimensions in a - DimensionGraph.- DataCoordinateinstances should usually be constructed via the- standardizeclass method; the constructor is reserved for callers that can guarantee that the- valuestuple has exactly the right elements.- Parameters: - graph : DimensionGraph
- The dimensions identified by this instance. 
- values : tuple
- Tuple of primary key values for the given dimensions. 
 - Notes - Like any data ID class, - DataCoordinatebehaves like a dictionary, mostly via methods inherited from- IndexedTupleDict. Like- NamedKeyDict, both- Dimensioninstances and- strnames thereof may be used as keys in lookup operations.- Subclasses are permitted to support lookup for any dimension in - self.graph.dimensions, but the base class only supports lookup for those in- self.graph.required, which is the minimal set needed to identify all others in a- Registry. Both the base class and subclasses define comparisons, iterators, and the- keys,- values, and- itemsviews to just the- self.graph.requiredsubset in order to guarantee true (i.e. Liskov) substitutability.- Attributes Summary - graph- The dimensions identified by this data ID ( - DimensionGraph).- universe- The universe that defines all known dimensions compatible with this coordinate ( - DimensionUniverse).- Methods Summary - byName()- Return a true - dictkeyed by- strdimension name and the same values as- self.- fingerprint(update)- Update a secure hash function with the values in this data ID. - get(k[,d])- items()- keys()- standardize(mapping, Any]] = None, *, graph, …)- Adapt an arbitrary mapping and/or additional arguments into a true - DataCoordinate, or augment an existing one.- subset(graph)- Return a new - DataCoordinatewhose graph is a subset of- self.graph.- values()- Attributes Documentation - 
graph¶
- The dimensions identified by this data ID ( - DimensionGraph).- Note that values are only required to be present for dimensions in - self.graph.required; all others may be retrieved (from a- Registry) given these.
 - 
universe¶
- The universe that defines all known dimensions compatible with this coordinate ( - DimensionUniverse).
 - Methods Documentation - 
byName() → Dict[str, Any]¶
- Return a true - dictkeyed by- strdimension name and the same values as- self.
 - 
fingerprint(update)¶
- Update a secure hash function with the values in this data ID. - Parameters: 
 - 
get(k[, d]) → D[k] if k in D, else d. d defaults to None.¶
 - 
items() → a set-like object providing a view on D's items¶
 - 
keys() → a set-like object providing a view on D's keys¶
 - 
static standardize(mapping: Optional[Mapping[str, Any]] = None, *, graph: Optional[DimensionGraph] = None, universe: Optional[DimensionUniverse] = None, **kwds) → DataCoordinate¶
- Adapt an arbitrary mapping and/or additional arguments into a true - DataCoordinate, or augment an existing one.- Parameters: - mapping : Mapping, optional
- An informal data ID that maps dimension names to their primary key values (may also be a true - DataCoordinate).
- graph : DimensionGraph
- The dimensions to be identified by the new - DataCoordinate. If not provided, will be inferred from the keys of- mapping, and- universemust be provided unless- mappingis already a- DataCoordinate.
- universe : DimensionUniverse
- All known dimensions and their relationships; used to expand and validate dependencies when - graphis not provided.
- kwds
- Additional keyword arguments are treated like additional key-value pairs in - mapping.
 - Returns: - coordinate : DataCoordinate
- A validated - DataCoordinateinstance. May be a subclass instance if and only if- mappingis a subclass instance and- graphis a subset of- mapping.graph.
 - Raises: - TypeError
- Raised if the set of optional arguments provided is not supported. 
- KeyError
- Raised if a key-value pair for a required dimension is missing. 
 - Notes - Because - DataCoordinatestores only values for required dimensions, key-value pairs for other related dimensions will be ignored and excluded from the result. This means that a- DataCoordinatemay contain fewer key-value pairs than the informal data ID dictionary it was constructed from.
- mapping : 
 - 
subset(graph: lsst.daf.butler.core.dimensions.graph.DimensionGraph) → lsst.daf.butler.core.dimensions.coordinate.DataCoordinate¶
- Return a new - DataCoordinatewhose graph is a subset of- self.graph.- Subclasses may override this method to return a subclass instance. - Parameters: - graph : DimensionGraph
- The dimensions identified by the returned - DataCoordinate.
 - Returns: - coordinate : DataCoordinate
- A - DataCoordinateinstance that identifies only the given dimensions.
 - Raises: - KeyError
- Raised if - graphis not a subset of- self.graph, and hence one or more dimensions has no associated primary key value.
 
- graph : 
 - 
values() → an object providing a view on D's values¶
 
- graph :