def __init__(self, w0, w1, nw, snFilename, galFilename=None): self.w0 = w0 self.w1 = w1 self.nw = nw self.snFilename = snFilename if galFilename is None: self.data = PreProcessing(snFilename, w0, w1, nw) else: self.galFilename = galFilename
class ReadSpectra(object): def __init__(self, w0, w1, nw, snFilename, galFilename=None): self.w0 = w0 self.w1 = w1 self.nw = nw self.snFilename = snFilename if galFilename is None: self.data = PreProcessing(snFilename, w0, w1, nw) else: self.galFilename = galFilename self.dataCombined = CombineSnAndHost(snFilename, galFilename, w0, w1, nw) def sn_plus_gal_template(self, snAgeIdx, snCoeff, galCoeff, z): wave, flux, minIndex, maxIndex, nCols, ages, tType = self.dataCombined.training_template_data( snAgeIdx, snCoeff, galCoeff, z) return wave, flux, nCols, ages, tType, minIndex, maxIndex def snid_template_data(self, ageIdx, z): """ lnw template files """ wave, flux, nCols, ages, tType, minIndex, maxIndex = self.data.snid_template_data( ageIdx, z) return wave, flux, nCols, ages, tType, minIndex, maxIndex def sf_age(self): snName, extension = self.snFilename.strip('.dat').split('.') ttype, snName = snName.split('/') if extension == 'max': age = 0 elif extension[0] == 'p': age = float(extension[1:]) elif extension[0] == 'm': age = -float(extension[1:]) else: print("Invalid Superfit Filename: " + self.snFilename) return snName, ttype, age def superfit_template_data(self, z): """ Returns wavelength and flux after all preprocessing """ wave, flux, minIndex, maxIndex = self.data.two_column_data( z, minWave=self.w0, maxWave=self.nw) snName, ttype, age = self.sf_age() print(snName, ttype, age) return wave, flux, minIndex, maxIndex, age, snName, ttype def input_spectrum(self, z, smooth, minWave, maxWave): wave, flux, minIndex, maxIndex = self.data.two_column_data( z, smooth, minWave, maxWave) return wave, flux, int(minIndex), int(maxIndex)
class ReadSpectra(object): def __init__(self, w0, w1, nw, snFilename, galFilename=None): self.w0 = w0 self.w1 = w1 self.nw = nw self.snFilename = snFilename if galFilename is None: self.data = PreProcessing(snFilename, w0, w1, nw) else: self.galFilename = galFilename def sn_plus_gal_template(self, snAgeIdx, snCoeff, galCoeff, z): wave, flux, minIndex, maxIndex, nCols, ages, tType = training_template_data(snAgeIdx, snCoeff, galCoeff, z, self.snFilename, self.galFilename, self.w0, self.w1, self.nw) return wave, flux, nCols, ages, tType, minIndex, maxIndex def input_spectrum(self, z, smooth, minWave, maxWave): wave, flux, minIndex, maxIndex, z = self.data.two_column_data(z, smooth, minWave, maxWave) return wave, flux, int(minIndex), int(maxIndex), z