LSSTApplications  19.0.0-14-gb0260a2+599893a4c6,20.0.0+126303c00d,20.0.0+2f3d0e5c40,20.0.0+36ef800059,20.0.0+5ac7adcc0c,20.0.0+693a64958a,20.0.0+bebc1f60e8,20.0.0+cad136aba6,20.0.0+e2e26847c2,20.0.0+e69b5d60e7,20.0.0-1-g10df615+11b215b765,20.0.0-1-g253301a+36ef800059,20.0.0-1-g2b7511a+bebc1f60e8,20.0.0-1-g4d801e7+aeeb640673,20.0.0-1-g5b95a8c+f111d5f02f,20.0.0-1-g660595b+f45b7d88f4,20.0.0-1-gc96f8cb+e3b38461e6,20.0.0-1-gd1c87d7+85c46248f3,20.0.0-1-gedffbd8+d0b27f8bcb,20.0.0-16-g111fe95+e3b38461e6,20.0.0-16-g18096c8+d1a4df0137,20.0.0-16-g233ea98+a4df35922d,20.0.0-17-ga9337b4+41f27cfd54,20.0.0-2-g4dae9ad+e3b38461e6,20.0.0-2-g7818986+85c46248f3,20.0.0-2-gec03fae+ff10c6d78d,20.0.0-28-g282f9e7e+feda6aebd8,20.0.0-3-g4cc78c6+63636aeed8,20.0.0-3-g6a8623c+d1a4df0137,20.0.0-3-g750bffe+f5427621ce,20.0.0-4-gfea843c+f45b7d88f4,20.0.0-5-g357b56b+f45b7d88f4,20.0.0-5-gfcebe35+e2b15ed341,20.0.0-52-g73d9071+9bf1eb8e0a,20.0.0-7-gcda7bf1+773ba852cb,20.0.0-8-g4540fe2a+952f6d3c43,20.0.0-9-g61a2a9a3d+14f89e4eca,w.2020.40
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