DatasetRef¶
-
class
lsst.daf.butler.DatasetRef¶ Bases:
objectReference to a Dataset in a
Registry.A
DatasetRefmay point to a Dataset that currently does not yet exist (e.g., because it is a predicted input for provenance).Parameters: - datasetType :
DatasetType The
DatasetTypefor this Dataset.- dataId :
DataCoordinate A mapping of dimensions that labels the Dataset within a Collection.
- id :
int, optional The unique integer identifier assigned when the dataset is created.
- run :
str, optional The name of the run this dataset was associated with when it was created.
- hash :
bytes, optional A hash of the dataset type and data ID. Should only be provided if copying from another
DatasetRefwith the same dataset type and data ID.- components :
dict, optional A dictionary mapping component name to a
DatasetReffor that component. Should not be passed unlessidis also provided (i.e. if this is a “resolved” reference).- conform :
bool, optional If
True(default), callDataCoordinate.standardizeto ensure that the data ID’s dimensions are consistent with the dataset type’s.DatasetRefinstances for which those dimensions are not equal should not be created in new code, but are still supported for backwards compatibility. New code should only passFalseif it can guarantee that the dimensions are already consistent.
Raises: - ValueError
Raised if
runorcomponentsis provided butidis not, or if a component dataset is inconsistent with the storage class.
Attributes Summary
componentsNamed DatasetRefcomponents (MappingorNone).dataIdA mapping of Dimensionprimary key values that labels the dataset within a Collection (DataCoordinate).datasetTypeThe definition of this dataset ( DatasetType).dimensionsThe dimensions associated with the underlying DatasetTypehashSecure hash of the DatasetTypename and data ID (bytes).idPrimary key of the dataset ( intorNone).runThe name of the run that produced the dataset. Methods Summary
expanded(dataId)Return a new DatasetRefwith the given expanded data ID.isComponent()Boolean indicating whether this DatasetRefrefers to a component of a composite.isComposite()Boolean indicating whether this DatasetRefis a composite type.resolved(id, run, components, …)Return a new DatasetRefwith the same data ID and dataset type and the given ID and run.unresolved()Return a new DatasetRefwith the same data ID and dataset type, but no ID, run, or components.Attributes Documentation
-
components¶ Named
DatasetRefcomponents (MappingorNone).For resolved
DatasetRefinstances, this is a read-only mapping that can be updated in-place viaRegistry.attachComponent(). For unresolved instances, this is alwaysNone.
-
dataId¶ A mapping of
Dimensionprimary key values that labels the dataset within a Collection (DataCoordinate).Cannot be changed after a
DatasetRefis constructed.
-
datasetType¶ The definition of this dataset (
DatasetType).Cannot be changed after a
DatasetRefis constructed.
-
dimensions¶ The dimensions associated with the underlying
DatasetType
-
hash¶ Secure hash of the
DatasetTypename and data ID (bytes).
-
id¶ Primary key of the dataset (
intorNone).Cannot be changed after a
DatasetRefis constructed; useresolvedorunresolvedto add or remove this information when creating a newDatasetRef.
-
run¶ The name of the run that produced the dataset.
Cannot be changed after a
DatasetRefis constructed; useresolvedorunresolvedto add or remove this information when creating a newDatasetRef.
Methods Documentation
-
expanded(dataId: lsst.daf.butler.core.dimensions.coordinate.ExpandedDataCoordinate) → lsst.daf.butler.core.datasets.ref.DatasetRef¶ Return a new
DatasetRefwith the given expanded data ID.Parameters: - dataId :
ExpandedDataCoordinate Data ID for the new
DatasetRef. Must compare equal to the original data ID.
Returns: - ref :
DatasetRef A new
DatasetRefwith the given data ID.
- dataId :
-
isComponent() → bool¶ Boolean indicating whether this
DatasetRefrefers to a component of a composite.Returns: - isComponent :
bool Trueif thisDatasetRefis a component,Falseotherwise.
- isComponent :
-
isComposite() → bool¶ Boolean indicating whether this
DatasetRefis a composite type.Returns: - isComposite :
bool Trueif thisDatasetRefis a composite type,Falseotherwise.
- isComposite :
-
resolved(id: int, run: str, components: Optional[Mapping[str, lsst.daf.butler.core.datasets.ref.DatasetRef]] = None) → lsst.daf.butler.core.datasets.ref.DatasetRef¶ Return a new
DatasetRefwith the same data ID and dataset type and the given ID and run.Parameters: - id :
int The unique integer identifier assigned when the dataset is created.
- run :
str The run this dataset was associated with when it was created.
- components :
dict, optional A dictionary mapping component name to a
DatasetReffor that component. Ifselfis already a resolvedDatasetRef, its components will be merged with this dictionary, with this dictionary taking precedence.
Returns: - ref :
DatasetRef A new
DatasetRef.
- id :
-
unresolved() → lsst.daf.butler.core.datasets.ref.DatasetRef¶ Return a new
DatasetRefwith the same data ID and dataset type, but no ID, run, or components.Returns: - ref :
DatasetRef A new
DatasetRef.
Notes
This can be used to compare only the data ID and dataset type of a pair of
DatasetRefinstances, regardless of whether either is resolved:if ref1.unresolved() == ref2.unresolved(): ...
- ref :
- datasetType :