Loading config/config_overall.yaml +2 −2 Original line number Diff line number Diff line Loading @@ -11,8 +11,8 @@ # can add some of the command-line arguments here as well; # ok to pass either way or both, as long as they are consistent work_dir: "/public/home/fangyuedong/project/workplace/" run_name: "ext_on" data_set: "csst-msc-c11-1000sqdeg-wide-v1" run_name: "csst-msc-c11-test-wide-v1" data_set: "csst-msc-c11-test-wide-v1" # Project cycle and run counter are used to name the outputs project_cycle: 11 Loading config/obs_config_SCI.yaml +5 −5 Original line number Diff line number Diff line Loading @@ -9,14 +9,13 @@ ############################################### # Observation type obs_type: "SCI" obs_type: null obs_type_code: "101" obs_id: "00000001" # this setting will only be used if pointing list file is not given # Define list of chips # run_chips: [6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23,24,25] # Photometric chips run_chips: [6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23,24,25] # Photometric chips # run_chips: [1,2,3,4,5,10,21,26,27,28,29,30] # Spectroscopic chips run_chips: [17, 22] # Define observation sequence call_sequence: Loading Loading @@ -55,11 +54,12 @@ call_sequence: # Set it here is you want to override the default # exptime: 150. # [s] add_dark: YES input_dark: YES # Simulate brighter fatter effects bright_fatter: {} # Add detector defects: hot/warm pixels, bad columns detector_defects: hot_pixels: YES # hot_pixels: NO dead_pixels: YES bad_columns: YES # Apply CCD Saturation & Blooming Loading observation_sim/instruments/chip/Chip.py +1 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ class Chip(FocalPlane): self.rotate_angle = 0. self.overscan = 1000 self.badfraction = 5e-5 self.chip_type = 'default' # Override default values # for key in ["gain", "bias_level, dark_exptime", "flat_exptime", "readout_time", "full_well", "read_noise", "dark_noise", "overscan"]: # if key in config["ins_effects"]: Loading observation_sim/instruments/chip/chip_utils.py +53 −24 Original line number Diff line number Diff line Loading @@ -214,14 +214,12 @@ def get_poisson(seed=0, sky_level=0.): return rng_poisson, poisson_noise def get_base_img(img, chip, read_noise, readout_time, dark_noise, exptime=150., InputDark=None): if InputDark is None: def get_base_img(img, chip, read_noise, readout_time, dark_noise, exptime=150., InputDark=False): if not InputDark: # base_level = read_noise**2 + dark_noise*(exptime+0.5*readout_time) # base_level = dark_noise*(exptime+0.5*readout_time) base_level = dark_noise*(exptime) base_img1 = base_level * np.ones_like(img.array) else: base_img1 = np.zeros_like(img.array) ny = int(chip.npix_y/2) nx = chip.npix_x Loading @@ -231,27 +229,58 @@ def get_base_img(img, chip, read_noise, readout_time, dark_noise, exptime=150., base_img2[:ny, :] = arr base_img2[ny:, :] = arr[::-1, :] base_img2[:, :] = base_img2[:, :]*(readout_time/ny)*dark_noise return base_img1+base_img2 def add_poisson(img, chip, exptime=150., seed=0, sky_level=0., poisson_noise=None, dark_noise=None, InputDark=None): else: # base_img1 = np.zeros_like(img.array) histfile = 'hist_dark_{:}.npz'.format(chip.chip_type) try: with pkg_resources.files('observation_sim.instruments.data.ccd').joinpath(histfile) as dark_histogram: hist_dc = np.load(dark_histogram) except AttributeError: with pkg_resources.path('observation_sim.instruments.data.ccd', histfile) as dark_histogram: hist_dc = np.load(dark_histogram) hist = stats.rv_histogram((hist_dc['counts'], hist_dc['bins']), density=True) xsize= chip.npix_x ysize= chip.npix_y seed = chip.chipID samples= hist.rvs(size=xsize*ysize, random_state=seed) map_dc = np.reshape(samples, [ysize, xsize]) base_img1 = map_dc*exptime # base_img2 map_temp = np.zeros((ysize//2, 2*xsize)) map_temp[:, :xsize] = map_dc[:ysize//2, :] map_temp[:, xsize:] = map_dc[:ysize//2-1:-1, :] dt= readout_time/(ysize/2.) A = map_temp A_adjusted= np.vstack([np.zeros((1, A.shape[1])), A[:-1]]) cumsum_A = np.cumsum(A_adjusted, axis=0) B = cumsum_A * dt base_img2 = np.vstack([B[:, :xsize], B[::-1, xsize:]]) del hist_dc del hist del samples del map_temp del A del A_adjusted del cumsum_A del B return base_img1+base_img2, map_dc def add_poisson(img, chip, exptime=150., seed=0, sky_level=0., poisson_noise=None, dark_noise=None, InputDark=False): if poisson_noise is None: _, poisson_noise = get_poisson(seed=seed, sky_level=sky_level) read_noise = chip.read_noise if dark_noise is None: dark_noise = chip.dark_noise base_img = get_base_img(img=img, chip=chip, read_noise=read_noise, readout_time=chip.readout_time, base_img, map_dc = get_base_img(img=img, chip=chip, read_noise=read_noise, readout_time=chip.readout_time, dark_noise=dark_noise, exptime=exptime, InputDark=InputDark) img += base_img img.addNoise(poisson_noise) # img -= read_noise**2 if InputDark is not None: # "Instrument/data/dark/dark_1000s_example_0.fits" hdu = fits.open(InputDark) img += hdu[0].data/hdu[0].header['exptime']*exptime hdu.close() return img, base_img del base_img return img, map_dc def add_brighter_fatter(img): Loading observation_sim/instruments/data/ccd/chip_definition.json +42 −0 Original line number Diff line number Diff line { "31": { "chip_name": "FGS1A-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -23,6 +24,7 @@ }, "32": { "chip_name": "FGS1A-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -45,6 +47,7 @@ }, "33": { "chip_name": "FGS1B-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -67,6 +70,7 @@ }, "34": { "chip_name": "FGS1B-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -89,6 +93,7 @@ }, "35": { "chip_name": "FGS2A-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -111,6 +116,7 @@ }, "36": { "chip_name": "FGS2A-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -133,6 +139,7 @@ }, "37": { "chip_name": "FGS2B-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -155,6 +162,7 @@ }, "38": { "chip_name": "FGS2B-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -177,6 +185,7 @@ }, "39": { "chip_name": "FGS3-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -199,6 +208,7 @@ }, "40": { "chip_name": "FGS3-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -221,6 +231,7 @@ }, "41": { "chip_name": "FGS4-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -243,6 +254,7 @@ }, "42": { "chip_name": "FGS4-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -265,6 +277,7 @@ }, "1": { "chip_name": "GI-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -288,6 +301,7 @@ }, "2": { "chip_name": "GV-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -311,6 +325,7 @@ }, "3": { "chip_name": "GU-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -334,6 +349,7 @@ }, "4": { "chip_name": "GU-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -357,6 +373,7 @@ }, "5": { "chip_name": "GV-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -380,6 +397,7 @@ }, "6": { "chip_name": "y-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -403,6 +421,7 @@ }, "7": { "chip_name": "i-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -426,6 +445,7 @@ }, "8": { "chip_name": "g-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -449,6 +469,7 @@ }, "9": { "chip_name": "r-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -472,6 +493,7 @@ }, "10": { "chip_name": "GI-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -495,6 +517,7 @@ }, "11": { "chip_name": "z-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -518,6 +541,7 @@ }, "12": { "chip_name": "NUV-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -541,6 +565,7 @@ }, "13": { "chip_name": "NUV-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -564,6 +589,7 @@ }, "14": { "chip_name": "u-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -587,6 +613,7 @@ }, "15": { "chip_name": "y-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -610,6 +637,7 @@ }, "16": { "chip_name": "y-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -633,6 +661,7 @@ }, "17": { "chip_name": "u-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -656,6 +685,7 @@ }, "18": { "chip_name": "NUV-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -679,6 +709,7 @@ }, "19": { "chip_name": "NUV-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -702,6 +733,7 @@ }, "20": { "chip_name": "z-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -725,6 +757,7 @@ }, "21": { "chip_name": "GI-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -748,6 +781,7 @@ }, "22": { "chip_name": "r-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -771,6 +805,7 @@ }, "23": { "chip_name": "g-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -794,6 +829,7 @@ }, "24": { "chip_name": "i-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -817,6 +853,7 @@ }, "25": { "chip_name": "y-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -840,6 +877,7 @@ }, "26": { "chip_name": "GV-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -863,6 +901,7 @@ }, "27": { "chip_name": "GU-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -886,6 +925,7 @@ }, "28": { "chip_name": "GU-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -909,6 +949,7 @@ }, "29": { "chip_name": "GV-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -932,6 +973,7 @@ }, "30": { "chip_name": "GI-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading Loading
config/config_overall.yaml +2 −2 Original line number Diff line number Diff line Loading @@ -11,8 +11,8 @@ # can add some of the command-line arguments here as well; # ok to pass either way or both, as long as they are consistent work_dir: "/public/home/fangyuedong/project/workplace/" run_name: "ext_on" data_set: "csst-msc-c11-1000sqdeg-wide-v1" run_name: "csst-msc-c11-test-wide-v1" data_set: "csst-msc-c11-test-wide-v1" # Project cycle and run counter are used to name the outputs project_cycle: 11 Loading
config/obs_config_SCI.yaml +5 −5 Original line number Diff line number Diff line Loading @@ -9,14 +9,13 @@ ############################################### # Observation type obs_type: "SCI" obs_type: null obs_type_code: "101" obs_id: "00000001" # this setting will only be used if pointing list file is not given # Define list of chips # run_chips: [6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23,24,25] # Photometric chips run_chips: [6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23,24,25] # Photometric chips # run_chips: [1,2,3,4,5,10,21,26,27,28,29,30] # Spectroscopic chips run_chips: [17, 22] # Define observation sequence call_sequence: Loading Loading @@ -55,11 +54,12 @@ call_sequence: # Set it here is you want to override the default # exptime: 150. # [s] add_dark: YES input_dark: YES # Simulate brighter fatter effects bright_fatter: {} # Add detector defects: hot/warm pixels, bad columns detector_defects: hot_pixels: YES # hot_pixels: NO dead_pixels: YES bad_columns: YES # Apply CCD Saturation & Blooming Loading
observation_sim/instruments/chip/Chip.py +1 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ class Chip(FocalPlane): self.rotate_angle = 0. self.overscan = 1000 self.badfraction = 5e-5 self.chip_type = 'default' # Override default values # for key in ["gain", "bias_level, dark_exptime", "flat_exptime", "readout_time", "full_well", "read_noise", "dark_noise", "overscan"]: # if key in config["ins_effects"]: Loading
observation_sim/instruments/chip/chip_utils.py +53 −24 Original line number Diff line number Diff line Loading @@ -214,14 +214,12 @@ def get_poisson(seed=0, sky_level=0.): return rng_poisson, poisson_noise def get_base_img(img, chip, read_noise, readout_time, dark_noise, exptime=150., InputDark=None): if InputDark is None: def get_base_img(img, chip, read_noise, readout_time, dark_noise, exptime=150., InputDark=False): if not InputDark: # base_level = read_noise**2 + dark_noise*(exptime+0.5*readout_time) # base_level = dark_noise*(exptime+0.5*readout_time) base_level = dark_noise*(exptime) base_img1 = base_level * np.ones_like(img.array) else: base_img1 = np.zeros_like(img.array) ny = int(chip.npix_y/2) nx = chip.npix_x Loading @@ -231,27 +229,58 @@ def get_base_img(img, chip, read_noise, readout_time, dark_noise, exptime=150., base_img2[:ny, :] = arr base_img2[ny:, :] = arr[::-1, :] base_img2[:, :] = base_img2[:, :]*(readout_time/ny)*dark_noise return base_img1+base_img2 def add_poisson(img, chip, exptime=150., seed=0, sky_level=0., poisson_noise=None, dark_noise=None, InputDark=None): else: # base_img1 = np.zeros_like(img.array) histfile = 'hist_dark_{:}.npz'.format(chip.chip_type) try: with pkg_resources.files('observation_sim.instruments.data.ccd').joinpath(histfile) as dark_histogram: hist_dc = np.load(dark_histogram) except AttributeError: with pkg_resources.path('observation_sim.instruments.data.ccd', histfile) as dark_histogram: hist_dc = np.load(dark_histogram) hist = stats.rv_histogram((hist_dc['counts'], hist_dc['bins']), density=True) xsize= chip.npix_x ysize= chip.npix_y seed = chip.chipID samples= hist.rvs(size=xsize*ysize, random_state=seed) map_dc = np.reshape(samples, [ysize, xsize]) base_img1 = map_dc*exptime # base_img2 map_temp = np.zeros((ysize//2, 2*xsize)) map_temp[:, :xsize] = map_dc[:ysize//2, :] map_temp[:, xsize:] = map_dc[:ysize//2-1:-1, :] dt= readout_time/(ysize/2.) A = map_temp A_adjusted= np.vstack([np.zeros((1, A.shape[1])), A[:-1]]) cumsum_A = np.cumsum(A_adjusted, axis=0) B = cumsum_A * dt base_img2 = np.vstack([B[:, :xsize], B[::-1, xsize:]]) del hist_dc del hist del samples del map_temp del A del A_adjusted del cumsum_A del B return base_img1+base_img2, map_dc def add_poisson(img, chip, exptime=150., seed=0, sky_level=0., poisson_noise=None, dark_noise=None, InputDark=False): if poisson_noise is None: _, poisson_noise = get_poisson(seed=seed, sky_level=sky_level) read_noise = chip.read_noise if dark_noise is None: dark_noise = chip.dark_noise base_img = get_base_img(img=img, chip=chip, read_noise=read_noise, readout_time=chip.readout_time, base_img, map_dc = get_base_img(img=img, chip=chip, read_noise=read_noise, readout_time=chip.readout_time, dark_noise=dark_noise, exptime=exptime, InputDark=InputDark) img += base_img img.addNoise(poisson_noise) # img -= read_noise**2 if InputDark is not None: # "Instrument/data/dark/dark_1000s_example_0.fits" hdu = fits.open(InputDark) img += hdu[0].data/hdu[0].header['exptime']*exptime hdu.close() return img, base_img del base_img return img, map_dc def add_brighter_fatter(img): Loading
observation_sim/instruments/data/ccd/chip_definition.json +42 −0 Original line number Diff line number Diff line { "31": { "chip_name": "FGS1A-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -23,6 +24,7 @@ }, "32": { "chip_name": "FGS1A-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -45,6 +47,7 @@ }, "33": { "chip_name": "FGS1B-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -67,6 +70,7 @@ }, "34": { "chip_name": "FGS1B-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -89,6 +93,7 @@ }, "35": { "chip_name": "FGS2A-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -111,6 +116,7 @@ }, "36": { "chip_name": "FGS2A-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -133,6 +139,7 @@ }, "37": { "chip_name": "FGS2B-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -155,6 +162,7 @@ }, "38": { "chip_name": "FGS2B-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -177,6 +185,7 @@ }, "39": { "chip_name": "FGS3-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -199,6 +208,7 @@ }, "40": { "chip_name": "FGS3-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -221,6 +231,7 @@ }, "41": { "chip_name": "FGS4-D1", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -243,6 +254,7 @@ }, "42": { "chip_name": "FGS4-D2", "chip_type": "default", "pix_size": 0.0075, "pix_scale": 0.0555, "npix_x": 11264, Loading @@ -265,6 +277,7 @@ }, "1": { "chip_name": "GI-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -288,6 +301,7 @@ }, "2": { "chip_name": "GV-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -311,6 +325,7 @@ }, "3": { "chip_name": "GU-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -334,6 +349,7 @@ }, "4": { "chip_name": "GU-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -357,6 +373,7 @@ }, "5": { "chip_name": "GV-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -380,6 +397,7 @@ }, "6": { "chip_name": "y-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -403,6 +421,7 @@ }, "7": { "chip_name": "i-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -426,6 +445,7 @@ }, "8": { "chip_name": "g-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -449,6 +469,7 @@ }, "9": { "chip_name": "r-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -472,6 +493,7 @@ }, "10": { "chip_name": "GI-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -495,6 +517,7 @@ }, "11": { "chip_name": "z-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -518,6 +541,7 @@ }, "12": { "chip_name": "NUV-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -541,6 +565,7 @@ }, "13": { "chip_name": "NUV-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -564,6 +589,7 @@ }, "14": { "chip_name": "u-1", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -587,6 +613,7 @@ }, "15": { "chip_name": "y-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -610,6 +637,7 @@ }, "16": { "chip_name": "y-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -633,6 +661,7 @@ }, "17": { "chip_name": "u-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -656,6 +685,7 @@ }, "18": { "chip_name": "NUV-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -679,6 +709,7 @@ }, "19": { "chip_name": "NUV-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -702,6 +733,7 @@ }, "20": { "chip_name": "z-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -725,6 +757,7 @@ }, "21": { "chip_name": "GI-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -748,6 +781,7 @@ }, "22": { "chip_name": "r-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -771,6 +805,7 @@ }, "23": { "chip_name": "g-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -794,6 +829,7 @@ }, "24": { "chip_name": "i-2", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -817,6 +853,7 @@ }, "25": { "chip_name": "y-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -840,6 +877,7 @@ }, "26": { "chip_name": "GV-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -863,6 +901,7 @@ }, "27": { "chip_name": "GU-3", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -886,6 +925,7 @@ }, "28": { "chip_name": "GU-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -909,6 +949,7 @@ }, "29": { "chip_name": "GV-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading @@ -932,6 +973,7 @@ }, "30": { "chip_name": "GI-4", "chip_type": "default", "pix_size": 0.01, "pix_scale": 0.074, "npix_x": 9216, Loading