我有一个课程的任务,我正在与美国宇航局的文件。我有两个图像,它们的尺寸被用来投影一个需要重塑的图像。我的意思是重塑
Filename: jw02107-o039_t018_miri_f1130w_i2d.fits
No. Name Ver Type Cards Dimensions Format
0 PRIMARY 1 PrimaryHDU 349 ()
1 SCI 1 ImageHDU 75 (2379, 1178) float32
2 ERR 1 ImageHDU 10 (2379, 1178) float32
3 CON 1 ImageHDU 9 (2379, 1178) int32
4 WHT 1 ImageHDU 9 (2379, 1178) float32
5 VAR_POISSON 1 ImageHDU 9 (2379, 1178) float32
6 VAR_RNOISE 1 ImageHDU 9 (2379, 1178) float32
7 VAR_FLAT 1 ImageHDU 9 (2379, 1178) float32
8 HDRTAB 1 BinTableHDU 816 12R x 403C [23A, 5A, 3A, 48A, 7A, 13A, 6A, 5A, 7A, 10A, 4A, L, D, D, D, D, 32A, 48A, 70A, 11A, 2A, D, 47A, D, 10A, 12A, 23A, 23A, 26A, 11A, 5A, 3A, 3A, 2A, 1A, 2A, 1A, L, 12A, 6A, 2A, 26A, 20A, 27A, 10A, K, L, L, L, L, 7A, 7A, 5A, D, D, D, D, D, D, 27A, D, D, D, 4A, 8A, D, D, 6A, D, D, D, D, D, D, D, 4A, D, D, D, D, D, 3A, 4A, D, D, D, D, D, D, D, D, D, K, 5A, 9A, D, D, D, D, D, D, D, D, D, 6A, D, D, K, K, D, D, K, K, D, D, K, K, K, K, K, D, D, D, D, D, D, D, D, K, K, L, L, K, K, D, D, D, D, D, D, D, 4A, K, K, K, K, K, K, D, D, D, D, 12A, D, D, K, D, K, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, 7A, 10A, D, D, D, D, D, D, D, D, D, D, D, D, D, 10A, 11A, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, K, 27A, 27A, 10A, D, D, D, D, D, D, D, 9A, 27A, D, D, D, D, D, D, D, 8A, 14A, 31A, D, D, 3A, 3A, D, 31A, 3A, 37A, D, D, 39A, 31A, 3A, 3A, 3A, 3A, 3A, D, 31A, 3A, 3A, 3A, D, D, 36A, 31A, 3A, 3A, D, D, 33A, D, 36A, D, 3A, D, D, 32A, 31A, 37A, D, D, D, 3A, D, D, D, D, D, D, D, D, 3A, D, D, D, D, D, 8A, D, D, D, D, D, 8A, 8A, D, D, D, D, 8A, 8A, D, 7A, 7A, D, D, 7A, 8A, D, 8A, 8A, D, D, D, 8A, D, D, 8A, 8A, 8A, D, 8A, 8A, 8A, 8A, D, D, D, D, D, D, 8A, D, D, D, 5A, D, L, 6A, D, D, D, D, 4A, D, D, D, K, D, D, D, D, D, D, 12A, 12A, D, 3A, 3A, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, 117A, D, D, D, D, D, D, K, D, D, D, D]
9 ASDF 1 BinTableHDU 11 1R x 1C [36428B]
None 我有这个文件,从詹姆斯韦伯太空望远镜,从MIRI仪器,你可以看到文件的名称。该文件具有尺寸为(2379,1178)的图像。和
Filename: jw02107-o040_t018_nircam_clear-f335m_i2d.fits
No. Name Ver Type Cards Dimensions Format
0 PRIMARY 1 PrimaryHDU 369 ()
1 SCI 1 ImageHDU 75 (4079, 2190) float32
2 ERR 1 ImageHDU 10 (4079, 2190) float32
3 CON 1 ImageHDU 9 (4079, 2190) int32
4 WHT 1 ImageHDU 9 (4079, 2190) float32
5 VAR_POISSON 1 ImageHDU 9 (4079, 2190) float32
6 VAR_RNOISE 1 ImageHDU 9 (4079, 2190) float32
7 VAR_FLAT 1 ImageHDU 9 (4079, 2190) float32
8 HDRTAB 1 BinTableHDU 816 8R x 403C [23A, 5A, 3A, 48A, 7A, 13A, 6A, 5A, 7A, 10A, 4A, L, D, D, D, D, 32A, 48A, 70A, 11A, 2A, D, 47A, D, 10A, 12A, 23A, 23A, 26A, 11A, 5A, 3A, 3A, 2A, 1A, 2A, 1A, L, 14A, 13A, 2A, 26A, 20A, 27A, 10A, K, L, L, L, L, 7A, 7A, 5A, D, D, D, D, D, D, 27A, D, D, D, 6A, 8A, 1A, 4A, 5A, 5A, L, D, D, D, D, D, D, D, D, D, D, D, D, 4A, D, D, D, D, D, D, D, D, D, K, 5A, 9A, D, D, D, D, D, D, D, D, D, 7A, D, D, K, K, D, D, K, K, D, D, K, K, K, K, K, D, D, D, D, D, D, D, D, K, K, L, L, K, K, D, D, D, D, D, D, D, 4A, K, K, K, K, K, K, D, D, D, D, 4A, D, D, K, D, K, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, 7A, 10A, D, D, D, D, D, D, D, D, D, D, D, D, D, 10A, 10A, D, D, D, D, D, D, D, D, D, D, D, D, K, K, D, 4A, K, K, K, D, 4A, K, K, K, D, 4A, K, D, D, K, 27A, 27A, 10A, D, D, D, D, D, D, D, 9A, 27A, D, D, D, D, D, D, D, 8A, 14A, 33A, D, D, 3A, 3A, D, 33A, 3A, 39A, D, D, 41A, 33A, 3A, 3A, 3A, 3A, 3A, D, 33A, 3A, 3A, 3A, D, D, 38A, 33A, 3A, 3A, D, 35A, 35A, D, 38A, D, 3A, D, D, D, D, 39A, D, D, D, 3A, D, 38A, D, 40A, 37A, D, D, D, 3A, D, D, D, D, D, 8A, D, D, D, D, D, 8A, 8A, D, D, D, D, D, 8A, D, 7A, 7A, D, D, 7A, 8A, D, D, 8A, D, D, D, 8A, D, 8A, 8A, 8A, 8A, D, D, D, 8A, 8A, D, D, D, D, 8A, D, 8A, D, D, D, 5A, D, L, 6A, D, D, D, D, 4A, D, D, D, K, D, D, D, D, D, D, 12A, 12A, D, 3A, 3A, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, 117A, D, D, D, D, D, D, K, D, D, D, D]
9 ASDF 1 BinTableHDU 11 1R x 1C [36706B]
None 我有NIRcam仪器的这个。该文件的图像为(4079,2190)的维数。
当我将它们投射到木星笔记本上时,它们被投影在一个笛卡尔坐标系上,这个坐标系是由numpy和matplotlib创建的。
NIRcam图像投影在笛卡尔坐标系上,x= 4079,y= 2190。镜像投影在笛卡尔坐标系上,x= 2379,y= 1178。
所以,我的问题是,如何在投影步骤中使它们的尺寸相等。我的意思是,例如,我如何将它们投影在一个笛卡尔坐标系中,即x= 5000和y= 2000?
我试着用WCS模块和FITS_tools模块来重建它,但不知怎么我做不到。在WCS模块中,我找不到合适的方法来使用,而在FITS_tools中,我有一个错误,例如,
local variable 'image' referenced before assignment在这种情况下,重塑和重新投射图像的解决方案是什么?如果你能帮忙我会很高兴的。谢谢。
发布于 2022-11-20 21:06:51
您需要使用reproject (https://reproject.readthedocs.io/en/stable/)。在首页示例中:
from reproject import reproject_interp
array, footprint = reproject_interp(hdu2, hdu1.header)所以你会这么做:
from astropy.io import fits
hdu1 = fits.open('JWST_File1.fits')['SCI']
hdu2 = fits.open('JWST_File2.fits')['SCI']
array, footprint = reproject_interp(hdu2, hdu1.header)https://stackoverflow.com/questions/74252157
复制相似问题