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()
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)