Exemple #1
0
 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
Exemple #2
0
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)
Exemple #3
0
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