import src.specsiser as sr from pathlib import Path from astro.data.SDSS.shared_scripts import list_objName, obsConfaddress, obsFolder # Declare data and files location objList = list_objName(obsFolder, '.fits') obsData = sr.loadConfData(obsConfaddress, objList, group_variables=False) data_folder = Path(obsData['file_information']['data_folder']) addressList = list(Path(f'{data_folder/objName}.fits') for objName in objList) # Sample properties norm_Flux = obsData['sample_data']['norm_flux'] wmin, wmax = obsData['sample_data']['wmin_array'], obsData['sample_data'][ 'wmax_array'] # Analyse the spectrum for i, file_address in enumerate(addressList): # if i == 0: # Open lineslog objName = objList[i] fitsFolder, fitsFile = file_address.parent, file_address.name masksFolder, masksFile = fitsFolder, fitsFile.replace( '.fits', '_masks.txt') lineLogFolder, lineLogFile = fitsFolder / 'flux_analysis', fitsFile.replace( '.fits', '_linesLog.txt') plotFolder, plotGrid = fitsFolder / 'flux_analysis', fitsFile.replace( '.fits', '_lineGrid.png') print(f'\n- {i}: {objName}')
from pathlib import Path import numpy as np import pandas as pd import matplotlib.pyplot as plt import src.specsiser as sr import pyneb as pn c_KMpS = 299792.458 obsData = sr.loadConfData('./xshooter_LzLCS.ini') data_folder = Path(obsData['data_location']['data_folder']) results_folder = Path(obsData['data_location']['results_folder']) objfile_list = obsData['data_location']['objfile_list'] sigmafile_list = obsData['data_location']['sigmafile_list'] objRef_list = obsData['data_location']['ref_list'] maskfile = obsData['data_location']['generalMask'] wmin_array = obsData['sample_data']['w_min_array'] wmax_array = obsData['sample_data']['w_max_array'] norm_flux = obsData['sample_data']['norm_flux'] z_obj = obsData['sample_data']['z_obj'] profile_conf = obsData['line_fitting'] # DF_list = [None, None] # for i, objName in enumerate(objRef_list): # # # input data # lineslog_file = results_folder/f'{objName}_linesLog.txt' # # # Load data # linesDF = sr.lineslogFile_to_DF(lineslog_file)
def colorChooser(ObsRatio, TheRatio): if (TheRatio * 0.95 < ObsRatio < TheRatio * 1.05): color = 'ForestGreen' # 'green'# elif (TheRatio * 0.90 < ObsRatio < TheRatio * 1.10): color = 'YellowOrange' # 'yellow'# else: color = 'BrickRed' return color # Import the observation data obsData = sr.loadConfData('../flux_comparison.ini', group_variables=False) linesFile = Path( 'D:/Pycharm Projects/spectra-synthesizer/src/specsiser/literature_data/lines_data.xlsx' ) linesDb = pd.read_excel(linesFile, sheet_name=0, header=0, index_col=0) data_folder = Path(obsData['file_information']['data_folder']) fileList = list_files(data_folder, '.fits') addressList = list(data_folder / file for file in fileList) fluxNorm = obsData['sample_data']['norm_flux'] tableHeaders = [ r'$\lambda(\AA)$', '$EW(\AA)$', '$F_{intg}(\AA)$', '$F_{gauss}(\AA)$' ] # Analyse the spectrum for i, file_address in enumerate(addressList):
from src.specsiser.data_printing import PdfPrinter, latex_labels, numberStringFormat from pathlib import Path import pandas as pd def percent_func(current_value, ref_value): return f' $({(1 - (current_value / ref_value)) * 100:.1f}\%)$' def percent_func_txt(current_value, ref_value): return f'{(1 - (current_value / ref_value)) * 100:.1f}' conf_file_address = '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini' obsData = sr.loadConfData(conf_file_address, objList_check=True, group_variables=False) objList = obsData['file_information']['object_list'] resultsFolder = Path(obsData['file_information']['results_folder']) tables_folder = Path(obsData['file_information']['tables_folder']) ext = 'BR' cycle = 'it3' combined_line_dict = { 'O2_3726A_m': 'O2_3726A-O2_3729A', 'O2_7319A_m': 'O2_7319A-O2_7330A', 'S2_6716A_m': 'S2_6716A-S2_6731A' } for i, obj in enumerate(objList):
cHbeta_key = cfg_dict[objName]['cHbeta_label'] output_dict['cHbeta'] = measurements_dict['Extinction_it3'][cHbeta_key] # Electron parameters conversion_dict = {'n_e': 'ne', 'T_low': 'Te_low', 'T_high': 'Te_high'} for fit_label, measure_label in conversion_dict.items(): if measure_label in measurements_dict['it3_electron_parameters']: output_dict[fit_label] = measurements_dict[ 'it3_electron_parameters'][measure_label] return output_dict conf_file_address = '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini' obsData = sr.loadConfData(conf_file_address, objList_check=True, group_variables=False) objList = obsData['file_information']['object_list'] dataFolder = Path(obsData['file_information']['data_folder']) resultsFolder = Path(obsData['file_information']['results_folder']) fileList = obsData['file_information']['files_list'] ext = 'BR' cycle = 'it3' combined_line_dict = { 'O2_3726A_m': 'O2_3726A-O2_3729A', 'O2_7319A_m': 'O2_7319A-O2_7330A' } # Analyse the spectrum
if os.name != 'nt': conf_file_address = '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini' dataFolder = Path( '/home/vital/Dropbox/Astrophysics/Papers/gtc_greenpeas/data') resultsFolder = Path( '/home/vital/Dropbox/Astrophysics/Papers/gtc_greenpeas/treatment') starlight_folder = Path('/home/vital/Dropbox/Astrophysics/Tools/Starlight') else: conf_file_address = '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini' dataFolder = Path('D:/Dropbox/Astrophysics/Papers/gtc_greenpeas/data') resultsFolder = Path( 'D:/Dropbox/Astrophysics/Papers/gtc_greenpeas/treatment') starlight_folder = Path('D:/Dropbox/Astrophysics/Tools/Starlight') obsData = sr.loadConfData(conf_file_address, objList_check=True, group_variables=False) objList = obsData['file_information']['object_list'] fileList = obsData['file_information']['files_list'] idx_band = int(obsData['file_information']['band_flux']) z_array = obsData['sample_data']['z_array'] wmin_array = obsData['sample_data']['wmin_array'] wmax_array = obsData['sample_data']['wmax_array'] arm_wave_boundary = obsData['sample_data']['w_div'] w_div_array = obsData['sample_data']['w_div'] red_law = obsData['sample_data']['red_law'] RV = obsData['sample_data']['RV']
import numpy as np import src.specsiser as sr from pathlib import Path from astro.data.muse.common_methods import voxel_security_check, fits_db from timeit import default_timer as timer from astropy.table import Table from astropy.io import fits from matplotlib import pyplot as plt, rcParams, cm, colors from astropy.wcs import WCS import time # Declare data and files location obsData = sr.loadConfData('../muse_greenpeas.ini', group_variables=False) objList = obsData['data_location']['object_list'] fileList = obsData['data_location']['file_list'] fitsFolder = Path(obsData['data_location']['fits_folder']) dataFolder = Path(obsData['data_location']['data_folder']) resultsFolder = Path(obsData['data_location']['results_folder']) z_objs = obsData['sample_data']['z_array'] pertil_array = obsData['sample_data']['percentil_array'] noise_region = obsData['sample_data']['noiseRegion_array'] norm_flux = obsData['sample_data']['norm_flux'] verbose = True for i, obj in enumerate(objList): if i == 0: # Data location
import numpy as np from pathlib import Path import src.specsiser as sr from astro.papers.gtc_greenpeas.common_methods import check_previous_measurements conf_file_address = '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini' obsData = sr.loadConfData(conf_file_address, objList_check=True, group_variables=False) objList = obsData['file_information']['object_list'] dataFolder = Path(obsData['file_information']['data_folder']) resultsFolder = Path(obsData['file_information']['results_folder']) fileList = obsData['file_information']['files_list'] ext = 'BR' cycle = 'it3' combined_line_dict = {'O2_3726A_m': 'O2_3726A-O2_3729A', 'O2_7319A_m': 'O2_7319A-O2_7330A'} # Analyse the spectrum for i, obj in enumerate(objList): if i < 3: # Declare input files print(f'- Treating object ({i}): {obj}') objFolder = resultsFolder / f'{obj}' fits_file = dataFolder / f'{obj}_{ext}.fits' objMask = dataFolder / f'{obj}_{ext}_mask.txt' results_file = objFolder / f'{obj}_{ext}_measurements.txt' lineLog_file = objFolder / f'{obj}_{ext}_linesLog_{cycle}.txt' # Declare output files
from pathlib import Path import numpy as np import pandas as pd import src.specsiser as sr from astro.papers.gtc_greenpeas.common_methods import from timeit import default_timer as timer from physical_model.gasEmission_functions import gridInterpolatorFunction conf_file_address = '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini' obsData = sr.loadConfData(conf_file_address, objList_check=True, group_variables=False) objList = obsData['file_information']['object_list'] dataFolder = Path(obsData['file_information']['data_folder']) resultsFolder = Path(obsData['file_information']['results_folder']) fileList = obsData['file_information']['files_list'] red_law = obsData['sample_data']['red_law'] RV = obsData['sample_data']['RV'] ext = 'BR' cycle = 'it3' HCm_folder = '/home/vital/Dropbox/Astrophysics/Tools/HCm-Teff_v5.01/' # HCm_folder = 'D:/Dropbox/Astrophysics/Tools/HCm-Teff_v5.01/' # grid_file = 'C17_bb_Teff_30-90_pp.dat' conversion_dict = dict(O2_3726A_m='OII_3727', Ne3_3869A='NeIII_3868', O3_4363A='OIII_4363', O3_4959A='OIII_4959',
import src.specsiser as sr from pathlib import Path from matplotlib import pyplot as plt, rcParams from astropy.wcs import WCS from src.specsiser.print.plot import STANDARD_PLOT from astro.data.muse.common_methods import compute_line_flux_image, image_array_binning, VoxelPlotter lineAreas = { 'H1_6563A': (6533.0, 6596.0), 'S3_6312A': (6310.0, 6319.0), 'O3_5007A': (4999.0, 5025.0), 'O3_4363A': (4355.0, 4374.0) } # Declare data and files location obsData = sr.loadConfData('muse_J0925.ini', group_variables=False) objList = np.array([obsData['sample_data']['object_list']]) fileList = np.array([obsData['sample_data']['file_list']]) dataFolder = Path(obsData['sample_data']['data_folder']) resultsFolder = Path(obsData['sample_data']['results_folder']) z_objs = np.array([obsData['sample_data']['z_array']]) pertil_array = obsData['sample_data']['percentil_array'] norm_flux = 1 for i, obj in enumerate(objList): # Data location cube_address_i = dataFolder / fileList[i] objFolder = resultsFolder / obj db_addresss = objFolder / f'{obj}_database.txt'
import numpy as np import src.specsiser as sr from src.specsiser.data_printing import latex_labels from pathlib import Path from astro.papers.muse_CGCG007.muse_CGCG007_methods import voxel_security_check from timeit import default_timer as timer from astropy.table import Table from astropy.io import fits from matplotlib import pyplot as plt, rcParams, cm, colors from astropy.wcs import WCS from src.specsiser.tools.line_measure import STANDARD_PLOT # Declare data and files location obsData = sr.loadConfData('../muse_CGCG007.ini') objList = obsData['data_location']['object_list'] fileList = obsData['data_location']['file_list'] fitsFolder = Path(obsData['data_location']['fits_folder']) dataFolder = Path(obsData['data_location']['data_folder']) resultsFolder = Path(obsData['data_location']['results_folder']) voxel_grid_size = obsData['sample_data']['grid_shape_array'] verbose = True for i, obj in enumerate(objList): # Data location objFolder = resultsFolder / obj voxelFolder = resultsFolder / obj / 'voxel_data' db_address = objFolder / f'{obj}_database.fits' fits_results_file = resultsFolder / obj / f'{obj}_chemical.fits'
import numpy as np import src.specsiser as sr from src.specsiser.data_printing import PdfPrinter, latex_labels, numberStringFormat from pathlib import Path def percent_func(current_value, ref_value): return f' $({(1 - (current_value / ref_value)) * 100:.1f}\%)$' conf_file_address = '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini' obsData = sr.loadConfData(conf_file_address, objList_check=True, group_variables=False) objList = obsData['file_information']['object_list'] resultsFolder = Path(obsData['file_information']['results_folder']) tables_folder = Path(obsData['file_information']['tables_folder']) ext = 'BR' cycle = 'it3' combined_line_dict = {'O2_3726A_m': 'O2_3726A-O2_3729A', 'O2_7319A_m': 'O2_7319A-O2_7330A', 'S2_6716A_m': 'S2_6716A-S2_6731A'} # obj = 'gp121903' for i, obj in enumerate(objList): if i < 3: objFolder = resultsFolder / f'{obj}' results_file = objFolder / f'{obj}_{ext}_measurements.txt' lineLog_file = objFolder / f'{obj}_{ext}_linesLog_{cycle}.txt'
from pathlib import Path from astro.data.muse.common_methods import background_color, DARK_PLOT, label_Conver, latex_Conver, dinamicLines from timeit import default_timer as timer from astropy.table import Table from astropy.io import fits from matplotlib import pyplot as plt, rcParams, cm, colors from astropy.wcs import WCS # Declare data and files location conf_file = Path( '/home/vital/PycharmProjects/vital_tests/astro/data/muse/muse_greenpeas.ini' ) seminar_folder = Path( '/home/vital/Dropbox/Astrophysics/Seminars/UniVapo 2021/') obsData = sr.loadConfData(conf_file, group_variables=False) objList = obsData['data_location']['object_list'] fileList = obsData['data_location']['file_list'] fitsFolder = Path(obsData['data_location']['fits_folder']) dataFolder = Path(obsData['data_location']['data_folder']) resultsFolder = Path(obsData['data_location']['results_folder']) voxel_grid_size = obsData['sample_data']['grid_shape_array'] verbose = True for i, obj in enumerate(objList): if i == 0: # Data location
import lmfit import numpy as np import pandas as pd import src.specsiser as sr from matplotlib import pyplot as plt, rcParams from pathlib import Path # Import the observation data obsData = sr.loadConfData( '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini', group_variables=False) linesFile = Path( 'D:/Pycharm Projects/spectra-synthesizer/src/specsiser/literature_data/lines_data.xlsx' ) data_folder = Path(obsData['file_information']['data_folder']) file_list = obsData['file_information']['files_list'] addressList = list(data_folder / file for file in file_list) # Analyse the spectrum for i, file_address in enumerate(addressList): # Get fits data wave, flux, header = sr.import_fits_data(file_address, instrument='OSIRIS') z_mean = obsData['sample_data']['z_array'][i] wmin_array, wmax_array = obsData['sample_data']['wmin_array'], obsData[ 'sample_data']['wmax_array'] # Define wave and flux ranges wave_rest = wave / (1 + z_mean) idx_wave = (wave_rest >= wmin_array[i]) & (wave_rest <= wmax_array[i])
from pathlib import Path import numpy as np import src.specsiser as sr import pandas as pd import astropy.coordinates as coord import astropy.units as u from matplotlib import pyplot as plt import mplcursors megara_library_stars = ['HR1544', 'HR5501', 'HR5501', 'HR5501', 'HR1544'] conf_file = Path('../obsConf.ini') obsData = sr.loadConfData(conf_file) data_folder = Path(obsData['data_location']['data_folder']) results_folder = Path(obsData['data_location']['results_folder']) targets_file = '/home/vital/Dropbox/Astrophysics/TelescopeTime/MEGARA_NOexcess_Gradients_2021/phase2/targets_coordinates.txt' osirisStdStars_file = '/home/vital/Dropbox/Astrophysics/TelescopeTime/Standard_Stars/osirisStandardStars.csv' esoStdStars_file = '/home/vital/Dropbox/Astrophysics/TelescopeTime/Standard_Stars/esoStandardStars.csv' osirisStdStarsDF = pd.read_csv(osirisStdStars_file, header=0, index_col=0) osirisStdStarsDF['type'] = 'Osiris Stars' esoStdStarsDF = pd.read_csv(esoStdStars_file, header=0, index_col=0) esoStdStarsDF['type'] = 'ESO Stars' targetsDF = pd.read_csv(targets_file, delim_whitespace=True, header=0, index_col=0) targetsDF['type'] = 'Targets'
def reconstruct_wavelength(header): dw = header['CDELT3'] w_min = header['CRVAL3'] nPixels = header['NAXIS3'] w_max = w_min + dw * nPixels return np.linspace(w_min, w_max, nPixels, endpoint=False) # fits_folder = Path('/home/vital/Astro-data/Observations/MUSE - Amorin/FADO_analysis/Z4SalpP2000/') # conf_file_address = '/home/vital/PycharmProjects/vital_tests/astro/papers/muse_CGCG007/muse_CGCG007.ini' fits_folder = Path( r'S:\Astro_data\Observations\MUSE - Amorin\FADO_analysis\Z4SalpP2000') conf_file_address = r'D:\Pycharm Projects\vital_tests\astro\papers\muse_CGCG007\muse_CGCG007.ini' obsData = sr.loadConfData(conf_file_address, group_variables=False) fits_1 = 'cgcg007025_HBIN024_FDres2_2DnebSED.fits' fits_2 = 'cgcg007025_HBIN024_FDres2_2DnoNEB.fits' fits_3 = 'cgcg007025_HBIN024_FDres2_3DnebSED.fits' fits_4 = 'cgcg007025_HBIN024_FDres2_3DnoNEB.fits' fits_5 = 'cgcg007025_HBIN024_FDres2_3DOBS.fits' fits_6 = 'cgcg007025_HBIN024_FDres2_3DstelFIT.fits' fits_7 = 'cgcg007025_HBIN024_FDres2_2DnebSED.fits' fits_8 = 'red_cgcg007025_3D_SLres_HBIN024_RY.fits' fits_9 = 'red_cgcg007025_HBIN024_FDres2.fits' coord = (170, 170) file_path = Path(r'S:\Astro_data\Observations\MUSE - Amorin\CGCG007.fits') wave, cube, header = sr.import_fits_data(file_path, instrument='MUSE') z_obj = 0.004691
color = 'black' elif (TheRatio < ObsRatio * 0.95): color = 'ForestGreen' # 'green'# elif (TheRatio < ObsRatio * 0.85 ): color = 'YellowOrange' # 'yellow'# else: color = 'YellowOrange' # 'yellow'# return color # Import the observation data obsData = sr.loadConfData('D:/Pycharm Projects/vital_tests/astro/data/SDSS/flux_comparison.ini', group_variables=False) linesFile = Path('D:/Pycharm Projects/spectra-synthesizer/src/specsiser/literature_data/lines_data.xlsx') linesDb = pd.read_excel(linesFile, sheet_name=0, header=0, index_col=0) data_folder = Path(obsData['file_information']['data_folder']) fileList = list_files(data_folder, '.fits') addressList = list(data_folder / file for file in fileList) flux_norm = obsData['sample_data']['norm_flux'] tableHeaders = [r'Object name', r'$EW(H\beta)$ $(\AA)$', r'$c(H\beta)$', r'$F(H\alpha)/F(H\beta)$'] scaleTable = 1000.0 fitsFolder, fitsFile = addressList[0].parent, addressList[0].name sampleFolder, tableName = fitsFolder/'sample_data', 'sample_properties' pdf = PdfPrinter() pdf.create_pdfDoc(sampleFolder / tableName, pdf_type='table')
import numpy as np import src.specsiser as sr import time import lime from pathlib import Path from astro.papers.muse_CGCG007.muse_CGCG007_methods import voxel_security_check from astropy.io import fits import os # Declare data and files location obsData = sr.loadConfData('../muse_CGCG007.ini') objList = obsData['data_location']['object_list'] fileList = obsData['data_location']['file_list'] fitsFolder = Path(obsData['data_location']['fits_folder']) dataFolder = Path(obsData['data_location']['data_folder']) resultsFolder = Path(obsData['data_location']['results_folder']) z_objs = obsData['sample_data']['z_array'] pertil_array = obsData['sample_data']['percentil_array'] noise_region = obsData['sample_data']['noiseRegion_array'] norm_flux = obsData['sample_data']['norm_flux'] merge_dict = {'O2_7319A_b': 'O2_7319A-O2_7330A'} for i, obj in enumerate(objList): # Data location objFolder = resultsFolder / obj db_addresss = objFolder / f'{obj}_database.fits' fitsLog_addresss = objFolder / f'{obj}_linesLog.fits'
from pathlib import Path import src.specsiser as sr # Declare the data location obsFitsFile = Path('./sample_data/gp121903_BR.fits') lineMaskFile = Path('./sample_data/gp121903_BR_mask.txt') cfgFile = Path('./sample_data/gtc_greenpeas_data.ini') # Load the data obsConf = sr.loadConfData(cfgFile, objList_check=True, group_variables=False) maskDF = sr.lineslogFile_to_DF(lineMaskFile) wave, flux, header = sr.import_fits_data(obsFitsFile, instrument='OSIRIS') user_conf = obsConf['gp121903_line_fitting'] # Declare line measuring object lm = sr.LineMesurer(wave, flux, redshift=obsConf['sample_data']['z_array'][2], normFlux=obsConf['sample_data']['norm_flux']) lm.plot_spectrum() # Find lines norm_spec = lm.continuum_remover( noiseRegionLims=obsConf['sample_data']['noiseRegion_array']) obsLinesTable = lm.line_finder( norm_spec, noiseWaveLim=obsConf['sample_data']['noiseRegion_array'], intLineThreshold=3) matchedDF = lm.match_lines(obsLinesTable, maskDF) lm.plot_spectrum(obsLinesTable=obsLinesTable, matchedLinesDF=matchedDF,
wget.download(url, out_file_address) return lineConversion = { 'He2_4685A': 'He_II 4685', 'H1_4861A': 'H_beta', 'H1_6563A': 'H_alpha', 'O3_4363A': '[O_III] 4363', 'O3_4959A': '[O_III] 4959', 'O3_4959A': '[O_III] 5007', 'S3_6312A': '[S_III] 6312' } conf_file_address = '../sampleHeII.ini' obsData = sr.loadConfData(conf_file_address) fits_folder = pathlib.Path(obsData['data_location']['fits_folder']) data_folder = pathlib.Path(obsData['data_location']['treatment_folder']) objList_file = obsData['data_location']['sample_file'] objDF = pd.read_csv(data_folder / objList_file, delim_whitespace=True, comment='#', names=['PLATEID', 'MDJ_1', 'FIBERID_1']) normFlux = obsData['sample_data']['norm_flux'] # Loop through the sample list err_dict = {} n_objs = objDF.index.values.size
from pathlib import Path import src.specsiser as sr from fitelp.read_spectra import read_spectra data_folder = Path('D:/Google drive/Astrophysics/Datos/broad_multiComponent') obsData = sr.loadConfData('broad_conf.ini', group_variables=False) z_mean, z_err = sr.redshift_calculation(obsData['sample_data']['obs_waves'], obsData['sample_data']['emis_waves']) norm_flux = obsData['sample_data']['norm_flux'] obj_list = ['B6479s', 'R8731s'] for idx_obj, obj in enumerate(['R8731s']): fits_address = data_folder / f'{obj}.fits' wave_data, flux_data = read_spectra(fits_address, scaleFlux=1) mask_address = data_folder / f'{obj}_mask.txt' mask_DF = sr.lineslogFile_to_DF(mask_address) # Individual line measurement lm = sr.LineMesurer(wave_data[0], flux_data[0], normFlux=norm_flux, redshift=z_mean) fitConf = obsData[f'default_line_fitting'] # Loop through the lines for lineLabel in ['H1_6563A_b']: # Get line ranges lineWaves = mask_DF.loc[lineLabel, 'w1':'w6'].values
from astro.data.muse.common_methods import compute_line_flux_image, lineAreas, red_corr_HalphaHbeta_ratio, default_linelog_types from astropy.io import fits from matplotlib import pyplot as plt, rcParams, cm, colors from astropy.wcs import WCS import time from lmfit.models import PolynomialModel, Model from src.specsiser.tools.line_fitting import gaussian_model, linear_model, c_KMpS import fitelp.constants as constants from fitelp.make_latex_tables import average_velocities_table_to_latex, halpha_regions_table_to_latex from fitelp.bpt_plotting import bpt_plot from fitelp.kinematics_calculations import RegionCalculations from fitelp.fit_line_profiles import plot_profiles from fitelp.line_profile_info import RegionParameters # Declare data and files location obsData = sr.loadConfData('../muse_greenpeas.ini', group_variables=False) objList = obsData['data_location']['object_list'] fileList = obsData['data_location']['file_list'] fitsFolder = Path(obsData['data_location']['fits_folder']) dataFolder = Path(obsData['data_location']['data_folder']) resultsFolder = Path(obsData['data_location']['results_folder']) z_objs = obsData['sample_data']['z_array'] pertil_array = obsData['sample_data']['percentil_array'] noise_region = obsData['sample_data']['noiseRegion_array'] norm_flux = obsData['sample_data']['norm_flux'] dict_errs = {} dict_nan_values = {} verbose = False
import numpy as np from pathlib import Path import src.specsiser as sr # Import the observation data obsData = sr.loadConfData( '../../../papers/gtc_greenpeas/gtc_greenpeas_data.ini', group_variables=False) linesFile = Path( 'D:/Pycharm Projects/spectra-synthesizer/src/specsiser/literature_data/lines_data.xlsx' ) data_folder = Path(obsData['file_information']['data_folder']) file_list = obsData['file_information']['files_list'] addressList = list(data_folder / file for file in file_list) # Analyse the spectrum for i, file_address in enumerate(addressList): if i == 2: # Establish files location objName = obsData['file_information']['object_list'][i] fitsFolder, fitsFile = file_address.parent, file_address.name lineLogFolder, lineLogFile = fitsFolder / 'flux_analysis', fitsFile.replace( '.fits', '_linesLog.txt') simFolder, simConf = fitsFolder / 'chemical_analysis', fitsFile.replace( '_BR.fits', '_config.txt') inputLinesLog = f'{objName}_inputLinesLog.txt' outputDb = f'{objName}_fitting.db' outputTxt = f'{objName}_fitting.txt' print(f'- {objName}')
defaultConf = STANDARD_PLOT.copy() defaultConf['axes.titlesize'] = 20 rcParams.update(defaultConf) # # Declare data and files location # obsData = sr.loadConfData('../muse_greenpeas.ini', group_variables=False) # objList = obsData['data_location']['object_list'] # fileList = obsData['data_location']['file_list'] # fitsFolder = Path(obsData['data_location']['fits_folder']) # dataFolder = Path(obsData['data_location']['data_folder']) # resultsFolder = Path(obsData['data_location']['results_folder']) # voxel_grid_size = obsData['sample_data']['grid_shape_array'] # coordinates_keys_list = obsData['data_location']['wcs_key_list'] # Declare data and files location obsConf = sr.loadConfData('J0838_cubes.ini') fitsFolder = Path(obsConf['data_location']['fits_folder']) dataFolder = Path(obsConf['data_location']['data_folder']) resultsFolder = Path(obsConf['data_location']['results_folder']) fileList = obsConf['data_location']['file_list'] objList = obsConf['data_location']['object_list'] z_list = obsConf['sample_data']['z_array'] norm_flux = obsConf['sample_data']['norm_flux'] percentil_array = obsConf['sample_data']['percentil_array'] voxel_grid_size = obsConf['sample_data']['grid_shape_array'] # Store emissivity ratios at standard conditions H1 = pn.RecAtom('H', 1) temp, den = 10000.0, 100.0
import numpy as np import pandas as pd from pathlib import Path import src.specsiser as sr import scipy as spy import exoplanet as xo import time from astropy.io import fits from astropy.table import Table from astro.data.muse.common_methods import grid_HII_CHI_mistry_conversion as labelConver, grid_columns from astro.papers.gtc_greenpeas.common_methods import epm_HII_CHI_mistry # Declare data and files location file_conf = '/home/vital/PycharmProjects/vital_tests/astro/data/muse/muse_greenpeas.ini' obsData = sr.loadConfData(file_conf, group_variables=False) objList = obsData['data_location']['object_list'] fileList = obsData['data_location']['file_list'] fitsFolder = Path(obsData['data_location']['fits_folder']) dataFolder = Path(obsData['data_location']['data_folder']) resultsFolder = Path(obsData['data_location']['results_folder']) z_objs = obsData['sample_data']['z_array'] pertil_array = obsData['sample_data']['percentil_array'] noise_region = obsData['sample_data']['noiseRegion_array'] norm_flux = obsData['sample_data']['norm_flux'] # Load the data grid_file = Path( '/home/vital/Dropbox/Astrophysics/Data/muse-Ricardo/Data/HII-CHI-mistry_1Myr_grid.csv' )
# # print(trace) # print(pymc3.summary(trace)) # az.plot_trace(trace) # plt.show() # az.plot_posterior(trace) # plt.show() # -------------------------------------- Test 2 -------------------------------------------------- # Load synthetic observation linesLogAddress = user_folder / f'Teff_LogU_epmGrids_linesLog.txt' simulationData_file = user_folder / f'Teff_LogU_epmGrids_config.txt' # Load simulation parameters objParams = sr.loadConfData(simulationData_file, group_variables=False) # Load emission lines merged_lines = {'O2_3726A_m': 'O2_3726A-O2_3729A', 'O2_7319A_m': 'O2_7319A-O2_7330A'} objLinesDF = sr.import_emission_line_data(linesLogAddress, include_lines=objParams['inference_model_configuration']['input_lines'], exclude_lines=['S3_9069A']) # Establish lines used in photo-ionization model lineLabels = objLinesDF.index.values lines_Grid = np.array(list(gridLineDict.keys())) idx_analysis_lines = np.in1d(lineLabels, lines_Grid) lineFluxes = objLinesDF.obsFlux.values lineErr = objLinesDF.obsFluxErr.values lineWaves = objLinesDF.wavelength.values # Extinction parameters objRed = sr.ExtinctionModel(Rv=objParams['simulation_properties']['R_v'],
from pathlib import Path import numpy as np import pandas as pd import matplotlib.pyplot as plt import src.specsiser as sr c_KMpS = 299792.458 obsData = sr.loadConfData('./xshooter_LzLCS.ini') data_folder = Path(obsData['data_location']['data_folder']) results_folder = Path(obsData['data_location']['results_folder']) objfile_list = obsData['data_location']['objfile_list'] sigmafile_list = obsData['data_location']['sigmafile_list'] objRef_list = obsData['data_location']['ref_list'] maskfile = obsData['data_location']['generalMask'] wmin_array = obsData['sample_data']['w_min_array'] wmax_array = obsData['sample_data']['w_max_array'] norm_flux = obsData['sample_data']['norm_flux'] z_obj = obsData['sample_data']['z_obj'] profile_conf = obsData['line_fitting'] DF_list = [None, None] for i, objName in enumerate(objRef_list): # input data lineslog_file = results_folder / f'{objName}_linesLog.txt' # Load data linesDF = sr.lineslogFile_to_DF(lineslog_file) DF_list[i] = linesDF