Skip to content
Chip.py 52.1 KiB
Newer Older
Fang Yuedong's avatar
Fang Yuedong committed
                if config["ins_effects"]["add_readout"] == True:
Fang Yuedong's avatar
Fang Yuedong committed
                    seed = int(config["random_seeds"]["seed_readout"]
                               ) + pointing_ID*30 + self.chipID + 2
                    rng_readout = galsim.BaseDeviate(seed)
Fang Yuedong's avatar
Fang Yuedong committed
                    readout_noise = galsim.GaussianNoise(
                        rng=rng_readout, sigma=self.read_noise)
                    DarkCombImg.addNoise(readout_noise)
Fang Yuedong's avatar
Fang Yuedong committed

                DarkCombImg, self.gain_channel = effects.ApplyGainNonUniform16(
Fang Yuedong's avatar
Fang Yuedong committed
                    DarkCombImg, gain=self.gain,
                    nsecy=self.nsecy, nsecx=self.nsecx,
                    seed=SeedGainNonuni+self.chipID,
                    logger=self.logger)
Fang Yuedong's avatar
Fang Yuedong committed
                # DarkCombImg = effects.AddOverscan(
Fang Yuedong's avatar
Fang Yuedong committed
                #     DarkCombImg,
                #     overscan=overscan, gain=self.gain,
Fang Yuedong's avatar
Fang Yuedong committed
                #     widthl=27, widthr=27, widtht=8, widthb=8)
                DarkCombImg.replaceNegative(replace_value=0)
                DarkCombImg.quantize()
                DarkCombImg = galsim.ImageUS(DarkCombImg)
Fang Yuedong's avatar
Fang Yuedong committed
                    img=DarkCombImg,
                    ra_cen=ra_cen,
                    dec_cen=dec_cen,
                    img_rot=img_rot,
                    im_type='DARK',
Fang Yuedong's avatar
Fang Yuedong committed
                    pointing_ID=pointing_ID,
                    output_dir=chip_output.subdir,
                    project_cycle=config["project_cycle"],
                    run_counter=config["run_counter"],
Fang Yuedong's avatar
Fang Yuedong committed
                    timestamp=timestamp_obs)
Fang Yuedong's avatar
Fang Yuedong committed
            del DarkCombImg
        # img = galsim.ImageUS(img)

        # # 16 output channel, with each a single image file
Fang Yuedong's avatar
Fang Yuedong committed
        # if config["ins_effects"]["readout16"] == True:
Fang Yuedong's avatar
Fang Yuedong committed
        #     print("  16 Output Channel simulation")
        #     for coli in [0, 1]:
        #         for rowi in range(8):
        #             sub_img = effects.readout16(
Fang Yuedong's avatar
Fang Yuedong committed
        #                 GSImage=img,
        #                 rowi=rowi,
        #                 coli=coli,
Fang Yuedong's avatar
Fang Yuedong committed
        #                 overscan_value=self.overscan)
        #             rowcoltag = str(rowi) + str(coli)
        #             img_name_root = chip_output.img_name.split(".")[0]
        #             sub_img.write("%s/%s_%s.fits" % (chip_output.subdir, img_name_root, rowcoltag))
        #     del sub_img
Zhang Xin's avatar
Zhang Xin committed
        return img