# 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"]
Пример #2
0
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)))
Пример #5
0
        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