ExposureIdInfo¶
- class lsst.obs.base.ExposureIdInfo(*args, **kwargs)¶
Bases:
objectStruct representing an exposure ID and the number of bits it uses.
- Parameters:
- expId
int Exposure ID. Note that this is typically the ID of an
afw.image.Exposure, not the ID of an actual observation, and hence it usually either includes a detector component or is derived from SkyMap IDs, and the observation ID component usually represents avisitrather thanexposure. For code using the Gen3 butler, this will usually be obtained via aDimensionPacker(see example below).- expBits
int Maximum number of bits allowed for exposure IDs of this type.
- maxBits
int, optional Maximum number of bits available for values that combine exposure ID with other information, such as source ID. If not provided (recommended when possible),
unusedBitswill be computed by assuming the full ID must fit an anlsst.afw.tableRecordId field.
- expId
Examples
One common use is creating an ID factory for making a source table. For example, given a
ExposureIdInfoinstanceinfo,from lsst.afw.table import SourceTable schema = SourceTable.makeMinimalSchema() #...add fields to schema as desired, then... sourceTable = SourceTable.make(self.schema, info.makeSourceIdFactory())
An
ExposureIdInfoinstance can be obtained from aDataCoordinatewith:expandedDataId = butler.registry.expandDataId(dataId) info = ExposureIdInfo.fromDataId(expandedDataId, "visit_detector")
The first line should be unnecessary for the data IDs passed to
PipelineTaskmethods, as those are already expanded, and"visit_detector"can be replaced by other strings to pack data IDs with different dimensions (e.g."tract_patch"or"tract_patch_band"); see the data repository’s dimensions configuration for other options.At least one bit must be reserved for the exposure ID, even if there is no exposure ID, for reasons that are not entirely clear (this is DM-6664).
Deprecated since version v26: Deprecated in favor of
lsst.meas.base.IdGenerator; will be removed after v27.Attributes Summary
Maximum number of bits available for non-exposure info
(int).Methods Summary
fromDataId(dataId[, name, maxBits])Construct an instance from a fully-expanded data ID.
Make a
lsst.afw.table.SourceTable.IdFactoryinstance from this exposure information.Attributes Documentation
- unusedBits¶
Maximum number of bits available for non-exposure info
(int).
Methods Documentation
- classmethod fromDataId(dataId: DataCoordinate, name: str = 'visit_detector', maxBits: int | None = None) ExposureIdInfo¶
Construct an instance from a fully-expanded data ID.
- Parameters:
- dataId
lsst.daf.butler.DataCoordinate An expanded data ID that identifies the dimensions to be packed and contains extra information about the maximum values for those dimensions. An expanded data ID can be obtained from
Registry.expandDataId, but all data IDs passed toPipelineTaskmethods should already be expanded.- name
str, optional Name of the packer to use. The set of available packers can be found in the data repository’s dimension configuration (see the “packers” section of
dimensions.yamlindaf_butlerfor the defaults).- maxBits
int, optional Forwarded as the
__init__parameter of the same name. Should usually be unnecessary.
- dataId
- Returns:
- info
ExposureIdInfo An
ExposureIdInfoinstance.
- info