LSSTApplications  19.0.0-14-gb0260a2+72efe9b372,20.0.0+7927753e06,20.0.0+8829bf0056,20.0.0+995114c5d2,20.0.0+b6f4b2abd1,20.0.0+bddc4f4cbe,20.0.0-1-g253301a+8829bf0056,20.0.0-1-g2b7511a+0d71a2d77f,20.0.0-1-g5b95a8c+7461dd0434,20.0.0-12-g321c96ea+23efe4bbff,20.0.0-16-gfab17e72e+fdf35455f6,20.0.0-2-g0070d88+ba3ffc8f0b,20.0.0-2-g4dae9ad+ee58a624b3,20.0.0-2-g61b8584+5d3db074ba,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+226a441f5f,20.0.0-2-gf072044+8829bf0056,20.0.0-2-gf1f7952+ee58a624b3,20.0.0-20-geae50cf+e37fec0aee,20.0.0-25-g3dcad98+544a109665,20.0.0-25-g5eafb0f+ee58a624b3,20.0.0-27-g64178ef+f1f297b00a,20.0.0-3-g4cc78c6+e0676b0dc8,20.0.0-3-g8f21e14+4fd2c12c9a,20.0.0-3-gbd60e8c+187b78b4b8,20.0.0-3-gbecbe05+48431fa087,20.0.0-38-ge4adf513+a12e1f8e37,20.0.0-4-g97dc21a+544a109665,20.0.0-4-gb4befbc+087873070b,20.0.0-4-gf910f65+5d3db074ba,20.0.0-5-gdfe0fee+199202a608,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g64f541c+d529cf1a41,20.0.0-6-g9a5b7a1+a1cd37312e,20.0.0-68-ga3f3dda+5fca18c6a4,20.0.0-9-g4aef684+e18322736b,w.2020.45
LSSTDataManagementBasePackage
Functions | Variables
lsst.pipe.drivers.checksum Namespace Reference

Functions

def checksum (obj, header=None, sumType="MD5")
 Calculate a checksum of an object. More...
 

Variables

tuple exposureTypes = (afwImage.ExposureF, afwImage.ExposureD,)
 
tuple maskedImageTypes = (afwImage.MaskedImageF, afwImage.MaskedImageD,)
 
tuple decoratedImageTypes = (afwImage.DecoratedImageF, afwImage.DecoratedImageD,)
 
tuple imageTypes = (afwImage.ImageF, afwImage.ImageD, afwImage.ImageI,)
 
int PROTOCOL = 2
 
dictionary sumFunctions
 

Function Documentation

◆ checksum()

def lsst.pipe.drivers.checksum.checksum (   obj,
  header = None,
  sumType = "MD5" 
)

Calculate a checksum of an object.

We have special handling for images (e.g., breaking a MaskedImage into its various components), but the object may be any picklable type.

Parameters
objObject for which to calculate the checksum
headerFITS header (PropertyList) to update with checksum values, or None
sumTypeType of checksum to calculate
Returns
dict with header keyword,value pairs

Definition at line 24 of file checksum.py.

24 def checksum(obj, header=None, sumType="MD5"):
25  """!Calculate a checksum of an object
26 
27  We have special handling for images (e.g., breaking a MaskedImage into
28  its various components), but the object may be any picklable type.
29 
30  @param obj Object for which to calculate the checksum
31  @param header FITS header (PropertyList) to update with checksum values, or None
32  @param sumType Type of checksum to calculate
33  @return dict with header keyword,value pairs
34  """
35  assert sumType in sumFunctions, "Unknown sumType: %s" % (sumType,)
36  func = sumFunctions[sumType]
37 
38  results = {}
39 
40  if isinstance(obj, exposureTypes):
41  obj = obj.getMaskedImage()
42  if isinstance(obj, decoratedImageTypes):
43  obj = obj.getImage()
44 
45  if isinstance(obj, maskedImageTypes):
46  results[sumType + "_IMAGE"] = func(obj.getImage())
47  results[sumType + "_MASK"] = func(obj.getMask())
48  results[sumType + "_VARIANCE"] = func(obj.getVariance())
49  elif isinstance(obj, imageTypes):
50  results[sumType + "_IMAGE"] = func(obj)
51  else:
52  results[sumType] = func(obj)
53 
54  if header is not None:
55  for k, v in results.items():
56  header.add(k, v)
57 
58  return results

Variable Documentation

◆ decoratedImageTypes

tuple lsst.pipe.drivers.checksum.decoratedImageTypes = (afwImage.DecoratedImageF, afwImage.DecoratedImageD,)

Definition at line 12 of file checksum.py.

◆ exposureTypes

tuple lsst.pipe.drivers.checksum.exposureTypes = (afwImage.ExposureF, afwImage.ExposureD,)

Definition at line 10 of file checksum.py.

◆ imageTypes

tuple lsst.pipe.drivers.checksum.imageTypes = (afwImage.ImageF, afwImage.ImageD, afwImage.ImageI,)

Definition at line 13 of file checksum.py.

◆ maskedImageTypes

tuple lsst.pipe.drivers.checksum.maskedImageTypes = (afwImage.MaskedImageF, afwImage.MaskedImageD,)

Definition at line 11 of file checksum.py.

◆ PROTOCOL

int lsst.pipe.drivers.checksum.PROTOCOL = 2

Definition at line 15 of file checksum.py.

◆ sumFunctions

dictionary lsst.pipe.drivers.checksum.sumFunctions
Initial value:
1 = {
2  "CRC32": lambda obj: zlib.crc32(pickle.dumps(obj, PROTOCOL)),
3  "MD5": lambda obj: hashlib.md5(pickle.dumps(obj, PROTOCOL)).hexdigest(),
4 }

Definition at line 18 of file checksum.py.

lsst.pipe.drivers.checksum.checksum
def checksum(obj, header=None, sumType="MD5")
Calculate a checksum of an object.
Definition: checksum.py:24