def print_new_dead_new_alive(): start_orbit = 21847 end_orbit = 21890 # start_orbit = 22820 # end_orbit = 22890 # start_orbit = 24023 # end_orbit = 24051 # start_orbit = 27229 # end_orbit = 27258 # start_orbit = 32726 # end_orbit = 32870 # start_orbit = 49230 # end_orbit = 49259 m1 = Mask() m1.apply_pixel_window(394, 620) m1.load_ascii(start_orbit) m2 = Mask() for orbit in range(start_orbit, end_orbit): m2.load_ascii(orbit) print(orbit, "new dead:", m1.get_new_dead(m2), "new alive:", m1.get_new_alive(m2)) return
def compare_error_30_vs_32(orbit): m30 = Mask() m30_combined = Mask() m30_combined.load_ascii(orbit) m30.load_sdmf30_crit(orbit, "residual") m32 = Mask() m32.load_sdmf32_figure(orbit, "darkError") newdead = m30.get_new_dead(m32) newalive = m30.get_new_alive(m32) print("new errory:", newdead.size, newdead) print("new errory but already bad", np.sum(np.in1d(newdead, np.where(m30_combined.mask)))) print("real new errory", newdead[np.in1d(newdead, np.where(m30_combined.mask), invert=True)]) print("new not-errory:", newalive.size, newalive) print("new not-errory but still bad", np.sum(np.in1d(newalive, np.where(m30_combined.mask)))) print("real new not-errory:", newalive[np.in1d(newalive, np.where(m30_combined.mask), invert=True)]) return
def print_nr_ppg(orbit): dictwls = get_closest_state_exec(orbit, 61, "/SCIA/SDMF31/sdmf_extract_calib.h5", readoutMean=True) orbit_range = dictwls["orbit_range"] orbit = orbit_range[0] print("closest wls orbit=", orbit) m = Mask() # # first just print combined smoothmask # m.load_ascii(orbit) print(np.where(m.mask)) fname = "/SCIA/SDMF30/sdmf_pixelmask.h5" fid = h5py.File(fname, "r") grpname = "orbitalMask/" ds_orbits = fid[grpname+"orbitList"] orbits = ds_orbits[:] #print(orbits) idx = orbit == orbits if np.sum(idx) == 0: raise Exception("orbit not in SDMF3.2 orbital mask") i = np.argmax(idx) print("i=",i) ds_ppg = fid[grpname+"pixelGain"] ppg_chan8 = ds_ppg[7*1024:,i] print("ppg", np.sum(ppg_chan8), np.where(ppg_chan8)) return