LSSTApplications  18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
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)
86 
def addNoise(galImage, detector, rand_gen=None)

◆ 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 
def cropFakeImage(fakeImage, expBBox)