Fixed bug with raw files on empty regions
This commit is contained in:
parent
83a8983a77
commit
b8434be91c
@ -254,7 +254,11 @@ class Observation:
|
|||||||
test = np.zeros(len(pixpos['REF_DET1X']), dtype=bool)
|
test = np.zeros(len(pixpos['REF_DET1X']), dtype=bool)
|
||||||
for idx, (x, y) in enumerate(zip(pixpos['REF_DET1X'], pixpos['REF_DET1Y'])):
|
for idx, (x, y) in enumerate(zip(pixpos['REF_DET1X'], pixpos['REF_DET1Y'])):
|
||||||
test[idx] = np.logical_and(np.equal(x, x_region), np.equal(y, y_region)).any()
|
test[idx] = np.logical_and(np.equal(x, x_region), np.equal(y, y_region)).any()
|
||||||
tables.append(unique(Table({'RAWX': pixpos['RAWX'][test], 'RAWY': pixpos['RAWY'][test]})))
|
table = Table({'RAWX': pixpos['RAWX'][test], 'RAWY': pixpos['RAWY'][test]})
|
||||||
|
if not table:
|
||||||
|
tables.append(table)
|
||||||
|
else:
|
||||||
|
tables.append(unique(table))
|
||||||
hdu_list = fits.HDUList([
|
hdu_list = fits.HDUList([
|
||||||
fits.PrimaryHDU(),
|
fits.PrimaryHDU(),
|
||||||
fits.table_to_hdu(tables[0]),
|
fits.table_to_hdu(tables[0]),
|
||||||
@ -278,6 +282,7 @@ def process(args):
|
|||||||
lon, lat = sky_coord.l.value, sky_coord.b.value
|
lon, lat = sky_coord.l.value, sky_coord.b.value
|
||||||
rem_signal, rem_area, poiss_comp, rms = np.zeros((4, 2**bin_num))
|
rem_signal, rem_area, poiss_comp, rms = np.zeros((4, 2**bin_num))
|
||||||
region = np.zeros(obs.data.shape, dtype=bool)
|
region = np.zeros(obs.data.shape, dtype=bool)
|
||||||
|
region_raw = -1
|
||||||
rem_region = np.logical_and(region, np.logical_not(obs.data.mask))
|
rem_region = np.logical_and(region, np.logical_not(obs.data.mask))
|
||||||
masked_obs = np.ma.masked_array(obs.data, mask=region)
|
masked_obs = np.ma.masked_array(obs.data, mask=region)
|
||||||
good_lvl = np.zeros(bin_num, dtype=bool)
|
good_lvl = np.zeros(bin_num, dtype=bool)
|
||||||
@ -302,9 +307,10 @@ def process(args):
|
|||||||
good_lvl = lvl
|
good_lvl = lvl
|
||||||
try:
|
try:
|
||||||
region = wav_obs[2:-1][good_lvl].sum(0) > 0
|
region = wav_obs[2:-1][good_lvl].sum(0) > 0
|
||||||
|
if region.sum() > 0:
|
||||||
|
region_raw = obs.region_to_raw(region.astype(int))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
region = np.zeros(obs.data.shape, dtype=bool)
|
region = np.zeros(obs.data.shape, dtype=bool)
|
||||||
region_raw = obs.region_to_raw(region.astype(int))
|
|
||||||
masked_obs = np.ma.masked_array(obs.data, mask=region)
|
masked_obs = np.ma.masked_array(obs.data, mask=region)
|
||||||
rem_region = np.logical_and(region, np.logical_not(obs.data.mask))
|
rem_region = np.logical_and(region, np.logical_not(obs.data.mask))
|
||||||
to_table = [obs.obs_id,
|
to_table = [obs.obs_id,
|
||||||
@ -423,7 +429,8 @@ def process_folder(input_folder=None, start_new_file=None, fits_folder=None, thr
|
|||||||
continue
|
continue
|
||||||
DataFrame(table).to_csv(f'{fits_folder}\\test.csv', mode='a', header=False)
|
DataFrame(table).to_csv(f'{fits_folder}\\test.csv', mode='a', header=False)
|
||||||
fits.writeto(f'{region_folder}\\{str(result[0])+result[1]}_region.fits', region, overwrite=True)
|
fits.writeto(f'{region_folder}\\{str(result[0])+result[1]}_region.fits', region, overwrite=True)
|
||||||
fits.writeto(f'{region_raw_folder}\\{str(result[0])+result[1]}_reg_raw.fits', region_raw, overwrite=True)
|
if region_raw != -1:
|
||||||
|
region_raw.writeto(f'{region_raw_folder}\\{str(result[0])+result[1]}_reg_raw.fits', overwrite=True)
|
||||||
print(f'{num:>3} {str(result[0])+result[1]} is written.')
|
print(f'{num:>3} {str(result[0])+result[1]} is written.')
|
||||||
num +=1
|
num +=1
|
||||||
print('Converting generated csv to fits file...')
|
print('Converting generated csv to fits file...')
|
||||||
@ -432,3 +439,8 @@ def process_folder(input_folder=None, start_new_file=None, fits_folder=None, thr
|
|||||||
csv_file = read_csv(f'{fits_folder}\\test.csv', index_col=0, dtype={'obs_id': str})
|
csv_file = read_csv(f'{fits_folder}\\test.csv', index_col=0, dtype={'obs_id': str})
|
||||||
Table.from_pandas(csv_file).write(f'{fits_folder}\\test.fits', overwrite=True)
|
Table.from_pandas(csv_file).write(f'{fits_folder}\\test.fits', overwrite=True)
|
||||||
print(f'Finished writing: {perf_counter()-start}')
|
print(f'Finished writing: {perf_counter()-start}')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
process_folder(r'E:\Archive','y','D:\Programms\Jupyter\Science\Source_mask\Archive\Github_v3',(5,3))
|
||||||
|
# %%
|
||||||
|
Loading…
x
Reference in New Issue
Block a user