From 103492dbb49fe2938e169d39b8bc23810b4e7191 Mon Sep 17 00:00:00 2001 From: Reagen Leimbach Date: Wed, 21 Apr 2021 13:03:37 -0400 Subject: [PATCH 1/7] iss #111 5007 S/N = 120 and removed 5 and 7 from robust limit where statement --- Metallicity_Stack_Commons/valid_table.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Metallicity_Stack_Commons/valid_table.py b/Metallicity_Stack_Commons/valid_table.py index 9efea12..31cd418 100644 --- a/Metallicity_Stack_Commons/valid_table.py +++ b/Metallicity_Stack_Commons/valid_table.py @@ -46,7 +46,7 @@ def make_validation_table(fitspath: str): up_limit = (Hgamma/Hgamma_SN) * 3 valid_stacks_idx = np.where((O_4363_SN >= 3) & (O_5007_SN > 100) & (O_4363_sigma < 1.6))[0] - reliable_5007_stacks = np.where((O_4363_SN < 3) & (O_5007_SN > 100))[0] + reliable_5007_stacks = np.where((O_4363_SN < 3) & (O_5007_SN > 120))[0] wide_lines_valid = np.where((O_4363_SN >= 3) & (O_5007_SN > 100) & (O_4363_sigma >= 1.6))[0] detection[valid_stacks_idx] = 1 detection[reliable_5007_stacks] = 0.5 @@ -135,9 +135,8 @@ def compare_to_by_eye(fitspath: str, dataset: str): (ID == 10) | (ID == 14) | (ID == 15) | (ID == 20) | (ID == 23) | (ID == 26))[0] rlimit = \ - np.where( - (ID == 5) | (ID == 7) | (ID == 8) | (ID == 11) | (ID == 13) - | (ID == 16) | (ID == 17) | (ID == 19) | (ID == 22))[0] + np.where((ID == 8) | (ID == 11) | (ID == 13)| (ID == 16) + | (ID == 17) | (ID == 19) | (ID == 22))[0] # Caroline: Add you conditions here From edd9db87623c70ddb16e3e597fb0d76e42aa66a9 Mon Sep 17 00:00:00 2001 From: Reagen Leimbach Date: Sun, 25 Apr 2021 13:07:43 -0400 Subject: [PATCH 2/7] iss #111 addressing comments made on PR --- Metallicity_Stack_Commons/valid_table.py | 38 ++++++++++-------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/Metallicity_Stack_Commons/valid_table.py b/Metallicity_Stack_Commons/valid_table.py index 31cd418..a33c6c0 100644 --- a/Metallicity_Stack_Commons/valid_table.py +++ b/Metallicity_Stack_Commons/valid_table.py @@ -3,10 +3,11 @@ from astropy.io import ascii as asc from astropy.table import Table, Column -from .column_names import filename_dict, valid_table_names0 # , bin_names0, remove_from_list +from .column_names import filename_dict, valid_table_names0 -def make_validation_table(fitspath: str): +def make_validation_table(fitspath: str, vmin_4363SN, vmin_5007SN, + vmax_4363sig, rlmax_4363sig, rlmin_5007SN): """ This function creates a validation table for a given binning set. The validation table contains a OIII4363 detection column where 1.0 @@ -20,6 +21,11 @@ def make_validation_table(fitspath: str): :param fitspath: Full file path where the input file is and where the output file will be placed. + :param vmin_4363SN: int. minimum OIII4363 S/N for valid detection + :param vmin_5007SN: int. minimum OIII5007 S/N for valid detection + :param vmax_4363sig: int. maximum OIII4363 sigma for valid detection + :param rlmax_4363sig: int. maximum OIII4363 sigma for robust limit + :param rlmin_5007SN: int. minimum OIII5007 S/N for robust limit Outputs: fitspath + 'bin_validation.tbl' @@ -45,12 +51,13 @@ def make_validation_table(fitspath: str): OIII4363 = np.zeros(len(bin_ID)) up_limit = (Hgamma/Hgamma_SN) * 3 - valid_stacks_idx = np.where((O_4363_SN >= 3) & (O_5007_SN > 100) & (O_4363_sigma < 1.6))[0] - reliable_5007_stacks = np.where((O_4363_SN < 3) & (O_5007_SN > 120))[0] - wide_lines_valid = np.where((O_4363_SN >= 3) & (O_5007_SN > 100) & (O_4363_sigma >= 1.6))[0] - detection[valid_stacks_idx] = 1 + valid_stacks_idx = np.where((O_4363_SN >= vmin_4363SN) & + (O_5007_SN > vmin_5007SN) & + (O_4363_sigma < vmax_4363sig))[0] + reliable_5007_stacks = np.where((O_4363_sigma < rlmax_4363sig) & + (O_5007_SN > rlmin_5007SN))[0] detection[reliable_5007_stacks] = 0.5 - detection[wide_lines_valid] = 0.5 + detection[valid_stacks_idx] = 1 print(detection) for ii in range(len(OIII4363)): @@ -62,22 +69,9 @@ def make_validation_table(fitspath: str): OIII4363[ii] = up_limit[ii] ver_tab = fitspath + filename_dict['bin_valid'] - tab1 = Table([bin_ID, N_stack, detection, OIII4363, O_4363_SN], names=valid_table_names0) + tab1 = Table([bin_ID, N_stack, detection, OIII4363, O_4363_SN], + names=valid_table_names0) asc.write(tab1, ver_tab, format='fixed_width_two_line') - ''' - # Write revised file for human editing - ver_tab_revised = fitspath + filename_dict['bin_valid_rev'] - if not exists(ver_tab_revised): - asc.write(tab1, ver_tab_revised, format='fixed_width_two_line') - print(" ") - print("URGENT!!! HUMAN EDITING OF FILE NEEDED : "+ver_tab_revised) - print(" ") - else: - print(" ") - print("ERROR!!! FILE EXISTS!!! WILL NOT OVERWRITE !!!") - print("ERROR!!! PLEASE RENAME/DELETE FILE TO REGENERATE !!!") - print(" ") - ''' def compare_to_by_eye(fitspath: str, dataset: str): From f9b1de4d1c6f640d53de7dc1697783c1e931c9a0 Mon Sep 17 00:00:00 2001 From: Reagen Leimbach Date: Sun, 25 Apr 2021 21:26:20 -0400 Subject: [PATCH 3/7] iss #111 added another parameter for robust limits --- Metallicity_Stack_Commons/valid_table.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Metallicity_Stack_Commons/valid_table.py b/Metallicity_Stack_Commons/valid_table.py index a33c6c0..df3f1b9 100644 --- a/Metallicity_Stack_Commons/valid_table.py +++ b/Metallicity_Stack_Commons/valid_table.py @@ -7,7 +7,8 @@ def make_validation_table(fitspath: str, vmin_4363SN, vmin_5007SN, - vmax_4363sig, rlmax_4363sig, rlmin_5007SN): + vmax_4363sig, rlmin_4363SN, + rlmax_4363sig, rlmin_5007SN): """ This function creates a validation table for a given binning set. The validation table contains a OIII4363 detection column where 1.0 @@ -24,8 +25,9 @@ def make_validation_table(fitspath: str, vmin_4363SN, vmin_5007SN, :param vmin_4363SN: int. minimum OIII4363 S/N for valid detection :param vmin_5007SN: int. minimum OIII5007 S/N for valid detection :param vmax_4363sig: int. maximum OIII4363 sigma for valid detection + :param rlmin_4363SN: int. minimum OIII4363 S/N for robust limit :param rlmax_4363sig: int. maximum OIII4363 sigma for robust limit - :param rlmin_5007SN: int. minimum OIII5007 S/N for robust limit + :param rlmin_5007SN: int. minimum OIII5007 S/N for robust limit Outputs: fitspath + 'bin_validation.tbl' @@ -55,7 +57,8 @@ def make_validation_table(fitspath: str, vmin_4363SN, vmin_5007SN, (O_5007_SN > vmin_5007SN) & (O_4363_sigma < vmax_4363sig))[0] reliable_5007_stacks = np.where((O_4363_sigma < rlmax_4363sig) & - (O_5007_SN > rlmin_5007SN))[0] + (O_5007_SN > rlmin_5007SN) & + (O_4363_SN >= rlmin_4363SN))[0] detection[reliable_5007_stacks] = 0.5 detection[valid_stacks_idx] = 1 print(detection) From eb9bda380552d1107142693ae465073c31c3f921 Mon Sep 17 00:00:00 2001 From: Reagen Leimbach Date: Tue, 27 Apr 2021 18:27:52 -0400 Subject: [PATCH 4/7] iss #111 added wide_line_valid back to valid_table --- Metallicity_Stack_Commons/valid_table.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Metallicity_Stack_Commons/valid_table.py b/Metallicity_Stack_Commons/valid_table.py index df3f1b9..c3fe1a3 100644 --- a/Metallicity_Stack_Commons/valid_table.py +++ b/Metallicity_Stack_Commons/valid_table.py @@ -57,9 +57,12 @@ def make_validation_table(fitspath: str, vmin_4363SN, vmin_5007SN, (O_5007_SN > vmin_5007SN) & (O_4363_sigma < vmax_4363sig))[0] reliable_5007_stacks = np.where((O_4363_sigma < rlmax_4363sig) & - (O_5007_SN > rlmin_5007SN) & - (O_4363_SN >= rlmin_4363SN))[0] + (O_5007_SN > rlmin_5007SN))[0] + wide_line_valid = np.where((O_4363_SN >= rlmin_4363SN) & + (O_5007_SN > rlmin_5007SN) & + (O_4363_sigma >= rlmax_4363sig))[0] detection[reliable_5007_stacks] = 0.5 + detection[wide_line_valid] = 0.5 detection[valid_stacks_idx] = 1 print(detection) From aeacc6ab70fe7c14561a9006f14c5b96062d22d0 Mon Sep 17 00:00:00 2001 From: Reagen Leimbach Date: Tue, 27 Apr 2021 18:32:42 -0400 Subject: [PATCH 5/7] iss #111 made inputs optional variables with set inputs --- Metallicity_Stack_Commons/valid_table.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Metallicity_Stack_Commons/valid_table.py b/Metallicity_Stack_Commons/valid_table.py index c3fe1a3..5b6e3f8 100644 --- a/Metallicity_Stack_Commons/valid_table.py +++ b/Metallicity_Stack_Commons/valid_table.py @@ -6,9 +6,9 @@ from .column_names import filename_dict, valid_table_names0 -def make_validation_table(fitspath: str, vmin_4363SN, vmin_5007SN, - vmax_4363sig, rlmin_4363SN, - rlmax_4363sig, rlmin_5007SN): +def make_validation_table(fitspath: str, vmin_4363SN=3, vmin_5007SN=100, + vmax_4363sig=1.6, rlmin_4363SN=3, + rlmax_4363sig=1.6, rlmin_5007SN=100): """ This function creates a validation table for a given binning set. The validation table contains a OIII4363 detection column where 1.0 From 6274601be9044c0ee462cd8613cbfb82abaf240d Mon Sep 17 00:00:00 2001 From: Reagen Leimbach Date: Tue, 27 Apr 2021 19:08:21 -0400 Subject: [PATCH 6/7] iss #111 commented out compare_to_by_eye() --- Metallicity_Stack_Commons/valid_table.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Metallicity_Stack_Commons/valid_table.py b/Metallicity_Stack_Commons/valid_table.py index 5b6e3f8..a7e785f 100644 --- a/Metallicity_Stack_Commons/valid_table.py +++ b/Metallicity_Stack_Commons/valid_table.py @@ -79,6 +79,8 @@ def make_validation_table(fitspath: str, vmin_4363SN=3, vmin_5007SN=100, names=valid_table_names0) asc.write(tab1, ver_tab, format='fixed_width_two_line') +''' +The function above now addresses what compare_to_by_eye() does def compare_to_by_eye(fitspath: str, dataset: str): """ @@ -176,3 +178,4 @@ def compare_to_by_eye(fitspath: str, dataset: str): asc.write(ver_tab, fitspath + filename_dict['bin_valid_rev'], format='fixed_width_two_line') asc.write(ver_tab, fitspath + 'bin_validation_revised.csv', format='csv') +''' From ecf1abeed1b2466f757d77cce2590b91a1809bef Mon Sep 17 00:00:00 2001 From: Reagen Leimbach Date: Tue, 27 Apr 2021 19:12:10 -0400 Subject: [PATCH 7/7] removed n_Bins data from compare_to_by_eye() --- Metallicity_Stack_Commons/valid_table.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Metallicity_Stack_Commons/valid_table.py b/Metallicity_Stack_Commons/valid_table.py index a7e785f..12a61bf 100644 --- a/Metallicity_Stack_Commons/valid_table.py +++ b/Metallicity_Stack_Commons/valid_table.py @@ -79,8 +79,6 @@ def make_validation_table(fitspath: str, vmin_4363SN=3, vmin_5007SN=100, names=valid_table_names0) asc.write(tab1, ver_tab, format='fixed_width_two_line') -''' -The function above now addresses what compare_to_by_eye() does def compare_to_by_eye(fitspath: str, dataset: str): """ @@ -132,13 +130,14 @@ def compare_to_by_eye(fitspath: str, dataset: str): np.where( (ID == 0) | (ID == 1) | (ID == 2) | (ID == 7) | (ID == 9) | (ID == 10) | (ID == 11) | (ID == 13))[0] - if dataset == 'n_Bins': + # make_validation_table will now produce correct detection values + '''if dataset == 'n_Bins': det_4363 = np.where( (ID == 10) | (ID == 14) | (ID == 15) | (ID == 20) | (ID == 23) | (ID == 26))[0] rlimit = \ np.where((ID == 8) | (ID == 11) | (ID == 13)| (ID == 16) - | (ID == 17) | (ID == 19) | (ID == 22))[0] + | (ID == 17) | (ID == 19) | (ID == 22))[0]''' # Caroline: Add you conditions here @@ -178,4 +177,3 @@ def compare_to_by_eye(fitspath: str, dataset: str): asc.write(ver_tab, fitspath + filename_dict['bin_valid_rev'], format='fixed_width_two_line') asc.write(ver_tab, fitspath + 'bin_validation_revised.csv', format='csv') -'''