snr_train = np.asarray(lib.library_params.snr[idx_train].values) snr_val = np.asarray(lib.library_params.snr[idx_validate].values) # ---------------------------------------------------------------------------------- # ----- create training set label matrix ------------------------------------------ # ---------------------------------------------------------------------------------- rstar = np.asarray(lib.library_params.radius[idx_train].values) teff = np.asarray(lib.library_params.Teff[idx_train].values) feh = np.asarray(lib.library_params.feh[idx_train].values) vsini=[] for spectrum in spectra_tr: # assigns each star a vsini value determined from autocorrelation peak vsini_star = autocorr(lib.wav,spectrum,0) vsini.append(vsini_star) print("done") vsini=np.asarray(vsini) labels = np.vstack((teff,rstar,feh,vsini)).T # pickle things pickling_on = open('cannon2_specmatch_labels_snr' + str(target_snr) + '.pkl', "wb") pickle.dump(labels,pickling_on) # ---- normalizes spectra via Gaussian filter ----------------- # training set spectra_tr_norm = []
spectra_tr,errs_tr,wavs_tr = rm_Na_doublt(lib.library_spectra[cool.lib_index,0],lib.library_spectra[cool.lib_index,1],lib.wav) # copies and broadens training set augment=6 # broaden spectra copies up to augment-1 km/s kernel_width=51 # ~ +/-25 km/s cool_size=len(cool.lib_index) broad_spectra_tr=[] vsini=[] for ind in range(cool_size): for i in np.arange(0,augment,1): broad_spectrum_tr = broaden_smsyn(spectra_tr[ind],kernel_width,1,0,i+1e-10) broad_spectra_tr.append(broad_spectrum_tr) # assigns each star a vsini value determined from autocorrelation peak vsini_star = autocorr(wavs_tr,broad_spectrum_tr,i) vsini.append(vsini_star) print("assigned vsini") vsini = np.asarray(vsini) spectra_tr = np.asarray(broad_spectra_tr) # constructs training set label matrix teff = [lib.library_params.Teff[ind] for ind in cool.lib_index] rstar = [lib.library_params.radius[ind] for ind in cool.lib_index] feh = [lib.library_params.feh[ind] for ind in cool.lib_index] labels_tr = np.vstack((teff,rstar,feh)).T # augment label and spectral errs matrices to reflect broad spectra matrix broad_labels_tr = [np.tile(labels_tr[i],(augment,1)) for i in range(len(labels_tr[:,0]))] errs_tr = np.asarray([np.tile(errs_tr[i],(augment,1)) for i in range(len(labels_tr[:,0]))])