Пример #1
0
                    row_i = [row] * 3

                    line_F = reduc_linedf.iloc[i].line_Flux
                    line_emisF = emission_linedf.iloc[i].line_Flux

                    row_i[0] = line_F / Hbeta_F * norm_factor
                    row_i[1] = line_emisF / Hbeta_F * norm_factor
                    diff = (1.0 - line_F / line_emisF) * 100
                    row_i[2] = round(diff.nominal_value,
                                     1)  #/Hbeta_emisF * norm_factor

                    row = row + row_i

                    dz.addTableRow(row, last_row=False)

        dz.generate_pdf()

        # for wave in lambdas_array:
        #
        #     if wave in linformat_df['lambda_theo'].values:
        #         idx_label   = (linformat_df['lambda_theo'] == wave)
        #         ion         = linformat_df.loc[idx_label, 'latex_format'].values[0]
        #         label       = linformat_df.loc[idx_label, 'line_label'].values[0]
        #         wave        = 4861.0 if label == 'H1_4861A' else wave
        #         wave_lam_ref = int(round(wave, 0))
        #         line_label  = r'{} ${}$'.format(wave_lam_ref, ion)
        #         row         = [line_label]
        #         table_row   = [None] * 7
        #
        #         if ion in ['H1', 'He1', 'He2']:
        #
Пример #2
0
    abundValues     = objData[metals_list].values
    objData[metals_list] = 12.0 + unumpy.log10(abundValues)
    
    HeI_HI_entry    = dz.format_for_table(catalogue_df.loc[objName, 'HeII_HII_from_O' + ext_data], rounddig=3, rounddig_er=2)
    Ymass_O_entry   = dz.format_for_table(catalogue_df.loc[objName, 'Ymass_O' + ext_data], rounddig=3, rounddig_er=2)
    Ymass_S_entry   = dz.format_for_table(catalogue_df.loc[objName, 'Ymass_S' + ext_data], rounddig=3, rounddig_er=2)

    print objName, objData[['OI_HI' + ext_data]].values, objData[['OI_HI' + ext_data]].isnull().values.any(), regressions_employed

    row             = [entry_name] + [HeI_HI_entry, Ymass_O_entry, Ymass_S_entry]
    row             += list(objData[['OI_HI' + ext_data, 'NI_HI' + ext_data, 'SI_HI' + ext_data]].values)

    dz.addTableRow(row, last_row = False if catalogue_df.index[-1] != objName else True, rounddig=3, rounddig_er=1)

# dz.generate_pdf()   
dz.generate_pdf(output_address=pdf_address)



# from dazer_methods import Dazer
# from uncertainties import unumpy
# from collections import OrderedDict
# from pylatex import Package, NoEscape
# 
# #Import library object
# dz = Dazer()
# 
# #Load observational data
# catalogue_df = dz.load_excel_DF('/home/vital/Dropbox/Astrophysics/Data/WHT_observations/WHT_Galaxies_properties.xlsx')
# dz.quick_indexing(catalogue_df)
# 
Пример #3
0
    objectFolder = '{}{}/'.format(
        root_folder, objName)  # '{}{}\\'.format(root_folder, objName)
    dataFileAddress = '{}{}_objParams.txt'.format(objectFolder, objName)
    obsData = specS.load_obsData(dataFileAddress, objName)

    # Adapt the temperature
    Tlow_key, Thigh_key = catalogue_df.loc[objName].T_low, catalogue_df.loc[
        objName].T_high

    # # Case with a sulfur temperature
    # if (Tlow_key == 'TeSIII') and  (Tlow_key == 'TeOIII_from_TeSIII'):

    # Case with an oxygen temperature
    if (Tlow_key == 'TeSIII_from_TeOIII') and (Thigh_key == 'TeOIII'):
        obsData['T_high'] = obsData.pop('T_low', '-')

    # Load observational data
    row_i = [quick_reference] + ['-'] * varsNum
    keys_list = headers_dic.keys()
    for j in range(len(keys_list)):
        item = keys_list[j]
        row_i[j + 1] = checkDictValue(obsData, item)

    dz.addTableRow(row_i,
                   last_row=False if sampleObjects[-1] != objName else True,
                   rounddig=3,
                   rounddig_er=1)

# dz.generate_pdf()
dz.generate_pdf(output_address=tableAddress)
Пример #4
0
        O3_entry = '-'

    #Fill the table
    if (catalogue_df.loc[objName].T_low
            == 'TeSIII') and (catalogue_df.loc[objName].T_high == 'TeOIII'):
        exponent = ''
    elif (catalogue_df.loc[objName].T_low != 'TeSIII'):
        exponent = 'O'
    else:
        exponent = 'S'

    entry_name = '{codename}$^{{{elements}}}$'.format(
        codename=catalogue_df.loc[objName].quick_index, elements=exponent)
    print entry_name
    T_low_entry = r'$T_{e}[SIII]$' if catalogue_df.loc[
        objName].T_low == 'TeSIII' else r'$T_{e}[SIII] eq.16$'
    T_high_entry = r'$T_{e}[OIII]$' if catalogue_df.loc[
        objName].T_high == 'TeOIII' else r'$T_{e}[OIII] eq.16$'
    row = [entry_name] + [O3_entry] + [s3_entry] + list(
        catalogue_df.loc[
            objName, properties_list].values)  # + [T_low_entry, T_high_entry]
    dz.addTableRow(
        row,
        last_row=False if catalogue_df.index[-1] != objName else True,
        rounddig=3)

dz.generate_pdf(clean_tex=False)
#dz.generate_pdf(output_address=pdf_address)

print 'Table generated'
                        atom = dz.He2_atom
                        atom_label = 'HeIII' 
                        
                    wave_label = int(round(reduc_lineslog_df.loc[lines_labels[j]].lambda_theo))
                    Helium_i_dist = random.normal(reduc_lineslog_df.loc[lines_labels[j]].line_Int.nominal_value, reduc_lineslog_df.loc[lines_labels[j]].line_Int.std_dev, MC_length)
                    abund_dist  = atom.getIonAbundance(int_ratio=Helium_i_dist, tem=Te, den=ne, wave=wave_label, Hbeta = Hbeta_dist)
                    abund_log   = ufloat(nanmean(abund_dist), nanstd(abund_dist))
                    abund_label = '{:L}'.format(abund_log)
                
                    #Plot the data
                    title_line_plot = """{label}:
                    $\\frac{{{at_label}}}{{HII}}={abund}$""".format(label=lines_labels[j], at_label=atom_label, abund=abund_label)
                    dz.data_plot(subWwave, subFlux, label='', linestyle='step', graph_axis=dz.Axis[j])   
                    dz.data_plot(subWwave_emis, subFlux_emis, label='', linestyle='step', graph_axis=dz.Axis[j])
                    dz.Axis[j].fill_between(wave_reduc[idcs_obj[2]:idcs_obj[3]], flux_reduc[idcs_obj[2]:idcs_obj[3]], interFlux_solar, step='mid', alpha=0.5)
                    if lines_labels[j] == 'He1_5016A':
                        dz.Axis[j].set_ylim(0, reduc_lineslog_df.loc[lines_labels[j]].A * 4)
                    dz.data_plot(subwave_solar, subFlux_solar, label='', linestyle='step', graph_axis=dz.Axis[j])
                    dz.FigWording(xlabel='', ylabel='', title=title_line_plot, graph_axis=dz.Axis[j])
                     
                plt.tight_layout()
                dz.fig_to_pdf(label='{} Helium lines:'.format(objName.replace('_','-')), add_page=True)
                dz.reset_fig()
        
    else:
        print '--There is not stellar spectrum'
        
dz.generate_pdf(True)

print 'Data treated'
        
Пример #6
0
                        wave_reduc[idcs_obj[2]:idcs_obj[3]],
                        flux_reduc[idcs_obj[2]:idcs_obj[3]],
                        interFlux_solar,
                        step='mid',
                        alpha=0.5)
                    if lines_labels[j] == 'He1_5016A':
                        dz.Axis[j].set_ylim(
                            0, reduc_lineslog_df.loc[lines_labels[j]].A * 4)
                    dz.data_plot(subwave_solar,
                                 subFlux_solar,
                                 label='',
                                 linestyle='step',
                                 graph_axis=dz.Axis[j])
                    dz.FigWording(xlabel='',
                                  ylabel='',
                                  title=title_line_plot,
                                  graph_axis=dz.Axis[j])

                plt.tight_layout()
                dz.fig_to_pdf(label='{} Helium lines:'.format(
                    objName.replace('_', '-')),
                              add_page=True)
                dz.reset_fig()

    else:
        print '--There is not stellar spectrum'

dz.generate_pdf(True)

print 'Data treated'