|||
在非可见波波段,很多观测都用伪彩色的方法进行可视化。如果有三个通道的图像,那么将三个通道分别作为红色、绿色和蓝色就可以做出伪彩色图来了。
原理说起来简单,但要实现起来需要考虑一些问题。如果三个通道的图的大小、像素数相同,那么直接使用IDL里的TV(TVSCL)函数就可以实现(如下)。
img=findgen(3,nx,ny)
img(2,*,*)=img2
img(1,*,*)=img1
img(0,*,*)=img0
Position=[0.2,0.2,0.9,0.9]
xSize=(Position[2]-Position[0])*!D.X_VSize
ySize=(Position[3]-Position[1])*!D.Y_VSize
xStart=Position[0]*!D.X_VSize
yStart=Position[1]*!D.Y_VSize
tvscl,img,TRUE=1,xStart,yStart,XSize=xSize,YSIZE=ySize
如果图的大小不同,就需要进行裁剪,而如果像素数不同,可能就需要重新进行采样。
不过上面说的这些都是容易解决的。真正的困难还是投影的问题,这在之前部分得到了解决(http://blog.sciencenet.cn/blog-117333-604768.html)。最近碰到一个数据,里面有旋转,无论怎么弄都是不对。所以决定破例用一下更高级的工具。
尝试了一下ds9+ImageJ(http://chandra.harvard.edu/edu/formal/age_snr/3color_ds9.html)的组合,效果还可以,但是问题在于ds9没有方便的方法对图进行合适的裁剪,这样一来,用ImageJ叠出的伪彩色图还是没有对齐。这到不是太大的问题,因为ds9可以正确地对图像进行旋转,这样一来,也可以用IDL对旋转完的图像进行叠加。无论如何,记录一下用ds9+ImageJ的工作流程
ds9同时打开三个fits文件
Frame-> Mathch Frames-> WCS
Scale-> 99.5%
Zoom-> to fit
File-> Save Image -> Fits-> OK
处理完3个文件后,用ImageJ打开3个保存好的图像
Image-> Adjust-> Brightness/Contrast
处理完3幅图后
Image-> Color-> Merge Channels
2013年8月2日补记:问题已经解决。投影的计算没有问题。是画图的时候需要固定长宽比。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-20 04:54
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社