Commit 22b1b8e8 authored by Fang Yuedong's avatar Fang Yuedong
Browse files

change the logical of adding Poisson noise in Chip.py

parent da9c9fbe
...@@ -316,9 +316,22 @@ class Chip(FocalPlane): ...@@ -316,9 +316,22 @@ class Chip(FocalPlane):
BoolDeadPix = False BoolDeadPix = False
self.logger = logger self.logger = logger
# Get Poisson noise generator
seed = int(config["random_seeds"]["seed_poisson"]) + pointing_ID*30 + self.chipID
rng_poisson = galsim.BaseDeviate(seed)
poisson_noise = galsim.PoissonNoise(rng_poisson, sky_level=0.)
# Add sky background # Add sky background
if sky_map is None: if sky_map is None:
sky_map = filt.getSkyNoise(exptime=self.exptime) sky_map = filt.getSkyNoise(exptime=self.exptime)
sky_map = sky_map * np.ones_like(img.array)
sky_map = galsim.Image(array=sky_map)
# Apply Poisson noise to the sky map
# (NOTE): only for photometric chips
# since it utilize the photon shooting
# to draw stamps
if self.survey_type == "photometric":
sky_map.addNoise(poisson_noise)
elif img.array.shape != sky_map.shape: elif img.array.shape != sky_map.shape:
raise ValueError("The shape img and sky_map must be equal.") raise ValueError("The shape img and sky_map must be equal.")
elif tel is not None: # If sky_map is given in flux elif tel is not None: # If sky_map is given in flux
...@@ -361,10 +374,10 @@ class Chip(FocalPlane): ...@@ -361,10 +374,10 @@ class Chip(FocalPlane):
del shutt_gsimg del shutt_gsimg
del shuttimg del shuttimg
# Add Poisson noise # Add Poisson noise to the resulting images
seed = int(config["random_seeds"]["seed_poisson"]) + pointing_ID*30 + self.chipID # (NOTE): this can only applied to the slitless image
rng_poisson = galsim.BaseDeviate(seed) # since it dose not use photon shooting to draw stamps
poisson_noise = galsim.PoissonNoise(rng_poisson, sky_level=0.) if self.survey_type == "spectroscopic":
img.addNoise(poisson_noise) img.addNoise(poisson_noise)
# Add cosmic-rays # Add cosmic-rays
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment