Commit 9e56ecb1 authored by Wei Chengliang's avatar Wei Chengliang
Browse files

update det-params

parent e4643648
Pipeline #8742 passed with stage
in 0 seconds
......@@ -68,8 +68,8 @@ class Observation(object):
chip.shutter_img = np.ones_like(chip.img.array)
else:
chip.shutter_img = effects.ShutterEffectArr(
chip.img, t_exp=pointing.exp_time, t_shutter=1.3, dist_bearing=735, dt=1E-3)
chip.prnu_img = effects.PRNU_Img(xsize=chip.npix_x, ysize=chip.npix_y, sigma=0.01,
chip.img, t_exp=pointing.exp_time, t_shutter=1.5, dist_bearing=735, dt=1E-3)
chip.prnu_img = effects.PRNU_Img(xsize=chip.npix_x, ysize=chip.npix_y, sigma=0.007,
seed=int(self.config["random_seeds"]["seed_prnu"]+chip.chipID))
return chip
......
......@@ -119,7 +119,7 @@ class Chip(FocalPlane):
def _set_attributes_from_config(self, config):
# Default setting
self.read_noise = 5.0 # e/pix
self.read_noise = 4.5 # e/pix
self.dark_noise = 0.02 # e/pix/s
self.rotate_angle = 0.
self.overscan = 1000
......
......@@ -92,13 +92,14 @@ def BadColumns(GSImage, seed=20240309, chipid=1, logger=None):
print(xposit+1)
# signs = 2*rgdn.integers(0,2,size=(nbadsecA+nbadsecD))-1
# if meanimg>0:
dn = rgdn.integers(low=np.abs(meanimg)*1.3+50, high=np.abs(meanimg)*2+150, size=(nbadsecA+nbadsecD)) # *signs
# dn = rgdn.integers(low=np.abs(meanimg)*1.3+50, high=np.abs(meanimg)*2+150, size=(nbadsecA+nbadsecD)) # *signs
dn = rgdn.integers(low=50, high=30000, size=(nbadsecA+nbadsecD)) # *signs
# elif meanimg<0:
# dn = rgdn.integers(low=meanimg*2-150, high=meanimg*1.3-50, size=(nbadsecA+nbadsecD)) #*signs
for badcoli in range(nbadsecA):
GSImage.array[(ysize-collen[badcoli]):ysize, xposit[badcoli]:(xposit[badcoli]+1)] = (np.abs(np.random.normal(0, stdimg*2, (collen[badcoli], 1)))+dn[badcoli])
GSImage.array[(ysize-collen[badcoli]):ysize, xposit[badcoli]:(xposit[badcoli]+1)] = (np.abs(np.random.normal(0, 8.58*np.exp(0.0378*dn[badcoli]**0.5), (collen[badcoli], 1)))+dn[badcoli]) # (np.abs(np.random.normal(0, stdimg*2, (collen[badcoli], 1)))+dn[badcoli])
for badcoli in range(nbadsecD):
GSImage.array[0:collen[badcoli+nbadsecA], xposit[badcoli+nbadsecA]:(xposit[badcoli+nbadsecA]+1)] = (np.abs(np.random.normal(0, stdimg*2, (collen[badcoli+nbadsecA], 1)))+dn[badcoli+nbadsecA])
GSImage.array[0:collen[badcoli+nbadsecA], xposit[badcoli+nbadsecA]:(xposit[badcoli+nbadsecA]+1)] = (np.abs(np.random.normal(0, 8.58*np.exp(0.0378*dn[badcoli+nbadsecA]**0.5), (collen[badcoli+nbadsecA], 1)))+dn[badcoli+nbadsecA]) # (np.abs(np.random.normal(0, stdimg*2, (collen[badcoli+nbadsecA], 1)))+dn[badcoli+nbadsecA])
return GSImage
......
......@@ -277,13 +277,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"2": {
"chip_name": "GV-1",
......@@ -299,13 +300,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"3": {
"chip_name": "GU-1",
......@@ -321,13 +323,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"4": {
"chip_name": "GU-2",
......@@ -343,13 +346,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"5": {
"chip_name": "GV-2",
......@@ -365,13 +369,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"6": {
"chip_name": "y-1",
......@@ -387,13 +392,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"7": {
"chip_name": "i-1",
......@@ -409,13 +415,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"8": {
"chip_name": "g-1",
......@@ -431,13 +438,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"9": {
"chip_name": "r-1",
......@@ -453,13 +461,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"10": {
"chip_name": "GI-2",
......@@ -475,13 +484,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"11": {
"chip_name": "z-1",
......@@ -497,13 +507,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"12": {
"chip_name": "NUV-1",
......@@ -519,13 +530,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"13": {
"chip_name": "NUV-2",
......@@ -541,13 +553,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"14": {
"chip_name": "u-1",
......@@ -563,13 +576,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"15": {
"chip_name": "y-2",
......@@ -585,13 +599,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"16": {
"chip_name": "y-3",
......@@ -607,13 +622,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"17": {
"chip_name": "u-2",
......@@ -629,13 +645,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"18": {
"chip_name": "NUV-3",
......@@ -651,13 +668,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"19": {
"chip_name": "NUV-4",
......@@ -673,13 +691,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"20": {
"chip_name": "z-2",
......@@ -695,13 +714,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"21": {
"chip_name": "GI-3",
......@@ -717,13 +737,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"22": {
"chip_name": "r-2",
......@@ -739,13 +760,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"23": {
"chip_name": "g-2",
......@@ -761,13 +783,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"24": {
"chip_name": "i-2",
......@@ -783,13 +806,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"25": {
"chip_name": "y-4",
......@@ -805,13 +829,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"26": {
"chip_name": "GV-3",
......@@ -827,13 +852,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"27": {
"chip_name": "GU-3",
......@@ -849,13 +875,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"28": {
"chip_name": "GU-4",
......@@ -871,13 +898,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 3.2E-6
},
"29": {
"chip_name": "GV-4",
......@@ -893,13 +921,14 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
},
"30": {
"chip_name": "GI-4",
......@@ -915,12 +944,13 @@
"flat_exptime": 150,
"readout_time": 40,
"df_strength": 2.3,
"bias_level": 500,
"gain": 1.1,
"bias_level": 2000,
"gain": 1.5,
"full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
"overscan_y": 84,
"badfraction": 1.9E-5
}
}
......@@ -38,7 +38,7 @@ def add_detector_defects(self, chip, filt, tel, pointing, catalog, obs_param):
# Add Hot Pixels or/and Dead Pixels
rgbadpix = Generator(
PCG64(int(self.overall_config["random_seeds"]["seed_defective"]+chip.chipID)))
badfraction = 5E-5*(rgbadpix.random()*0.5+0.7)
badfraction = chip.badfraction*(rgbadpix.random()*0.5+0.7) # 5E-5*(rgbadpix.random()*0.5+0.7)
chip.img = effects.DefectivePixels(
chip.img,
IfHotPix=obs_param["hot_pixels"],
......
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