LSSTApplications  20.0.0
LSSTDataManagementBasePackage
Classes | Functions
lsst.synpipe.FakeSourceLib Namespace Reference

Classes

class  SkyMapIdContainer
 

Functions

def cropFakeImage (fakeImage, expBBox)
 
def addNoise (galImage, detector, rand_gen=None)
 

Function Documentation

◆ addNoise()

def lsst.synpipe.FakeSourceLib.addNoise (   galImage,
  detector,
  rand_gen = None 
)
adds noise to the the image and returns a variance plane
INPUT: image to add noise to
       detector where the image will be located, this sets the gain
NOTE: this assumes float type images and will break if given doubles
RETURN: a MaskedImageF with the image with additional noise and the
        variance plane
giving the variance due to the object

Definition at line 63 of file FakeSourceLib.py.

63 def addNoise(galImage, detector, rand_gen=None):
64  """
65  adds noise to the the image and returns a variance plane
66  INPUT: image to add noise to
67  detector where the image will be located, this sets the gain
68  NOTE: this assumes float type images and will break if given doubles
69  RETURN: a MaskedImageF with the image with additional noise and the
70  variance plane
71  giving the variance due to the object
72  """
73  # TODO: this is gaussian noise right now, probably good enough
74  varImage = galImage.Factory(galImage, True)
75  if rand_gen is None:
76  rand_gen = np.random
77  scale = np.sqrt(np.abs(varImage.getArray())) + 1e-12
78  noiseArray = rand_gen.normal(loc=0.0,
79  scale=scale,
80  size=(galImage.getHeight(),
81  galImage.getWidth()))
82  noiseImage = lsst.afw.image.ImageF(noiseArray.astype(np.float32))
83  galImage += noiseImage
84 
85  return lsst.afw.image.MaskedImageF(galImage, None, varImage)

◆ cropFakeImage()

def lsst.synpipe.FakeSourceLib.cropFakeImage (   fakeImage,
  expBBox 
)
Crops the Fake image to fit inside the exposure BBox
Note that the bboxes need to have the correct offsets applied
Args:
    fakeImage: fake image object
    expBBox:   bounding box for CCD exposure (integer type, BBoxI)
               and with offsets applied

Returns:
    New cropped fake image

Definition at line 41 of file FakeSourceLib.py.

41 def cropFakeImage(fakeImage, expBBox):
42  """
43  Crops the Fake image to fit inside the exposure BBox
44  Note that the bboxes need to have the correct offsets applied
45  Args:
46  fakeImage: fake image object
47  expBBox: bounding box for CCD exposure (integer type, BBoxI)
48  and with offsets applied
49 
50  Returns:
51  New cropped fake image
52  """
53  fakeBBox = fakeImage.getBBox(lsst.afw.image.PARENT)
54 
55  if not expBBox.contains(fakeBBox):
56  newBBox = fakeImage.getBBox(lsst.afw.image.PARENT)
57  newBBox.clip(expBBox)
58  fakeImage = fakeImage.Factory(fakeImage, newBBox,
59  lsst.afw.image.PARENT)
60  # TODO: finish this up
61 
62 
lsst.synpipe.FakeSourceLib.addNoise
def addNoise(galImage, detector, rand_gen=None)
Definition: FakeSourceLib.py:63
lsst.synpipe.FakeSourceLib.cropFakeImage
def cropFakeImage(fakeImage, expBBox)
Definition: FakeSourceLib.py:41