DimensionPacker¶
- class lsst.daf.butler.DimensionPacker(fixed: DataCoordinate, dimensions: DimensionGroup | DimensionGraph)¶
Bases:
objectClass for going from
DataCoordinateto packed integer ID and back.An 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. Subclasses may ignore particular dimensions, and are permitted to require thatfixed.hasRecords()returnTrue.- dimensions
DimensionGrouporDimensionGraph The dimensions of data IDs packed by this instance. Only
DimensionGroupwill be supported after v27.
- fixed
Attributes Summary
The dimensions of data IDs packed by this instance (
DimensionGraph).Return The maximum number of nonzero bits in the packed ID.
Graph containing all known dimensions (
DimensionUniverse).Methods Summary
pack([dataId, returnMaxBits])Pack the given data ID into a single integer.
unpack(packedId)Unpack an ID produced by
packinto a fullDataCoordinate.Attributes Documentation
- dimensions¶
The dimensions of data IDs packed by this instance (
DimensionGraph).After v27 this will be a
DimensionGroup.
- maxBits¶
Return The maximum number of nonzero bits in the packed ID.
This packed ID will be returned by
pack(int).Must be implemented by all concrete derived classes. May return
Noneto indicate that there is no maximum.
- universe¶
Graph containing all known dimensions (
DimensionUniverse).
Methods Documentation
- pack(dataId: DataCoordinate | Mapping[str, Any] | None = None, *, returnMaxBits: bool = False, **kwargs: Any) 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, but in general you must still specify those keys.
- returnMaxBits
bool If
True, return a tuple of(packed, self.maxBits).- **kwargs
Additional keyword arguments are treated like additional key-value pairs in
dataId.
- dataId
- Returns:
Notes
Should not be overridden by derived class (
_packshould be overridden instead).
- abstract unpack(packedId: int) 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