LSST Applications  21.0.0+75b29a8a7f,21.0.0+e70536a077,21.0.0-1-ga51b5d4+62c747d40b,21.0.0-10-gbfb87ad6+3307648ee3,21.0.0-15-gedb9d5423+47cba9fc36,21.0.0-2-g103fe59+fdf0863a2a,21.0.0-2-g1367e85+d38a93257c,21.0.0-2-g45278ab+e70536a077,21.0.0-2-g5242d73+d38a93257c,21.0.0-2-g7f82c8f+e682ffb718,21.0.0-2-g8dde007+d179fbfa6a,21.0.0-2-g8f08a60+9402881886,21.0.0-2-ga326454+e682ffb718,21.0.0-2-ga63a54e+08647d4b1b,21.0.0-2-gde069b7+26c92b3210,21.0.0-2-gecfae73+0445ed2f95,21.0.0-2-gfc62afb+d38a93257c,21.0.0-27-gbbd0d29+ae871e0f33,21.0.0-28-g5fc5e037+feb0e9397b,21.0.0-3-g21c7a62+f4b9c0ff5c,21.0.0-3-g357aad2+57b0bddf0b,21.0.0-3-g4be5c26+d38a93257c,21.0.0-3-g65f322c+3f454acf5d,21.0.0-3-g7d9da8d+75b29a8a7f,21.0.0-3-gaa929c8+9e4ef6332c,21.0.0-3-ge02ed75+4b120a55c4,21.0.0-4-g3300ddd+e70536a077,21.0.0-4-g591bb35+4b120a55c4,21.0.0-4-gc004bbf+4911b9cd27,21.0.0-4-gccdca77+f94adcd104,21.0.0-4-ge8fba5a+2b3a696ff9,21.0.0-5-gb155db7+2c5429117a,21.0.0-5-gdf36809+637e4641ee,21.0.0-6-g00874e7+c9fd7f7160,21.0.0-6-g4e60332+4b120a55c4,21.0.0-7-gc8ca178+40eb9cf840,21.0.0-8-gfbe0b4b+9e4ef6332c,21.0.0-9-g2fd488a+d83b7cd606,w.2021.05
LSST Data Management Base Package
Public Member Functions | Public Attributes | List of all members
lsst.obs.base.exposureIdInfo.ExposureIdInfo Class Reference
Inheritance diagram for lsst.obs.base.exposureIdInfo.ExposureIdInfo:

Public Member Functions

def __init__ (self, expId=0, expBits=1, maxBits=64)
 
def unusedBits (self)
 

Public Attributes

 expId
 
 expBits
 
 maxBits
 

Detailed Description

Exposure ID and number of bits used.

Attributes include:

expId
    exposure ID as an int
expBits
    maximum number of bits allowed for exposure IDs
maxBits
    maximum number of bits available for values that combine exposure ID
    with other information, such as source ID
unusedBits
    maximum number of bits available for non-exposure info
    (maxBits - expBits)

One common use is creating an ID factory for making a source table.
For example, given a data butler `butler` and a data ID `dataId`:

.. code-block:: python

    from lsst.afw.table import IdFactory, SourceTable
    exposureIdInfo = butler.get("expIdInfo", dataId)
    sourceIdFactory = IdFactory.makeSource(exposureIdInfo.expId,
                                           exposureIdInfo.unusedBits)
    schema = SourceTable.makeMinimalSchema()
    #...add fields to schema as desired, then...
    sourceTable = SourceTable.make(self.schema, sourceIdFactory)

At least one bit must be reserved, even if there is no exposure ID, for
reasons that are not entirely clear (this is DM-6664).

Definition at line 25 of file exposureIdInfo.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.obs.base.exposureIdInfo.ExposureIdInfo.__init__ (   self,
  expId = 0,
  expBits = 1,
  maxBits = 64 
)
Construct an ExposureIdInfo

See the class doc string for an explanation of the arguments.

Definition at line 58 of file exposureIdInfo.py.

58  def __init__(self, expId=0, expBits=1, maxBits=64):
59  """Construct an ExposureIdInfo
60 
61  See the class doc string for an explanation of the arguments.
62  """
63  expId = int(expId)
64  expBits = int(expBits)
65  maxBits = int(maxBits)
66 
67  if expId.bit_length() > expBits:
68  raise RuntimeError("expId=%s uses %s bits > expBits=%s" % (expId, expId.bit_length(), expBits))
69  if maxBits < expBits:
70  raise RuntimeError("expBits=%s > maxBits=%s" % (expBits, maxBits))
71 
72  self.expId = expId
73  self.expBits = expBits
74  self.maxBits = maxBits
75 

Member Function Documentation

◆ unusedBits()

def lsst.obs.base.exposureIdInfo.ExposureIdInfo.unusedBits (   self)

Definition at line 77 of file exposureIdInfo.py.

77  def unusedBits(self):
78  return self.maxBits - self.expBits

Member Data Documentation

◆ expBits

lsst.obs.base.exposureIdInfo.ExposureIdInfo.expBits

Definition at line 73 of file exposureIdInfo.py.

◆ expId

lsst.obs.base.exposureIdInfo.ExposureIdInfo.expId

Definition at line 72 of file exposureIdInfo.py.

◆ maxBits

lsst.obs.base.exposureIdInfo.ExposureIdInfo.maxBits

Definition at line 74 of file exposureIdInfo.py.


The documentation for this class was generated from the following file: