add_LED_flat.py 1.09 KB
Newer Older
1
2
import numpy as np
from ObservationSim.MockObject import FlatLED
Zhang Xin's avatar
Zhang Xin committed
3
import galsim
4
5
6
7
8
9
10
11
12
13
14
15
16
17

def add_LED_Flat(self, chip, filt, tel, pointing, catalog, obs_param):
        
    if not hasattr(self, 'h_ext'):
        _, _ = self.prepare_headers(chip=chip, pointing=pointing)
    chip_wcs = galsim.FitsWCS(header = self.h_ext)
    pf_map = np.zeros_like(chip.img.array)
    if obs_param["LED_TYPE"] is not None:
        if len(obs_param["LED_TYPE"]) != 0:
            print("LED OPEN--------")

            led_obj = FlatLED(chip, filt)
            led_flat = led_obj.drawObj_LEDFlat(led_type_list=obs_param["LED_TYPE"], exp_t_list=obs_param["LED_TIME"])
            pf_map = led_flat
18
19
20
21
22
23
24
25
26

    if obs_param["shutter_effect"] == True:
        pf_map = pf_map * chip.shutter_img
        pf_map = np.array(pf_map, dtype='float32')
        self.updateHeaderInfo(header_flag='ext', keys = ['SHTSTAT'], values = [True])
    else:
        self.updateHeaderInfo(header_flag='ext', keys = ['SHTSTAT','SHTOPEN0','SHTOPEN1','SHTCLOS0','SHTCLOS1'], values = [False,'','','',''])

    chip.img = chip.img + pf_map
27
    return chip, filt, tel, pointing