我有一个黑白光谱,我想
使用这个着色图像着色。
调整这里给出的方法: 将不同的颜色图应用于蒙版,我获得了最终的彩色图像,但它缺乏光谱的特征(参见代码中的注释以获取图片finalimage的链接)。
我的代码在这里给出(在评论中包含托管图像,因为我无法在此处显示所有图像):
import numpy as np
import matplotlib.pyplot as plt
import pyfits
wavemap = "FITS/wavemap.fits.gz"
spectrum = "FITS/phxspectra.fits.gz"
image = pyfits.getdata(spectrum)
colors = pyfits.getdata(wavemap)
mask = colors > 0
colors_ma = np.ma.array(colors, mask=~mask)
kwargs = {'interpolation': 'none', 'vmin': colors[mask].min(), 'vmax': colors.max(), 'origin': 'lower', 'alpha' : 0.5}
plt.imshow(image, cmap=plt.cm.Greys_r, interpolation='none', origin='lower')
plt.imshow(colors_ma, cmap=plt.cm.jet, **kwargs)
plt.show()
#
#
#
#
#
如果我降低 alpha 值,光谱的特征会显示得更好,但颜色会很暗淡。如果我增加 alpha 值,那么颜色会显示得更好,但光谱的特征不会显示出来。
我怎样才能从彩色图像中获得光谱的特征 和颜色而不用另一种折衷?