From e3046baa6830f1b27e57ccea2a1aee686d481f6e Mon Sep 17 00:00:00 2001 From: Andrey Mukhin Date: Tue, 20 Sep 2022 12:46:57 +0300 Subject: [PATCH 1/8] Added comments to all functions --- nuwavsource/nuwavsource.py | 71 ++++++++++++++++++++++++++++++++++---- 1 file changed, 64 insertions(+), 7 deletions(-) diff --git a/nuwavsource/nuwavsource.py b/nuwavsource/nuwavsource.py index c41e9ca..ab22a88 100644 --- a/nuwavsource/nuwavsource.py +++ b/nuwavsource/nuwavsource.py @@ -17,7 +17,10 @@ from warnings import filterwarnings filterwarnings('ignore') -def get_link_list(folder, sort_list=True): +def get_link_list(folder: str, sort_list=True) -> list[str]: + """ + Returns array of paths to all *_cl.evt files in the directory recursively. + """ links = glob(f'{folder}\\**\\*_cl.evt', recursive=True) if sort_list: sorted_list = sorted(links, key=lambda x: stat(x).st_size) @@ -26,7 +29,10 @@ def get_link_list(folder, sort_list=True): return np.array(links) -def binary_array(num): +def binary_array(num: int) -> list[list[bool]]: + """ + Returns list of all possible combinations of num of bool values. + """ variants = [[0, 1], ]*num out = np.zeros((2**num, num), bool) for idx, level in enumerate(itertools.product(*variants)): @@ -34,8 +40,12 @@ def binary_array(num): return out -def create_array(filename, mode='Sky'): - temp = fits.getdata(filename, 1) +def create_array(file_path: str, mode='Sky') -> list[int]: + """ + Returns a 2d array of counts for given observation file. + Modes 'Sky' and 'Det' return arrays in (X,Y) and DET1 respectively. + """ + temp = fits.getdata(file_path, 1) if mode == 'Sky': return np.histogram2d(temp['Y'], temp['X'], @@ -49,6 +59,10 @@ def create_array(filename, mode='Sky'): def get_wcs(file): + """ + Returns WCS for given observation. + Note that argument here is an opened fits file, not a path. + """ header = file[1].header wcs = WCS({ 'CTYPE1': header['TCTYP38'], 'CTYPE2': header['TCTYP39'], @@ -61,7 +75,10 @@ def get_wcs(file): return wcs -def atrous(level=0, max_size=1001): +def atrous(level=0, max_size=1001) -> list[list[float]]: + """ + Returns a trou kernel with the size 2**level and corresponding shape. + """ base = 1/256*np.array([ [1, 4, 6, 4, 1], [4, 16, 24, 16, 4], @@ -78,7 +95,10 @@ def atrous(level=0, max_size=1001): return output -def gauss(level=0, max_size=1000): +def gauss(level=0, max_size=1000) -> list[list[float]]: + """ + Returns gaussian kernel with sigma = 2**level + """ size = min(5*2**(level+1)+1, max_size) sigma = 2**(level) A = 1/(2*np.pi*sigma**2)**0.5 @@ -88,6 +108,9 @@ def gauss(level=0, max_size=1000): def adjecent(array): + """ + Returns two lists of indices of cells adjecent or diagonal to non-zero cells of given array + """ grid = np.array([ [1, 1, 1], [1, 0, 1], @@ -104,6 +127,9 @@ def adjecent(array): def add_borders(array, middle=True): + """ + Returns border mask for an DET1 observation array + """ mask = np.zeros(array.shape) datax, datay = np.any(array > 0, 0), np.any(array > 0, 1) # Add border masks @@ -119,6 +145,9 @@ def add_borders(array, middle=True): def fill_poisson(array, size_input=32): + """ + Fills all masked elements of an array with poisson signal with local expected value. + """ if not (isinstance(array, np.ma.MaskedArray)): print('No mask found') return array @@ -137,6 +166,10 @@ def fill_poisson(array, size_input=32): def mirror(array): + """ + Returns 3 times bigger array with mirrored elements. + Original array is located in center. + """ size = array.shape[0] output = np.tile(array, (3, 3)) output[0:size] = np.flipud(output[0:size]) @@ -147,7 +180,10 @@ def mirror(array): class Observation: - def __init__(self, file_name, E_borders=[3,20]): + """ + Main class, contains information about the observation given. + """ + def __init__(self, file_name, E_borders=[3, 20]): self.filename = file_name self.name = file_name[file_name.find('nu'):].replace('_cl.evt','') with fits.open(file_name) as file: @@ -163,11 +199,19 @@ class Observation: self.exposure = self.header['EXPOSURE'] def get_coeff(self): + """ + Returns normalalizing coefficients for different chips of the observation detector. + Coefficients are obtained from stacked observations in OCC mode. + """ coeff = np.array([0.977, 0.861, 1.163, 1.05]) if self.det == 'A' else np.array([1.004, 0.997, 1.025, 0.979]) resized_coeff = (coeff).reshape(2, 2).repeat(180, 0).repeat(180, 1) return resized_coeff def get_data(self, file, E_borders=[3, 20]): + """ + Returns masked array with DET1 image data for given energy band. + Mask is created from observations badpix tables and to mask the border and gaps. + """ PI_min, PI_max = (np.array(E_borders)-1.6)/0.04 data = file[1].data.copy() idx_mask = (data['STATUS'].sum(1) == 0) @@ -182,6 +226,9 @@ class Observation: return output, mask def get_bad_pix(self, file): + """ + Creates a mask for observation based on badpix tables. + """ output = np.zeros((360, 360)) kernel = np.ones((5, 5)) for i in range(4): @@ -197,6 +244,9 @@ class Observation: return output def wavdecomp(self, mode='gauss', thresh=False, occ_coeff=False): + """ + Performs a wavelet decomposition of image. + """ # THRESHOLD if type(thresh) is int: thresh_max, thresh_add = thresh, thresh/2 @@ -245,6 +295,9 @@ class Observation: return conv_out def region_to_raw(self, region): + """ + Returns a hdu_list with positions of masked pixels in RAW coordinates. + """ x_region, y_region = np.where(region) tables = [] for i in range(4): @@ -349,6 +402,10 @@ def process(args): def process_folder(input_folder=None, start_new_file=None, fits_folder=None, thresh=None): + """ + Generates a fits-table of parameters, folder with mask images in DET1 and BADPIX tables in RAW for all observations in given folder. + Note that observations with exposure < 1000 sec a skipped. + """ # DIALOGUE if not (input_folder): print('Enter path to the input folder') From 5dc1473a35721b76d28c7c12708b95cd908ebd07 Mon Sep 17 00:00:00 2001 From: Andrey Mukhin Date: Tue, 20 Sep 2022 12:51:24 +0300 Subject: [PATCH 2/8] Minor changes in process description --- nuwavsource/nuwavsource.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nuwavsource/nuwavsource.py b/nuwavsource/nuwavsource.py index ab22a88..8b42112 100644 --- a/nuwavsource/nuwavsource.py +++ b/nuwavsource/nuwavsource.py @@ -405,6 +405,8 @@ def process_folder(input_folder=None, start_new_file=None, fits_folder=None, thr """ Generates a fits-table of parameters, folder with mask images in DET1 and BADPIX tables in RAW for all observations in given folder. Note that observations with exposure < 1000 sec a skipped. + start_new_file can be either 'y' or 'n'. + thresh must be a tuple, e.g. (5,2). """ # DIALOGUE if not (input_folder): From d09c7155051f94a9f5fd0b68bd5e6699550700d7 Mon Sep 17 00:00:00 2001 From: Andrey Mukhin Date: Thu, 22 Sep 2022 12:45:48 +0300 Subject: [PATCH 3/8] Version change to 0.0.5 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 89ce25c..b155b23 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="nuwavsource", - version="0.0.4", + version="0.0.5", author="Andrey Mukhin", author_email="amukhin@phystech.edu", description="A package for source exclusion in NuStar observation data using wavelet decomposition", From 3d95e8356a4eed1797cd5a63f6aec01610157a4d Mon Sep 17 00:00:00 2001 From: Andrey Mukhin Date: Fri, 21 Oct 2022 13:11:19 +0300 Subject: [PATCH 4/8] Fixed wavelet decomp. Optimized neighbour search. --- nuwavsource/nuwavsource.py | 99 ++++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 31 deletions(-) diff --git a/nuwavsource/nuwavsource.py b/nuwavsource/nuwavsource.py index 8b42112..5412c24 100644 --- a/nuwavsource/nuwavsource.py +++ b/nuwavsource/nuwavsource.py @@ -17,7 +17,7 @@ from warnings import filterwarnings filterwarnings('ignore') -def get_link_list(folder: str, sort_list=True) -> list[str]: +def get_link_list(folder: str, sort_list: bool = True) -> list[str]: """ Returns array of paths to all *_cl.evt files in the directory recursively. """ @@ -40,7 +40,7 @@ def binary_array(num: int) -> list[list[bool]]: return out -def create_array(file_path: str, mode='Sky') -> list[int]: +def create_array(file_path: str, mode: str = 'Sky') -> list[int]: """ Returns a 2d array of counts for given observation file. Modes 'Sky' and 'Det' return arrays in (X,Y) and DET1 respectively. @@ -75,7 +75,7 @@ def get_wcs(file): return wcs -def atrous(level=0, max_size=1001) -> list[list[float]]: +def atrous(level: int = 0, max_size: int = 1001) -> list[list[float]]: """ Returns a trou kernel with the size 2**level and corresponding shape. """ @@ -95,7 +95,15 @@ def atrous(level=0, max_size=1001) -> list[list[float]]: return output -def gauss(level=0, max_size=1000) -> list[list[float]]: +def atrous_sig(level: int = 0) -> float: + sig_values = [0.8908, 0.20066, 0.08551, 0.04122, 0.02042] + if level < 5: + return sig_values[level] + else: + return sig_values[4]/2**(level-4) + + +def gauss(level: int = 0, max_size: int = 1000) -> list[list[float]]: """ Returns gaussian kernel with sigma = 2**level """ @@ -122,8 +130,7 @@ def adjecent(array): np.logical_not(array.mask)) except AttributeError: output = np.logical_and(output, np.logical_not(array)) - output = np.argwhere(output == True) - return output[:, 0], output[:, 1] + return output def add_borders(array, middle=True): @@ -255,41 +262,42 @@ class Observation: # INIT NEEDED VARIABLES wavelet = globals()[mode] max_level = 8 - conv_out = np.zeros((max_level+1, self.data.shape[0], self.data.shape[1])) + conv_out = np.zeros( + (max_level+1, self.data.shape[0], self.data.shape[1]) + ) size = self.data.shape[0] # PREPARE ORIGINAL DATA FOR ANALYSIS: FILL THE HOLES + MIRROR + DETECTOR CORRECTION data = fill_poisson(self.data) if occ_coeff: data = data*self.get_coeff() data = mirror(data) - data_bkg = data.copy() # ITERATIVELY CONDUCT WAVLET DECOMPOSITION for i in range(max_level): conv = fftconvolve(data, wavelet(i), mode='same') + conv[conv < 0] = 0 temp_out = data-conv # ERRORMAP CALCULATION if thresh_max != 0: - sig = ((wavelet(i)**2).sum())**0.5 - bkg = fftconvolve(data_bkg, wavelet(i), mode='same') + if mode == 'gauss': + sig = ((wavelet(i)**2).sum())**0.5 + if mode == 'atrous': + sig = atrous_sig(i) + bkg = fftconvolve(data, wavelet(i), mode='same') bkg[bkg < 0] = 0 err = (1+np.sqrt(bkg+0.75))*sig - significant = (temp_out > thresh_max*err)[size:2*size, size:2*size] + significant = (np.abs(temp_out) > thresh_max*err)[size:2*size, size:2*size] if thresh_add != 0: - add_significant = (temp_out > thresh_add*err)[size:2*size, size:2*size] + add_significant = (np.abs(temp_out) > thresh_add*err)[size:2*size, size:2*size] adj = adjecent(significant) - add_condition = np.logical_and(add_significant[adj[0], adj[1]], - np.logical_not(significant[adj[0], adj[1]])) + add_condition = np.logical_and(adj, add_significant) while (add_condition).any(): - to_add = adj[0][add_condition], adj[1][add_condition] - significant[to_add[0], to_add[1]] = True + significant = np.logical_or(significant, add_condition) adj = adjecent(significant) - add_condition = np.logical_and(add_significant[adj[0], adj[1]], - np.logical_not(significant[adj[0],adj[1]])) - temp_out[size:2*size, size:2*size][np.logical_not(significant)] = 0 + add_condition = np.logical_and(adj, add_significant) + significant = mirror(significant) + temp_out[np.logical_not(significant)] = 0 # WRITING THE WAVELET DECOMP LAYER conv_out[i] = +temp_out[size:2*size, size:2*size] - # DISCARDING NEGATIVE COMPONENTS OF WAVELETS TO MAKE MASK BY SUMMING WAVELET LAYERS - conv_out[i][conv_out[i] < 0] = 0 data = conv conv_out[max_level] = conv[size:2*size, size:2*size] return conv_out @@ -341,11 +349,13 @@ def process(args): good_lvl = np.zeros(bin_num, dtype=bool) good_idx = 0 if obs.exposure > 1000: - wav_obs = obs.wavdecomp('gauss', thresh, occ_coeff=True) + wav_obs = obs.wavdecomp('atrous', thresh, occ_coeff=True) + wav_obs[wav_obs < 0] = 0 occ_coeff = obs.get_coeff() for idx, lvl in enumerate(binary_array(bin_num)): try: region = wav_obs[2:-1][lvl].sum(0) > 0 + # region = fftconvolve(wav_obs[2:-1][lvl].sum(0)>0, gauss(3),mode='same') > 0.5 except ValueError: region = np.zeros(obs.data.shape, dtype=bool) masked_obs = np.ma.masked_array(obs.data, mask=region)*occ_coeff @@ -360,6 +370,7 @@ def process(args): good_lvl = lvl try: region = wav_obs[2:-1][good_lvl].sum(0) > 0 + # region = fftconvolve(wav_obs[2:-1][good_lvl].sum(0)>0, gauss(2),mode='same')>0.2 if region.sum() > 0: region_raw = obs.region_to_raw(region.astype(int)) except ValueError: @@ -453,13 +464,36 @@ def process_folder(input_folder=None, start_new_file=None, fits_folder=None, thr out_table.to_csv(f'{fits_folder}\\test.csv') out_table.to_csv(f'{fits_folder}\\test_skipped.csv') # FILTERING OUT PROCESSED OBSERVATIONS - already_processed_list = read_csv(f'{fits_folder}\\test.csv', index_col=0, dtype={'obs_id':str}) - already_skipped_list = read_csv(f'{fits_folder}\\test_skipped.csv', index_col=0, dtype={'obs_id':str}) - already_processed = (already_processed_list['obs_id'].astype(str)+already_processed_list['detector']).values - already_skipped = (already_skipped_list['obs_id'].astype(str)+already_skipped_list['detector']).values - obs_list_names = [curr[curr.index('nu')+2:curr.index('_cl.evt')-2] for curr in obs_list] - not_processed = np.array([(curr not in already_processed) for curr in obs_list_names]) - not_skipped = np.array([(curr not in already_skipped) for curr in obs_list_names]) + already_processed_list = read_csv( + f'{fits_folder}\\test.csv', + index_col=0, + dtype={'obs_id': str} + ) + already_skipped_list = read_csv( + f'{fits_folder}\\test_skipped.csv', + index_col=0, + dtype={'obs_id': str} + ) + already_processed = ( + already_processed_list['obs_id'].astype(str) + + already_processed_list['detector'] + ).values + already_skipped = ( + already_skipped_list['obs_id'].astype(str) + + already_skipped_list['detector'] + ).values + obs_list_names = [ + curr[curr.index('nu')+2:curr.index('_cl.evt')-2] + for curr in obs_list + ] + not_processed = np.array([ + (curr not in already_processed) + for curr in obs_list_names + ]) + not_skipped = np.array([ + (curr not in already_skipped) + for curr in obs_list_names + ]) obs_list = obs_list[np.logical_and(not_processed, not_skipped)] print(f'Removed already processed observations. {len(obs_list)} observations remain.') # START PROCESSING @@ -468,8 +502,11 @@ def process_folder(input_folder=None, start_new_file=None, fits_folder=None, thr for group_idx in range(len(obs_list)//group_size+1): print(f'Started group {group_idx}') group_list = obs_list[group_size*group_idx:min(group_size*(group_idx+1), len(obs_list))] - max_size = np.array([stat(file).st_size/2**20 for file in group_list]).max() - process_num = cpu_count() if max_size < 50 else (cpu_count()//2 if max_size < 200 else (cpu_count()//4 if max_size < 1000 else 1)) + max_size = np.array([ + stat(file).st_size/2**20 + for file in group_list + ]).max() + process_num = (cpu_count() if max_size < 50 else (cpu_count()//2 if max_size < 200 else (cpu_count()//4 if max_size < 1000 else 1))) print(f"Max file size in group is {max_size:.2f}Mb, create {process_num} processes") with get_context('spawn').Pool(processes=process_num) as pool: packed_args = map(lambda _: (_, thresh), group_list) From 07b3efda469c5dada2a2fd27826331288fd042c0 Mon Sep 17 00:00:00 2001 From: Andrey Mukhin Date: Wed, 2 Nov 2022 17:26:32 +0300 Subject: [PATCH 5/8] Fixed BADPIX files generation --- .../badpix_headers/nuAuserbadpixDET0.txt | 46 +++++++++++++++++++ .../badpix_headers/nuAuserbadpixDET1.txt | 46 +++++++++++++++++++ .../badpix_headers/nuAuserbadpixDET2.txt | 46 +++++++++++++++++++ .../badpix_headers/nuAuserbadpixDET3.txt | 46 +++++++++++++++++++ .../badpix_headers/nuAuserbadpix_main.txt | 11 +++++ .../badpix_headers/nuBuserbadpixDET0.txt | 46 +++++++++++++++++++ .../badpix_headers/nuBuserbadpixDET1.txt | 46 +++++++++++++++++++ .../badpix_headers/nuBuserbadpixDET2.txt | 46 +++++++++++++++++++ .../badpix_headers/nuBuserbadpixDET3.txt | 46 +++++++++++++++++++ .../badpix_headers/nuBuserbadpix_main.txt | 11 +++++ nuwavsource/nuwavsource.py | 42 ++++++++++++----- 11 files changed, 420 insertions(+), 12 deletions(-) create mode 100644 nuwavsource/badpix_headers/nuAuserbadpixDET0.txt create mode 100644 nuwavsource/badpix_headers/nuAuserbadpixDET1.txt create mode 100644 nuwavsource/badpix_headers/nuAuserbadpixDET2.txt create mode 100644 nuwavsource/badpix_headers/nuAuserbadpixDET3.txt create mode 100644 nuwavsource/badpix_headers/nuAuserbadpix_main.txt create mode 100644 nuwavsource/badpix_headers/nuBuserbadpixDET0.txt create mode 100644 nuwavsource/badpix_headers/nuBuserbadpixDET1.txt create mode 100644 nuwavsource/badpix_headers/nuBuserbadpixDET2.txt create mode 100644 nuwavsource/badpix_headers/nuBuserbadpixDET3.txt create mode 100644 nuwavsource/badpix_headers/nuBuserbadpix_main.txt diff --git a/nuwavsource/badpix_headers/nuAuserbadpixDET0.txt b/nuwavsource/badpix_headers/nuAuserbadpixDET0.txt new file mode 100644 index 0000000..3eca974 --- /dev/null +++ b/nuwavsource/badpix_headers/nuAuserbadpixDET0.txt @@ -0,0 +1,46 @@ +XTENSION= 'BINTABLE' / binary table extension +BITPIX = 8 / 8-bit bytes +NAXIS = 2 / 2-dimensional binary table +NAXIS1 = 12 / width of table in bytes +NAXIS2 = 64 / number of rows in table +PCOUNT = 0 / size of special data area +GCOUNT = 1 / one data group (required keyword) +TFIELDS = 4 / number of fields in each row +TTYPE1 = 'TIME ' / Start Time of Bad Pixel Interval +TFORM1 = '1D ' / data format of field: 8-byte DOUBLE +TUNIT1 = 's ' / physical unit of field +TTYPE2 = 'RAWX ' / X-position in Raw Detector Coordinates +TFORM2 = '1B ' / data format of field: BYTE +TUNIT2 = 'pixel ' / physical unit of field +TTYPE3 = 'RAWY ' / Y-position in Raw Detector Coordinates +TFORM3 = '1B ' / data format of field: BYTE +TUNIT3 = 'pixel ' / physical unit of field +TTYPE4 = 'BADFLAG ' / Bad pixel flag +TFORM4 = '16X ' / data format of field: BIT +EXTNAME = 'BADPIX ' / Name of the binary table extension +EXTVER = 1 / There shall be one instance of this extension f +DETNAM = 'DET0 ' / CZT Detector ID (0,1,2 or 3) +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMA ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +VERSION = 1 / Extension version number +FILENAME= 'nuAuserbadpix20100101v001.fits' / File name +CONTENT = 'NuSTAR User Bad Pixel Table' / File content +CCLS0001= 'BCF ' / Daset is a Basic Calibration File +CDTP0001= 'DATA ' / Calibration file contains data +CCNM0001= 'BADPIX ' / Type of calibration data +CVSD0001= '2010-01-01' / Date when this file should first be used +CVST0001= '00:00:00' / Time of day when this file should first be used +CDES0001= 'NuSTAR User Bad Pixel Table' / Description +COMMENT +COMMENT This extension provides, for Detector #0 of the FPMA, the list of +COMMENT user-defined bad pixels. +COMMENT The BADFLAG column contains the bad pixel flags. These are a +COMMENT combination of the following bit settings: +COMMENT +COMMENT b0000000000000001 Bad pixel from on-ground CALDB Bad Pixel File +COMMENT b0000000000000010 Disabled pixel from on-board software +COMMENT b0000000000000100 Bad pixels in the file provided by the user +COMMENT +END diff --git a/nuwavsource/badpix_headers/nuAuserbadpixDET1.txt b/nuwavsource/badpix_headers/nuAuserbadpixDET1.txt new file mode 100644 index 0000000..27ed739 --- /dev/null +++ b/nuwavsource/badpix_headers/nuAuserbadpixDET1.txt @@ -0,0 +1,46 @@ +XTENSION= 'BINTABLE' / binary table extension +BITPIX = 8 / 8-bit bytes +NAXIS = 2 / 2-dimensional binary table +NAXIS1 = 12 / width of table in bytes +NAXIS2 = 64 / number of rows in table +PCOUNT = 0 / size of special data area +GCOUNT = 1 / one data group (required keyword) +TFIELDS = 4 / number of fields in each row +TTYPE1 = 'TIME ' / Start Time of Bad Pixel Interval +TFORM1 = '1D ' / data format of field: 8-byte DOUBLE +TUNIT1 = 's ' / physical unit of field +TTYPE2 = 'RAWX ' / X-position in Raw Detector Coordinates +TFORM2 = '1B ' / data format of field: BYTE +TUNIT2 = 'pixel ' / physical unit of field +TTYPE3 = 'RAWY ' / Y-position in Raw Detector Coordinates +TFORM3 = '1B ' / data format of field: BYTE +TUNIT3 = 'pixel ' / physical unit of field +TTYPE4 = 'BADFLAG ' / Bad pixel flag +TFORM4 = '16X ' / data format of field: BIT +EXTNAME = 'BADPIX ' / Name of the binary table extension +EXTVER = 2 / There shall be one instance of this extension f +DETNAM = 'DET1 ' / CZT Detector ID (0,1,2 or 3) +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMA ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +VERSION = 1 / Extension version number +FILENAME= 'nuAuserbadpix20100101v001.fits' / File name +CONTENT = 'NuSTAR User Bad Pixel Table' / File content +CCLS0001= 'BCF ' / Daset is a Basic Calibration File +CDTP0001= 'DATA ' / Calibration file contains data +CCNM0001= 'BADPIX ' / Type of calibration data +CVSD0001= '2010-01-01' / Date when this file should first be used +CVST0001= '00:00:00' / Time of day when this file should first be used +CDES0001= 'NuSTAR User Bad Pixel Table' / Description +COMMENT +COMMENT This extension provides, for Detector #1 of the FPMA, the list of +COMMENT user-defined bad pixels. +COMMENT The BADFLAG column contains the bad pixel flags. These are a +COMMENT combination of the following bit settings: +COMMENT +COMMENT b0000000000000001 Bad pixel from on-ground CALDB Bad Pixel File +COMMENT b0000000000000010 Disabled pixel from on-board software +COMMENT b0000000000000100 Bad pixels in the file provided by the user +COMMENT +END diff --git a/nuwavsource/badpix_headers/nuAuserbadpixDET2.txt b/nuwavsource/badpix_headers/nuAuserbadpixDET2.txt new file mode 100644 index 0000000..9321b7b --- /dev/null +++ b/nuwavsource/badpix_headers/nuAuserbadpixDET2.txt @@ -0,0 +1,46 @@ +XTENSION= 'BINTABLE' / binary table extension +BITPIX = 8 / 8-bit bytes +NAXIS = 2 / 2-dimensional binary table +NAXIS1 = 12 / width of table in bytes +NAXIS2 = 64 / number of rows in table +PCOUNT = 0 / size of special data area +GCOUNT = 1 / one data group (required keyword) +TFIELDS = 4 / number of fields in each row +TTYPE1 = 'TIME ' / Start Time of Bad Pixel Interval +TFORM1 = '1D ' / data format of field: 8-byte DOUBLE +TUNIT1 = 's ' / physical unit of field +TTYPE2 = 'RAWX ' / X-position in Raw Detector Coordinates +TFORM2 = '1B ' / data format of field: BYTE +TUNIT2 = 'pixel ' / physical unit of field +TTYPE3 = 'RAWY ' / Y-position in Raw Detector Coordinates +TFORM3 = '1B ' / data format of field: BYTE +TUNIT3 = 'pixel ' / physical unit of field +TTYPE4 = 'BADFLAG ' / Bad pixel flag +TFORM4 = '16X ' / data format of field: BIT +EXTNAME = 'BADPIX ' / Name of the binary table extension +EXTVER = 3 / There shall be one instance of this extension f +DETNAM = 'DET2 ' / CZT Detector ID (0,1,2 or 3) +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMA ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +VERSION = 1 / Extension version number +FILENAME= 'nuAuserbadpix20100101v001.fits' / File name +CONTENT = 'NuSTAR User Bad Pixel Table' / File content +CCLS0001= 'BCF ' / Daset is a Basic Calibration File +CDTP0001= 'DATA ' / Calibration file contains data +CCNM0001= 'BADPIX ' / Type of calibration data +CVSD0001= '2010-01-01' / Date when this file should first be used +CVST0001= '00:00:00' / Time of day when this file should first be used +CDES0001= 'NuSTAR User Bad Pixel Table' / Description +COMMENT +COMMENT This extension provides, for Detector #2 of the FPMA, the list of +COMMENT user-defined bad pixels. +COMMENT The BADFLAG column contains the bad pixel flags. These are a +COMMENT combination of the following bit settings: +COMMENT +COMMENT b0000000000000001 Bad pixel from on-ground CALDB Bad Pixel File +COMMENT b0000000000000010 Disabled pixel from on-board software +COMMENT b0000000000000100 Bad pixels in the file provided by the user +COMMENT +END diff --git a/nuwavsource/badpix_headers/nuAuserbadpixDET3.txt b/nuwavsource/badpix_headers/nuAuserbadpixDET3.txt new file mode 100644 index 0000000..529adaa --- /dev/null +++ b/nuwavsource/badpix_headers/nuAuserbadpixDET3.txt @@ -0,0 +1,46 @@ +XTENSION= 'BINTABLE' / binary table extension +BITPIX = 8 / 8-bit bytes +NAXIS = 2 / 2-dimensional binary table +NAXIS1 = 12 / width of table in bytes +NAXIS2 = 64 / number of rows in table +PCOUNT = 0 / size of special data area +GCOUNT = 1 / one data group (required keyword) +TFIELDS = 4 / number of fields in each row +TTYPE1 = 'TIME ' / Start Time of Bad Pixel Interval +TFORM1 = '1D ' / data format of field: 8-byte DOUBLE +TUNIT1 = 's ' / physical unit of field +TTYPE2 = 'RAWX ' / X-position in Raw Detector Coordinates +TFORM2 = '1B ' / data format of field: BYTE +TUNIT2 = 'pixel ' / physical unit of field +TTYPE3 = 'RAWY ' / Y-position in Raw Detector Coordinates +TFORM3 = '1B ' / data format of field: BYTE +TUNIT3 = 'pixel ' / physical unit of field +TTYPE4 = 'BADFLAG ' / Bad pixel flag +TFORM4 = '16X ' / data format of field: BIT +EXTNAME = 'BADPIX ' / Name of the binary table extension +EXTVER = 4 / There shall be one instance of this extension f +DETNAM = 'DET3 ' / CZT Detector ID (0,1,2 or 3) +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMA ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +VERSION = 1 / Extension version number +FILENAME= 'nuAuserbadpix20100101v001.fits' / File name +CONTENT = 'NuSTAR User Bad Pixel Table' / File content +CCLS0001= 'BCF ' / Daset is a Basic Calibration File +CDTP0001= 'DATA ' / Calibration file contains data +CCNM0001= 'BADPIX ' / Type of calibration data +CVSD0001= '2010-01-01' / Date when this file should first be used +CVST0001= '00:00:00' / Time of day when this file should first be used +CDES0001= 'NuSTAR User Bad Pixel Table' / Description +COMMENT +COMMENT This extension provides, for Detector #3 of the FPMA, the list of +COMMENT user-defined bad pixels. +COMMENT The BADFLAG column contains the bad pixel flags. These are a +COMMENT combination of the following bit settings: +COMMENT +COMMENT b0000000000000001 Bad pixel from on-ground CALDB Bad Pixel File +COMMENT b0000000000000010 Disabled pixel from on-board software +COMMENT b0000000000000100 Bad pixels in the file provided by the user +COMMENT +END diff --git a/nuwavsource/badpix_headers/nuAuserbadpix_main.txt b/nuwavsource/badpix_headers/nuAuserbadpix_main.txt new file mode 100644 index 0000000..dfa020b --- /dev/null +++ b/nuwavsource/badpix_headers/nuAuserbadpix_main.txt @@ -0,0 +1,11 @@ +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 0 / number of data axes +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMA ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +END diff --git a/nuwavsource/badpix_headers/nuBuserbadpixDET0.txt b/nuwavsource/badpix_headers/nuBuserbadpixDET0.txt new file mode 100644 index 0000000..00994ed --- /dev/null +++ b/nuwavsource/badpix_headers/nuBuserbadpixDET0.txt @@ -0,0 +1,46 @@ +XTENSION= 'BINTABLE' / binary table extension +BITPIX = 8 / 8-bit bytes +NAXIS = 2 / 2-dimensional binary table +NAXIS1 = 12 / width of table in bytes +NAXIS2 = 64 / number of rows in table +PCOUNT = 0 / size of special data area +GCOUNT = 1 / one data group (required keyword) +TFIELDS = 4 / number of fields in each row +TTYPE1 = 'TIME ' / Start Time of Bad Pixel Interval +TFORM1 = '1D ' / data format of field: 8-byte DOUBLE +TUNIT1 = 's ' / physical unit of field +TTYPE2 = 'RAWX ' / X-position in Raw Detector Coordinates +TFORM2 = '1B ' / data format of field: BYTE +TUNIT2 = 'pixel ' / physical unit of field +TTYPE3 = 'RAWY ' / Y-position in Raw Detector Coordinates +TFORM3 = '1B ' / data format of field: BYTE +TUNIT3 = 'pixel ' / physical unit of field +TTYPE4 = 'BADFLAG ' / Bad pixel flag +TFORM4 = '16X ' / data format of field: BIT +EXTNAME = 'BADPIX ' / Name of the binary table extension +EXTVER = 1 / There shall be one instance of this extension f +DETNAM = 'DET0 ' / CZT Detector ID (0,1,2 or 3) +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMB ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +VERSION = 1 / Extension version number +FILENAME= 'nuBuserbadpix20100101v001.fits' / File name +CONTENT = 'NuSTAR User Bad Pixel Table' / File content +CCLS0001= 'BCF ' / Daset is a Basic Calibration File +CDTP0001= 'DATA ' / Calibration file contains data +CCNM0001= 'BADPIX ' / Type of calibration data +CVSD0001= '2010-01-01' / Date when this file should first be used +CVST0001= '00:00:00' / Time of day when this file should first be used +CDES0001= 'NuSTAR User Bad Pixel Table' / Description +COMMENT +COMMENT This extension provides, for Detector #0 of the FPMB, the list of +COMMENT user-defined bad pixels. +COMMENT The BADFLAG column contains the bad pixel flags. These are a +COMMENT combination of the following bit settings: +COMMENT +COMMENT b0000000000000001 Bad pixel from on-ground CALDB Bad Pixel File +COMMENT b0000000000000010 Disabled pixel from on-board software +COMMENT b0000000000000100 Bad pixels in the file provided by the user +COMMENT +END diff --git a/nuwavsource/badpix_headers/nuBuserbadpixDET1.txt b/nuwavsource/badpix_headers/nuBuserbadpixDET1.txt new file mode 100644 index 0000000..73964a3 --- /dev/null +++ b/nuwavsource/badpix_headers/nuBuserbadpixDET1.txt @@ -0,0 +1,46 @@ +XTENSION= 'BINTABLE' / binary table extension +BITPIX = 8 / 8-bit bytes +NAXIS = 2 / 2-dimensional binary table +NAXIS1 = 12 / width of table in bytes +NAXIS2 = 64 / number of rows in table +PCOUNT = 0 / size of special data area +GCOUNT = 1 / one data group (required keyword) +TFIELDS = 4 / number of fields in each row +TTYPE1 = 'TIME ' / Start Time of Bad Pixel Interval +TFORM1 = '1D ' / data format of field: 8-byte DOUBLE +TUNIT1 = 's ' / physical unit of field +TTYPE2 = 'RAWX ' / X-position in Raw Detector Coordinates +TFORM2 = '1B ' / data format of field: BYTE +TUNIT2 = 'pixel ' / physical unit of field +TTYPE3 = 'RAWY ' / Y-position in Raw Detector Coordinates +TFORM3 = '1B ' / data format of field: BYTE +TUNIT3 = 'pixel ' / physical unit of field +TTYPE4 = 'BADFLAG ' / Bad pixel flag +TFORM4 = '16X ' / data format of field: BIT +EXTNAME = 'BADPIX ' / Name of the binary table extension +EXTVER = 2 / There shall be one instance of this extension f +DETNAM = 'DET1 ' / CZT Detector ID (0,1,2 or 3) +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMB ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +VERSION = 1 / Extension version number +FILENAME= 'nuBuserbadpix20100101v001.fits' / File name +CONTENT = 'NuSTAR User Bad Pixel Table' / File content +CCLS0001= 'BCF ' / Daset is a Basic Calibration File +CDTP0001= 'DATA ' / Calibration file contains data +CCNM0001= 'BADPIX ' / Type of calibration data +CVSD0001= '2010-01-01' / Date when this file should first be used +CVST0001= '00:00:00' / Time of day when this file should first be used +CDES0001= 'NuSTAR User Bad Pixel Table' / Description +COMMENT +COMMENT This extension provides, for Detector #1 of the FPMA, the list of +COMMENT user-defined bad pixels. +COMMENT The BADFLAG column contains the bad pixel flags. These are a +COMMENT combination of the following bit settings: +COMMENT +COMMENT b0000000000000001 Bad pixel from on-ground CALDB Bad Pixel File +COMMENT b0000000000000010 Disabled pixel from on-board software +COMMENT b0000000000000100 Bad pixels in the file provided by the user +COMMENT +END diff --git a/nuwavsource/badpix_headers/nuBuserbadpixDET2.txt b/nuwavsource/badpix_headers/nuBuserbadpixDET2.txt new file mode 100644 index 0000000..9267f31 --- /dev/null +++ b/nuwavsource/badpix_headers/nuBuserbadpixDET2.txt @@ -0,0 +1,46 @@ +XTENSION= 'BINTABLE' / binary table extension +BITPIX = 8 / 8-bit bytes +NAXIS = 2 / 2-dimensional binary table +NAXIS1 = 12 / width of table in bytes +NAXIS2 = 64 / number of rows in table +PCOUNT = 0 / size of special data area +GCOUNT = 1 / one data group (required keyword) +TFIELDS = 4 / number of fields in each row +TTYPE1 = 'TIME ' / Start Time of Bad Pixel Interval +TFORM1 = '1D ' / data format of field: 8-byte DOUBLE +TUNIT1 = 's ' / physical unit of field +TTYPE2 = 'RAWX ' / X-position in Raw Detector Coordinates +TFORM2 = '1B ' / data format of field: BYTE +TUNIT2 = 'pixel ' / physical unit of field +TTYPE3 = 'RAWY ' / Y-position in Raw Detector Coordinates +TFORM3 = '1B ' / data format of field: BYTE +TUNIT3 = 'pixel ' / physical unit of field +TTYPE4 = 'BADFLAG ' / Bad pixel flag +TFORM4 = '16X ' / data format of field: BIT +EXTNAME = 'BADPIX ' / Name of the binary table extension +EXTVER = 3 / There shall be one instance of this extension f +DETNAM = 'DET2 ' / CZT Detector ID (0,1,2 or 3) +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMB ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +VERSION = 1 / Extension version number +FILENAME= 'nuBuserbadpix20100101v001.fits' / File name +CONTENT = 'NuSTAR User Bad Pixel Table' / File content +CCLS0001= 'BCF ' / Daset is a Basic Calibration File +CDTP0001= 'DATA ' / Calibration file contains data +CCNM0001= 'BADPIX ' / Type of calibration data +CVSD0001= '2010-01-01' / Date when this file should first be used +CVST0001= '00:00:00' / Time of day when this file should first be used +CDES0001= 'NuSTAR User Bad Pixel Table' / Description +COMMENT +COMMENT This extension provides, for Detector #2 of the FPMA, the list of +COMMENT user-defined bad pixels. +COMMENT The BADFLAG column contains the bad pixel flags. These are a +COMMENT combination of the following bit settings: +COMMENT +COMMENT b0000000000000001 Bad pixel from on-ground CALDB Bad Pixel File +COMMENT b0000000000000010 Disabled pixel from on-board software +COMMENT b0000000000000100 Bad pixels in the file provided by the user +COMMENT +END diff --git a/nuwavsource/badpix_headers/nuBuserbadpixDET3.txt b/nuwavsource/badpix_headers/nuBuserbadpixDET3.txt new file mode 100644 index 0000000..b8f4ed3 --- /dev/null +++ b/nuwavsource/badpix_headers/nuBuserbadpixDET3.txt @@ -0,0 +1,46 @@ +XTENSION= 'BINTABLE' / binary table extension +BITPIX = 8 / 8-bit bytes +NAXIS = 2 / 2-dimensional binary table +NAXIS1 = 12 / width of table in bytes +NAXIS2 = 64 / number of rows in table +PCOUNT = 0 / size of special data area +GCOUNT = 1 / one data group (required keyword) +TFIELDS = 4 / number of fields in each row +TTYPE1 = 'TIME ' / Start Time of Bad Pixel Interval +TFORM1 = '1D ' / data format of field: 8-byte DOUBLE +TUNIT1 = 's ' / physical unit of field +TTYPE2 = 'RAWX ' / X-position in Raw Detector Coordinates +TFORM2 = '1B ' / data format of field: BYTE +TUNIT2 = 'pixel ' / physical unit of field +TTYPE3 = 'RAWY ' / Y-position in Raw Detector Coordinates +TFORM3 = '1B ' / data format of field: BYTE +TUNIT3 = 'pixel ' / physical unit of field +TTYPE4 = 'BADFLAG ' / Bad pixel flag +TFORM4 = '16X ' / data format of field: BIT +EXTNAME = 'BADPIX ' / Name of the binary table extension +EXTVER = 4 / There shall be one instance of this extension f +DETNAM = 'DET3 ' / CZT Detector ID (0,1,2 or 3) +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMB ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +VERSION = 1 / Extension version number +FILENAME= 'nuBuserbadpix20100101v001.fits' / File name +CONTENT = 'NuSTAR User Bad Pixel Table' / File content +CCLS0001= 'BCF ' / Daset is a Basic Calibration File +CDTP0001= 'DATA ' / Calibration file contains data +CCNM0001= 'BADPIX ' / Type of calibration data +CVSD0001= '2010-01-01' / Date when this file should first be used +CVST0001= '00:00:00' / Time of day when this file should first be used +CDES0001= 'NuSTAR User Bad Pixel Table' / Description +COMMENT +COMMENT This extension provides, for Detector #3 of the FPMA, the list of +COMMENT user-defined bad pixels. +COMMENT The BADFLAG column contains the bad pixel flags. These are a +COMMENT combination of the following bit settings: +COMMENT +COMMENT b0000000000000001 Bad pixel from on-ground CALDB Bad Pixel File +COMMENT b0000000000000010 Disabled pixel from on-board software +COMMENT b0000000000000100 Bad pixels in the file provided by the user +COMMENT +END diff --git a/nuwavsource/badpix_headers/nuBuserbadpix_main.txt b/nuwavsource/badpix_headers/nuBuserbadpix_main.txt new file mode 100644 index 0000000..dfa020b --- /dev/null +++ b/nuwavsource/badpix_headers/nuBuserbadpix_main.txt @@ -0,0 +1,11 @@ +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 0 / number of data axes +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +TELESCOP= 'NuSTAR ' / Telescope (mission) name +INSTRUME= 'FPMA ' / Instrument name (FPMA or FPMB) +ORIGIN = 'Caltech ' / Source of FITS file +CREATOR = 'FTOOLS 6.10 ' / Creator +END diff --git a/nuwavsource/nuwavsource.py b/nuwavsource/nuwavsource.py index 5412c24..8d73fb8 100644 --- a/nuwavsource/nuwavsource.py +++ b/nuwavsource/nuwavsource.py @@ -2,7 +2,7 @@ import numpy as np import itertools from pandas import DataFrame, read_csv -from astropy.table import Table, unique +from astropy.table import Table from astropy.coordinates import SkyCoord from astropy import units as u from multiprocessing import get_context, cpu_count @@ -307,25 +307,43 @@ class Observation: Returns a hdu_list with positions of masked pixels in RAW coordinates. """ x_region, y_region = np.where(region) - tables = [] + hdus = [] for i in range(4): current_dir = dirname(__file__) pixpos = Table(fits.getdata(f'{current_dir}\\pixpos\\nu{self.det}pixpos20100101v007.fits', i+1)) pixpos = pixpos[pixpos['REF_DET1X'] != -1] + test = np.zeros(len(pixpos['REF_DET1X']), dtype=bool) 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() - table = Table({'RAWX': pixpos['RAWX'][test], 'RAWY': pixpos['RAWY'][test]}) - if not table: - tables.append(table) - else: - tables.append(unique(table)) + + positions = np.array((pixpos['RAWX'][test], pixpos['RAWY'][test])) + if sum(test) != 0: + positions = np.unique(positions, axis=1) + rawx, rawy = positions[0], positions[1] + + time_start = float(78913712) + bad_flag = np.zeros(16, dtype=bool) + bad_flag[13] = 1 + + columns = [] + columns.append(fits.Column('TIME', '1D', 's', array=len(rawx) * [time_start])) + columns.append(fits.Column('RAWX', '1B', 'pixel', array=rawx)) + columns.append(fits.Column('RAWY', '1B', 'pixel', array=rawy)) + columns.append(fits.Column('BADFLAG', '16X', array=len(rawx) * [bad_flag])) + + hdu = fits.BinTableHDU.from_columns(columns) + naxis1, naxis2 = hdu.header['NAXIS1'], hdu.header['NAXIS2'] + hdu.header = fits.Header.fromtextfile(f'{current_dir}\\badpix_headers\\nu{self.det}userbadpixDET{i}.txt') + hdu.header['NAXIS1'] = naxis1 + hdu.header['NAXIS2'] = naxis2 + hdus.append(hdu) + + primary_hdu = fits.PrimaryHDU() + primary_hdu.header = fits.Header.fromtextfile(f'{current_dir}\\badpix_headers\\nu{self.det}userbadpix_main.txt') hdu_list = fits.HDUList([ - fits.PrimaryHDU(), - fits.table_to_hdu(tables[0]), - fits.table_to_hdu(tables[1]), - fits.table_to_hdu(tables[2]), - fits.table_to_hdu(tables[3]), + primary_hdu, + *hdus ]) return hdu_list From 77683068ee794f8bb3e5ae3c002d3cdcc3f62cf0 Mon Sep 17 00:00:00 2001 From: Andrey Mukhin Date: Wed, 2 Nov 2022 17:29:02 +0300 Subject: [PATCH 6/8] Version change to 0.0.6 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index b155b23..9b28f7f 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="nuwavsource", - version="0.0.5", + version="0.0.6", author="Andrey Mukhin", author_email="amukhin@phystech.edu", description="A package for source exclusion in NuStar observation data using wavelet decomposition", From 58bbad28c0fee83207ffa7ddb7b9497e1620ad57 Mon Sep 17 00:00:00 2001 From: Andrey Mukhin Date: Wed, 2 Nov 2022 17:38:40 +0300 Subject: [PATCH 7/8] Updated version 0.0.7 --- MANIFEST.in | 3 ++- setup.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index f9438da..7aa31db 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,2 +1,3 @@ include nuwavsource/pixpos/nuApixpos20100101v007.fits -include nuwavsource/pixpos/nuBpixpos20100101v007.fits \ No newline at end of file +include nuwavsource/pixpos/nuBpixpos20100101v007.fits +include nuwavsource/badpix_headers/* \ No newline at end of file diff --git a/setup.py b/setup.py index 9b28f7f..300a645 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="nuwavsource", - version="0.0.6", + version="0.0.7", author="Andrey Mukhin", author_email="amukhin@phystech.edu", description="A package for source exclusion in NuStar observation data using wavelet decomposition", From ad5bbeb0922a9889af9809a21c2de582b7818376 Mon Sep 17 00:00:00 2001 From: Andrey Mukhin Date: Thu, 15 Dec 2022 12:58:59 +0300 Subject: [PATCH 8/8] commit v0.0.8 --- nuwavsource/nuwavsource.py | 117 +++++++++++++++++++------------ nuwavsource/pixpos/ref_pixA0.npy | Bin 0 -> 102899 bytes nuwavsource/pixpos/ref_pixA1.npy | Bin 0 -> 102899 bytes nuwavsource/pixpos/ref_pixA2.npy | Bin 0 -> 102899 bytes nuwavsource/pixpos/ref_pixA3.npy | Bin 0 -> 102899 bytes nuwavsource/pixpos/ref_pixB0.npy | Bin 0 -> 102899 bytes nuwavsource/pixpos/ref_pixB1.npy | Bin 0 -> 102899 bytes nuwavsource/pixpos/ref_pixB2.npy | Bin 0 -> 102899 bytes nuwavsource/pixpos/ref_pixB3.npy | Bin 0 -> 102899 bytes setup.py | 2 +- 10 files changed, 74 insertions(+), 45 deletions(-) create mode 100644 nuwavsource/pixpos/ref_pixA0.npy create mode 100644 nuwavsource/pixpos/ref_pixA1.npy create mode 100644 nuwavsource/pixpos/ref_pixA2.npy create mode 100644 nuwavsource/pixpos/ref_pixA3.npy create mode 100644 nuwavsource/pixpos/ref_pixB0.npy create mode 100644 nuwavsource/pixpos/ref_pixB1.npy create mode 100644 nuwavsource/pixpos/ref_pixB2.npy create mode 100644 nuwavsource/pixpos/ref_pixB3.npy diff --git a/nuwavsource/nuwavsource.py b/nuwavsource/nuwavsource.py index 8d73fb8..45c0e0b 100644 --- a/nuwavsource/nuwavsource.py +++ b/nuwavsource/nuwavsource.py @@ -96,7 +96,8 @@ def atrous(level: int = 0, max_size: int = 1001) -> list[list[float]]: def atrous_sig(level: int = 0) -> float: - sig_values = [0.8908, 0.20066, 0.08551, 0.04122, 0.02042] + # sig_values = [0.8908, 0.20066, 0.08551, 0.04122, 0.02042] + sig_values = [0.8725, 0.1893, 0.0946, 0.0473, 0.0237] if level < 5: return sig_values[level] else: @@ -172,18 +173,35 @@ def fill_poisson(array, size_input=32): return output -def mirror(array): - """ - Returns 3 times bigger array with mirrored elements. - Original array is located in center. - """ - size = array.shape[0] - output = np.tile(array, (3, 3)) - output[0:size] = np.flipud(output[0:size]) - output[2*size:3*size] = np.flipud(output[2*size:3*size]) - output[:, 0:size] = np.fliplr(output[:, 0:size]) - output[:, 2*size:3*size] = np.fliplr(output[:, 2*size:3*size]) - return output +def count_binning(array, count_per_bin: int = 2): + _array = (array[array.mask == False] + if hasattr(array, 'mask') else array) + _array = (_array.flatten() + if array.ndim != 1 else _array) + + bin_sum, bin_size = [], [] + _sum, _count = 0, 0 + + for el in _array: + _sum += el + _count += 1 + if _sum >= count_per_bin: + bin_sum.append(_sum) + bin_size.append(_count) + _sum, _count = 0, 0 + + return np.array(bin_sum), np.array(bin_size) + + +def cstat(expected, data: list, count_per_bin: int = 2) -> float: + _data = data.flatten() + _data = _data[_data.mask == False] + _expected = expected + c_stat = 0 + bin_sum_array, bin_count_array = count_binning(_data, count_per_bin) + bin_exp_array = bin_count_array * _expected + c_stat = 2 * (bin_exp_array - bin_sum_array + bin_sum_array * (np.log(bin_sum_array / bin_exp_array))).mean() + return c_stat class Observation: @@ -192,18 +210,17 @@ class Observation: """ def __init__(self, file_name, E_borders=[3, 20]): self.filename = file_name - self.name = file_name[file_name.find('nu'):].replace('_cl.evt','') + self.name = file_name[file_name.find('nu'):].replace('_cl.evt', '') with fits.open(file_name) as file: self.obs_id = file[0].header['OBS_ID'] self.ra = file[0].header['RA_NOM'] self.dec = file[0].header['DEC_NOM'] self.time_start = file[0].header['TSTART'] self.header = file[0].header + self.exposure = self.header['EXPOSURE'] self.det = self.header['INSTRUME'][-1] self.wcs = get_wcs(file) self.data = np.ma.masked_array(*self.get_data(file, E_borders)) - self.hard_mask = add_borders(self.data.data, middle=False) - self.exposure = self.header['EXPOSURE'] def get_coeff(self): """ @@ -232,23 +249,28 @@ class Observation: mask = np.logical_or(mask, self.get_bad_pix(file)) return output, mask - def get_bad_pix(self, file): + def get_bad_pix(self, file, threshold=0.9): """ Creates a mask for observation based on badpix tables. """ - output = np.zeros((360, 360)) - kernel = np.ones((5, 5)) - for i in range(4): - current_dir = dirname(__file__) - pixpos_file = fits.getdata(f'{current_dir}\\pixpos\\nu{self.det}pixpos20100101v007.fits',i+1) - bad_pix_file = file[3+i].data.copy() - temp = np.zeros(len(pixpos_file), dtype=bool) - for x, y in zip(bad_pix_file['rawx'], bad_pix_file['rawy']): - temp = np.logical_or(temp, np.equal(pixpos_file['rawx'], x)*np.equal(pixpos_file['rawy'], y)) - temp = pixpos_file[temp] - output += np.histogram2d(temp['REF_DET1Y'], temp['REF_DET1X'], 360, [[0, 360],[0, 360]])[0] - output = convolve2d(output, kernel, mode='same') > 0 - return output + current_dir = dirname(__file__) + output = np.ones((360, 360)) + for det_id in range(4): + badpix = file[3 + det_id].data + badpix_exp = (badpix['TIME_STOP'] - badpix['TIME'])/self.exposure + pixpos = np.load(f'{current_dir}\\pixpos\\ref_pix{self.det}{det_id}.npy', allow_pickle=True).item() + for raw_x, raw_y, exp in zip(badpix['RAWX'], badpix['RAWY'], badpix_exp): + y, x = pixpos[(raw_x, raw_y)] + output[x-3:x+11, y-3:y+11] -= exp + output = np.clip(output, a_min=0, a_max=None) + self.norm_exp_map = output + return output < threshold + + def exposure_corr(self, array): + corr = 1 - self.norm_exp_map + corr[corr > 0.1] = 0. + correction_poiss = np.random.poisson(corr*array, corr.shape) + return array + correction_poiss def wavdecomp(self, mode='gauss', thresh=False, occ_coeff=False): """ @@ -267,10 +289,11 @@ class Observation: ) size = self.data.shape[0] # PREPARE ORIGINAL DATA FOR ANALYSIS: FILL THE HOLES + MIRROR + DETECTOR CORRECTION + data = self.exposure_corr(self.data) data = fill_poisson(self.data) if occ_coeff: data = data*self.get_coeff() - data = mirror(data) + data = np.pad(data, data.shape[0], mode='reflect') # ITERATIVELY CONDUCT WAVLET DECOMPOSITION for i in range(max_level): conv = fftconvolve(data, wavelet(i), mode='same') @@ -285,16 +308,16 @@ class Observation: bkg = fftconvolve(data, wavelet(i), mode='same') bkg[bkg < 0] = 0 err = (1+np.sqrt(bkg+0.75))*sig - significant = (np.abs(temp_out) > thresh_max*err)[size:2*size, size:2*size] + significant = (temp_out > thresh_max*err)[size:2*size, size:2*size] if thresh_add != 0: - add_significant = (np.abs(temp_out) > thresh_add*err)[size:2*size, size:2*size] + add_significant = (temp_out > thresh_add*err)[size:2*size, size:2*size] adj = adjecent(significant) add_condition = np.logical_and(adj, add_significant) while (add_condition).any(): significant = np.logical_or(significant, add_condition) adj = adjecent(significant) add_condition = np.logical_and(adj, add_significant) - significant = mirror(significant) + significant = np.pad(significant, significant.shape[0], mode='reflect') temp_out[np.logical_not(significant)] = 0 # WRITING THE WAVELET DECOMP LAYER conv_out[i] = +temp_out[size:2*size, size:2*size] @@ -368,27 +391,33 @@ def process(args): good_idx = 0 if obs.exposure > 1000: wav_obs = obs.wavdecomp('atrous', thresh, occ_coeff=True) - wav_obs[wav_obs < 0] = 0 occ_coeff = obs.get_coeff() - for idx, lvl in enumerate(binary_array(bin_num)): + binary_arr = binary_array(bin_num) + + for idx, lvl in enumerate(binary_arr): try: region = wav_obs[2:-1][lvl].sum(0) > 0 - # region = fftconvolve(wav_obs[2:-1][lvl].sum(0)>0, gauss(3),mode='same') > 0.5 except ValueError: region = np.zeros(obs.data.shape, dtype=bool) + masked_obs = np.ma.masked_array(obs.data, mask=region)*occ_coeff rem_region = np.logical_and(region, np.logical_not(obs.data.mask)) rem_signal[idx] = 1-obs.data[region].sum()/obs.data.sum() rem_area[idx] = 1 - rem_region.sum()/np.logical_not(obs.data.mask).sum() - poiss_comp[idx] = np.mean((masked_obs-masked_obs.mean())**2/masked_obs.mean()) + poiss_comp[idx] = cstat(masked_obs.mean(), masked_obs) rms[idx] = np.sqrt(((masked_obs-masked_obs.mean())**2).mean()) - parameter = lambda idx: ((poiss_comp[idx])**2+((1-rem_area[idx])*0.5)**2) - if (parameter(idx) < parameter(good_idx)): + + for idx in range(len(poiss_comp)): + if ((poiss_comp[idx] < poiss_comp[good_idx]) and + (poiss_comp[idx] < poiss_comp[-1] + 0.05) and + (rem_area[idx] > rem_area[-1])): good_idx = idx - good_lvl = lvl + if good_idx == 0: + good_idx = len(binary_arr) - 1 + good_lvl = binary_arr[good_idx] + try: region = wav_obs[2:-1][good_lvl].sum(0) > 0 - # region = fftconvolve(wav_obs[2:-1][good_lvl].sum(0)>0, gauss(2),mode='same')>0.2 if region.sum() > 0: region_raw = obs.region_to_raw(region.astype(int)) except ValueError: @@ -474,8 +503,8 @@ def process_folder(input_folder=None, start_new_file=None, fits_folder=None, thr table = { 'obs_id': [], 'detector': [], 'ra': [], 'dec': [], 'lon': [], 'lat': [], 't_start': [], 'exposure': [], - 'count_rate': [], 'remaining_area': [], 'poisson_chi2': [], - 'poisson_chi2_full': [], 'rms': [] + 'count_rate': [], 'remaining_area': [], 'poisson_stat': [], + 'poisson_stat_full': [], 'rms': [] } if start_new: out_table = DataFrame(table) diff --git a/nuwavsource/pixpos/ref_pixA0.npy b/nuwavsource/pixpos/ref_pixA0.npy new file mode 100644 index 0000000000000000000000000000000000000000..a43d0903a61acd6cb5939f056ca64ff22ca62f74 GIT binary patch literal 102899 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 Tn%uRNz1u(9v$p=XLzVvrw;CkH literal 0 HcmV?d00001 diff --git a/nuwavsource/pixpos/ref_pixA1.npy b/nuwavsource/pixpos/ref_pixA1.npy new file mode 100644 index 0000000000000000000000000000000000000000..d61eeaccc2f05e7deb0e854a521e87c63f119fad GIT binary patch literal 102899 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

<}l=w{pSk%%s4Jmyk#X!Z;C4z991|kPh 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 z

    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 Cu|&cE literal 0 HcmV?d00001 diff --git a/nuwavsource/pixpos/ref_pixA3.npy b/nuwavsource/pixpos/ref_pixA3.npy new file mode 100644 index 0000000000000000000000000000000000000000..7ce3029623fbfa644200e94fec24d655d26bafb9 GIT binary patch literal 102899 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 K`hRb^=>G!7Yq8Y; literal 0 HcmV?d00001 diff --git a/nuwavsource/pixpos/ref_pixB0.npy b/nuwavsource/pixpos/ref_pixB0.npy new file mode 100644 index 0000000000000000000000000000000000000000..77ba43d51f452cdcf54d88881da57b3eb08a504e GIT binary patch literal 102899 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%0D>7yrA;=nqt7bX8@N&`uUaRzx=5 z*-iV-xu_ftW0e8s(p8l)rLQMc8BlI?o+Pw$0U`sDmv=tXzLOtSz+wDO8DJq@RT)#- z2~`GE1YI-KLuBwbF?Sv`=s(`MTg#Nm&gs6+z w-?<1??Z2=(u!gRxj4ADeDg&yCu9bv#Y9s0(>hi9qJMi}V`q$V0>{|W*0ae!#F#rGn literal 0 HcmV?d00001 diff --git a/nuwavsource/pixpos/ref_pixB1.npy b/nuwavsource/pixpos/ref_pixB1.npy new file mode 100644 index 0000000000000000000000000000000000000000..9d297b929d6b7d4f4d6f6ee4cbf50b5914a63c57 GIT binary patch literal 102899 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

    (A0o(2wX{ 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 literal 0 HcmV?d00001 diff --git a/nuwavsource/pixpos/ref_pixB2.npy b/nuwavsource/pixpos/ref_pixB2.npy new file mode 100644 index 0000000000000000000000000000000000000000..fb2b00330d79d6001131dee9d4173738253ba154 GIT binary patch literal 102899 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 Wq6VTScP(ZAyZiO2t^eDx(*FaRUsXN; literal 0 HcmV?d00001 diff --git a/nuwavsource/pixpos/ref_pixB3.npy b/nuwavsource/pixpos/ref_pixB3.npy new file mode 100644 index 0000000000000000000000000000000000000000..0491af6ee05f266d5ab0ce0586d69a23a16cbf32 GIT binary patch literal 102899 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 literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py index 300a645..2f13ce6 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="nuwavsource", - version="0.0.7", + version="0.0.8", author="Andrey Mukhin", author_email="amukhin@phystech.edu", description="A package for source exclusion in NuStar observation data using wavelet decomposition",

    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 literal 0 HcmV?d00001 diff --git a/nuwavsource/pixpos/ref_pixA2.npy b/nuwavsource/pixpos/ref_pixA2.npy new file mode 100644 index 0000000000000000000000000000000000000000..6f8d107cc121d26ba195f2e3a3d4b60e4a1accee GIT binary patch literal 102899 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