Wave_StellarExtension = linspace(3000.0, 3399.0, 200) Int_StellarExtension = zeros(len(Wave_StellarExtension)) #Increase the range of Wave_S so it is greater than the observational range Int_S = hstack((Int_StellarExtension, Int_S)) Wave_S = hstack((Wave_StellarExtension, Wave_S)) #Resampling stellar spectra Interpolation = interp1d(Wave_S, Int_S, kind='slinear') Int_Stellar_Resampled = Interpolation(Wave_O) #Perform the reddening correction cHbeta = catalogue_df.iloc[i][cHbeta_type] IntObs_dered = dz.derreddening_spectrum(Wave_O, Int_O, reddening_curve=red_curve, cHbeta=cHbeta.nominal_value, R_v=R_v) IntEmi_dered = dz.derreddening_spectrum(Wave_E, Int_E, reddening_curve=red_curve, cHbeta=cHbeta.nominal_value, R_v=R_v) Int_Sum = IntEmi_dered + Int_Stellar_Resampled + Int_N dz.data_plot(Wave_O, IntObs_dered, 'Observed spectrum') dz.data_plot(Wave_N, Int_N, 'Nebular continuum', linestyle=':') dz.data_plot(Wave_S, Int_S, 'Stellar continuum', linestyle='--') dz.insert_image( '/home/vital/Dropbox/Astrophysics/Papers/Yp_AlternativeMethods/images/SHOC579_invert.png',
lineslog_extension=AbundancesFileExtension) fits_name = basename(fits_file) #Load object data lineslog_frame = dz.load_lineslog_frame(lineslog_address) wave, flux, header_0 = dz.get_spectra_data(fits_file) #Declare starlight files Grid_FileName = fits_name.replace('.fits', '.slGrid') Sl_OutputFolder = dz.RootFolder + 'Starlight/Output/' Sl_OutputFile = fits_name.replace('.fits', '.slOutput') cHbeta = catalogue_df.loc[objName, cHbeta_type] flux_dered = dz.derreddening_spectrum(wave, flux, reddening_curve=red_curve, cHbeta=cHbeta.nominal_value, R_v=R_v) #Define the maximum sigma for the fitting from the Hbeta line Sigma = ImportDispersionVelocity(lineslog_frame) UpperDispersionVelocity_Limit = str(round( Sigma, 1)) + ' [vd_upp (km/s)] = upper allowed vd\n' dz.replace_line(GridFileAddress, 21, UpperDispersionVelocity_Limit) #Launch starlight print '--Initiating starlight for ', fits_name, Sigma dz.Starlight_Launcher(Grid_FileName, dz.RootFolder) print '--Starlight finished succesfully ended:', Sl_OutputFile #Get stellar spectrum from starlight file
#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 nebular_fits = ouput_folder + objName + nebular_fits_exten Wave_T, Int_T, header_T = dz.get_spectra_data(fits_file) Wave_N, Int_N, header_T = dz.get_spectra_data(ouput_folder + objName + nebular_fits_exten) #Perform the reddening correction cHbeta = catalogue_df.iloc[i][cHbeta_type] Obs_spectrum_dered = dz.derreddening_spectrum(Wave_T, Int_T, reddening_curve=red_curve, cHbeta=cHbeta.nominal_value, R_v=R_v) spectrum_dered = Obs_spectrum_dered - Int_N #Generating the starlight files FileName = basename(fits_file) + stellar_files_exten Grid_FileName, Sl_OutputFile, Sl_OutputFolder, X_1Angs, Y_1Angs = dz.GenerateStarlightFiles( ouput_folder, FileName, objName, catalogue_df.iloc[i], Wave_T, spectrum_dered, ext_loop=stellar_files_exten)