unique_indices_all = [[i for i, v in enumerate(aotf_freq) if v == aotf] for aotf in unique_aotf] min_elements = min([len(i) for i in unique_indices_all]) unique_indices = [i[0:min_elements] for i in unique_indices_all] d["x"] = {"spectrum_%i" % i: [] for i in range(min_elements)} d["y"] = {"spectrum_%i" % i: [] for i in range(min_elements)} d["x"]["simulation_old"] = [] d["y"]["simulation_old"] = [] d["x"]["simulation_new"] = [] d["y"]["simulation_new"] = [] if channel == "so": orders = [m_aotf_so(a) for a in aotf_freq] elif channel == "lno": orders = [m_aotf_lno(a) for a in aotf_freq] print("Starting Order=%i" % orders[0]) order_range_file = [min(orders), max(orders)] order_range = [ order_range_file[0] - SIMULATION_ADJACENT_ORDERS, order_range_file[1] + SIMULATION_ADJACENT_ORDERS ] c_order = int(np.mean(order_range)) spec_res = spec_res_order(c_order) dim = detector_data_all.shape detector_centre_data = detector_data_all[:, [
hdf5Files, hdf5Filenames, _ = make_filelist(regex, file_level) for hdf5_file, hdf5_filename in zip(hdf5Files, hdf5Filenames): channel = hdf5_filename.split("_")[3].lower() detector_data_all = hdf5_file["Science/Y"][...] window_top_all = hdf5_file["Channel/WindowTop"][...] binning = hdf5_file["Channel/Binning"][0] + 1 n_rows = detector_data_all.shape[1] frame_indices = range(len(window_top_all)) """print diffraction order""" aotf_freq = hdf5_file["Channel/AOTFFrequency"][0] if channel == "so": order = m_aotf_so(aotf_freq) elif channel == "lno": order = m_aotf_lno(aotf_freq) print("Order=%i" % order) dim = detector_data_all.shape nu = len(list(set(window_top_all))) #number of unique window tops nff = int(np.floor(dim[0] / nu)) #number of full frames #make list of detector rows in each frame row_numbers_all = [] for window_top in window_top_all: row_numbers = np.arange(window_top, window_top + n_rows, binning) row_numbers_all.append(row_numbers) detector_data_reshaped = np.zeros(