# Locate the objects objName = catalogue_df.iloc[i].name ouput_folder = "{}{}/".format(catalogue_dict["Obj_Folder"], objName) fits_file = catalogue_df.iloc[i].reduction_fits lineslog_address = "{objfolder}{codeName}{lineslog_extension}".format( objfolder=ouput_folder, codeName=objName, lineslog_extension=AbundancesFileExtension ) # Load object data lineslog_frame = dz.load_lineslog_frame(lineslog_address) wave, flux, header_0 = dz.get_spectra_data(fits_file) # Perform the reddening correction cHbeta = catalogue_df.iloc[i][cHbeta_type] dz.deredden_lines(cHbeta, lineslog_frame) spectrum_dered = dz.derreddening_continuum(wave, flux, cHbeta.nominal_value) # Import cHbeta coefficient # Te = catalogue_df.iloc[i].TeSIII if notnull(catalogue_df.iloc[i].TeSIII) else 10000.0 # nHeII_HII = catalogue_df.iloc[i].HeII_HII_from_S if notnull(catalogue_df.iloc[i].HeII_HII_from_S) else 0.1 # nHeIII_HII = catalogue_df.iloc[i].HeIII_HII_from_S if notnull(catalogue_df.iloc[i].HeIII_HII_from_S) else 0.0 # Hbeta_Flux = lineslog_frame.loc['H1_4861A', 'line_Int'] # Halpha_Flux = lineslog_frame.loc['H1_6563A', 'line_Int'] Te = 10000.0 nHeII_HII = 0.1 nHeIII_HII = 0.0 Hbeta_Flux = lineslog_frame.loc["H1_4861A", "line_Int"] Halpha_Flux = lineslog_frame.loc["H1_6563A", "line_Int"]
for objName in catalogue_df.loc[dz.idx_include].index: ouput_folder = '{}{}/'.format(catalogue_dict['Obj_Folder'], objName) lineslog_address = '{objfolder}{codeName}{lineslog_extension}'.format( objfolder=ouput_folder, codeName=objName, lineslog_extension=AbundancesFileExtension) #Load lines frame lineslog_frame = dz.load_lineslog_frame(lineslog_address) #Perform the reddening correction cHbeta = catalogue_df.loc[objName, cHbeta_type] dz.deredden_lines(lineslog_frame, reddening_curve=red_curve, cHbeta=cHbeta, R_v=R_v) #Sulfur ratios if set(lineslog_frame.index) >= set(['S3_9069A', 'S3_9531A']): s3_ratio = lineslog_frame.loc[ 'S3_9531A'].line_Int / lineslog_frame.loc['S3_9069A'].line_Int s3_color = colorChooser(s3_ratio.nominal_value, dz.S3_ratio) s3_entry = r'\textcolor{' + s3_color + '}{' + dz.format_for_table( s3_ratio, rounddig=3) + '}' else: s3_entry = '-' #Oxygen ratios if set(lineslog_frame.index) >= set(['O3_4959A', 'O3_5007A']): O3_ratio = lineslog_frame.loc[
dz.pdf_insert_table(table_format='l' + 'c' * (3 * obj_per_page)) group_dict = OrderedDict() # Make dict with all the objects lines dataframes ouput_folder = '{}{}/'.format(catalogue_dict['Obj_Folder'], objName) linelog_reducAddress = '{objfolder}{codeName}_WHT_linesLog_reduc.txt'.format( objfolder=ouput_folder, codeName=objName) linelog_emisAddress = '{objfolder}{codeName}_WHT_linesLog_emission_2nd.txt'.format( objfolder=ouput_folder, codeName=objName) reduc_linedf = dz.load_lineslog_frame(linelog_reducAddress) emission_linedf = dz.load_lineslog_frame(linelog_emisAddress) cHbeta = catalogue_df.loc[objName, cHbeta_type] dz.deredden_lines(reduc_linedf, reddening_curve=red_curve, cHbeta=cHbeta, R_v=R_v) dz.deredden_lines(emission_linedf, reddening_curve=red_curve, cHbeta=cHbeta, R_v=R_v) group_dict[str(objName) + '_df'] = reduc_linedf group_dict[str(objName) + '_dfemis'] = emission_linedf group_dict[str(objName) + '_Hbeta_F'] = emission_linedf.loc['H1_4861A'].line_Flux group_dict[str(objName) + '_Hbeta_I'] = emission_linedf.loc['H1_4861A'].line_Int lambdas_array = emission_linedf['lambda_theo'].values
fits_emission = catalogue_df.iloc[i].stellar_fits fits_stellar = ouput_folder + objName + '_StellarContinuum.fits' lineslog_address = '{objfolder}{codeName}{lineslog_extension}'.format(objfolder = ouput_folder, codeName=objName, lineslog_extension=AbundancesFileExtension) if isfile(fits_stellar): # if i < 3: #Extract observational data wave_reduc, flux_reduc, header_0_reduc = dz.get_spectra_data(fits_reduc) wave_emis, flux_emis, header_emis = dz.get_spectra_data(fits_emission) wave_stellar, flux_stellar, header_stellar = dz.get_spectra_data(fits_stellar) reduc_lineslog_df = dz.load_lineslog_frame(lineslog_address) #Perform the reddening correction cHbeta = catalogue_df.iloc[i][cHbeta_type] dz.deredden_lines(cHbeta, reduc_lineslog_df) #Measure Hbeta flux Hbeta_wavelengths = reduc_lineslog_df.loc['H1_4861A', ['Wave1', 'Wave2', 'Wave3', 'Wave4', 'Wave5', 'Wave6']].values Hbeta_dist = random.normal(reduc_lineslog_df.loc['H1_4861A'].line_Int.nominal_value, reduc_lineslog_df.loc['H1_4861A'].line_Int.std_dev, MC_length) #Insert new section in pdf with dz.pdfDoc.create(Section('HII Galaxy: {}'.format(objName))): dz.add_page() #------Plot Oxygen lines element_lines = reduc_lineslog_df.loc[(reduc_lineslog_df.index.isin(oxygen_emision))].index.values if len(element_lines) > 0: dz.FigConf(plotStyle='seaborn-colorblind', Figtype = 'grid', plotSize = sizing_dict, n_columns = int(len(element_lines)), n_rows = int(np_ceil(len(element_lines)/n_columns)))
lineslog_extension=AbundancesFileExtension) if isfile(fits_stellar): # if i < 3: #Extract observational data wave_reduc, flux_reduc, header_0_reduc = dz.get_spectra_data( fits_reduc) wave_emis, flux_emis, header_emis = dz.get_spectra_data(fits_emission) wave_stellar, flux_stellar, header_stellar = dz.get_spectra_data( fits_stellar) reduc_lineslog_df = dz.load_lineslog_frame(lineslog_address) #Perform the reddening correction cHbeta = catalogue_df.iloc[i][cHbeta_type] dz.deredden_lines(cHbeta, reduc_lineslog_df) #Measure Hbeta flux Hbeta_wavelengths = reduc_lineslog_df.loc[ 'H1_4861A', ['Wave1', 'Wave2', 'Wave3', 'Wave4', 'Wave5', 'Wave6']].values Hbeta_dist = random.normal( reduc_lineslog_df.loc['H1_4861A'].line_Int.nominal_value, reduc_lineslog_df.loc['H1_4861A'].line_Int.std_dev, MC_length) #Insert new section in pdf with dz.pdfDoc.create(Section('HII Galaxy: {}'.format(objName))): dz.add_page() #------Plot Oxygen lines