Пример #1
0
def imageExtract(filePath, waveLens, isShow=True, scale=15):
    keywords, flux = getFitsHeaderAndFlux(filePath)
    wave = calcWaveWithKeywords(keywords)
    fileName = util.getFileNameByPath(filePath, True)

    plt.plot(wave, flux)
    plt.xlabel('wavelength')
    plt.ylabel('flux')
    plt.title(fileName + ":" + getKeyword(keywords, "SUBCLASS"))
    plt.axis(ymin=0)

    maxFlue = max(flux)
    maxY = 1500
    if maxFlue + 100 > maxY:
        maxY = maxFlue + 100
    plt.axis(ymax=maxY)

    for wl in waveLens:
        plt.axvline(wave[wl], color='r', ls='--')
        isLine = checkLine(flux, wl, scale)
        if isLine == 1:
            plt.text(wave[wl], flux[wl] - 100, '[Y]', color='r', horizontalalignment='center',
                     verticalalignment='center', fontsize=10)
    if isShow:
        plt.show()
    else:
        plt.savefig(filePath + '.png')
        plt.close()
Пример #2
0
def getSpecType(filePath):
    fileName = util.getFileNameByPath(filePath)
    gIndex = fileName.index("g")
    teff = int(fileName[fileName.index("t") + 1:gIndex])
    g = float(fileName[gIndex + 1:gIndex + 3]) / 10

    column = "teff_m"
    if g < 3:
        column = "teff_g"
    if g < 1:
        column = "teff_sg"

    return DataAccessUtil.getSpecTypeByTeff(teff, column)