DimensionPacker¶
-
class
lsst.daf.butler.DimensionPacker(fixed: lsst.daf.butler.core.dimensions._coordinate.DataCoordinate, dimensions: lsst.daf.butler.core.dimensions._graph.DimensionGraph)¶ Bases:
objectAn abstract base class for bidirectional mappings between a
DataCoordinateand a packed integer ID.Parameters: - fixed :
DataCoordinate Expanded data ID for the dimensions whose values must remain fixed (to these values) in all calls to
pack, and are used in the results of calls tounpack.fixed.hasRecords()must returnTrue.- dimensions :
DimensionGraph The dimensions of data IDs packed by this instance.
Attributes Summary
maxBitsThe maximum number of nonzero bits in the packed ID returned by pack(int).universeA graph containing all known dimensions ( DimensionUniverse).Methods Summary
pack(dataId, Mapping[str, Any]], *, …)Pack the given data ID into a single integer. unpack(packedId)Unpack an ID produced by packinto a fullDataCoordinate.Attributes Documentation
-
maxBits¶ The maximum number of nonzero bits in the packed ID returned by
pack(int).Must be implemented by all concrete derived classes. May return
Noneto indicate that there is no maximum.
-
universe¶ A graph containing all known dimensions (
DimensionUniverse).
Methods Documentation
-
pack(dataId: Union[lsst.daf.butler.core.dimensions._coordinate.DataCoordinate, Mapping[str, Any]], *, returnMaxBits: bool = False, **kwargs) → Union[Tuple[int, int], int]¶ Pack the given data ID into a single integer.
Parameters: - dataId :
DataId Data ID to pack. Values for any keys also present in the “fixed” data ID passed at construction must be the same as the values passed at construction.
- returnMaxBits :
bool If
True, return a tuple of(packed, self.maxBits).- **kwargs
Additional keyword arguments forwarded to
DataCoordinate.standardize.
Returns: Notes
Should not be overridden by derived class (
_packshould be overridden instead).- dataId :
-
unpack(packedId: int) → lsst.daf.butler.core.dimensions._coordinate.DataCoordinate¶ Unpack an ID produced by
packinto a fullDataCoordinate.Must be implemented by all concrete derived classes.
Parameters: Returns: - dataId :
DataCoordinate Dictionary-like ID that uniquely identifies all covered dimensions.
- dataId :
- fixed :