- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种方法来定位我的 FITS 图像上的像素坐标,这些像素坐标对应于对象的 ra 和 dec 位置(以度为单位),在过采样之后。如果我不进行过采样,这将很简单,但我需要这样做。给定一个未更改的 FITS 图像,我可以这样做:
from astropy.wcs import WCS
ra, dec = (43.603, 31.029)
w = WCS('myimage.fits')
x, y = w.all_world2pix(ra, dec, 1) #this gives me the pixel coordinates of the object at (ra, dec) position
但是,当我对它进行过采样然后尝试找到像素坐标时,它显然不准确,因为 (ra, dec) 对于过采样图像不再准确。因为我是 5x5 过采样,所以我尝试简单地将上面的 x, y
乘以 5。但是当我在 ds9 中放大这一点时,它显示对象偏离中心,所以我没有认为这是有效的。下面是我的代码的过采样部分,因为它可能有助于查看。在这里,data
只是我的原始 FITS 图像中包含的数据的 2D numpy 数组。
from astropy.nddata import Cutout2D
import numpy as np
from scipy import interpolate
def oversample(data_set, N):
size = 120 #pixel size of my box cutout
geom_ctr = (np.shape(data_set)[0]//2, np.shape(data_set)[1]//2)
cutout = Cutout2D(data_set, geom_ctr, size).data
Y, X = np.shape(cutout)
x = np.linspace(0, 0.5, X)
y = np.linspace(0, 0.5, Y)
f = interpolate.interp2d(x, y, cutout, kind='cubic')
Xnew = np.linspace(0, 0.5, X*N)
Ynew = np.linspace(0, 0.5, Y*N)
new_data = f(Xnew, Ynew)
return new_data
resampled_data = oversample(data, 5)
如果有人对我如何在过采样后恢复准确的像素坐标有任何想法,那就太好了。谢谢!
最佳答案
原则上,您描述的“将 x、y 乘以 5”的解决方案是正确的。您的实现中一定存在错误。
您没有显示用于计算坐标的代码,所以我只能猜测问题所在。
一些提示:
cutout.data
,但还有一个代表您的 cutout 的 WCS 的 cutout.wcs
。如果您想使用剪切图,则必须使用该 WCS(而不是原始图像中的 WCS)在世界坐标和像素坐标之间转换。w.all_world2pix(ra, dec, 1)
调用中传递 origin=1
作为第三个参数,那么第一个像素的中心将位于像素位置 1。您必须获得要插值的 x 和 y 插值位置,以及用于计算坐标的代码行。传递 origin=0.5
可能更容易,即将第一个像素的中心放在像素位置 0.5,从而将图像的角放在像素位置 0.0?这样可能更容易编写放置插值节点的行,并正确计算插值图像中的坐标。如果您将任务分成单独的步骤或函数(而不是一个函数同时进行剪切和上采样)并使用精心选择的测试用例,您知道预期的输出(例如,一张只有几个像素的图像知道预期的结果,例如 data = np.array([[1, 2, 3], [4, 5, 6]])
),您将很快找到并解决您的问题计算坐标的代码。
关于python - 对 FITS 图像过采样后从 ra、dec 获取像素坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51886126/
我尝试应用适当的配置,以便能够通过 wildfly(以及其他环境成员)在 artemis 服务器上使用远程消息系统首先,我在本地(https://www.apache.org/dyn/closer.c
我对 $ra 返回地址的概念感到非常困惑。它是否返回 的地址?当前指令正在执行或 接下来要执行的指令 ?如需说明,请使用以下代码, Consider a code fragment that call
我正在尝试使用 PyEphem 库进行天文学,并尝试重新创建/理解其中的一些基本计算。 有一个称为分离的函数,给定两个行星和日期/时间,它可以计算这两个行星之间相对于它们在平面上的“x”投影的分离(角
在 bash(第 3 版)脚本中,我想保存传递的命令行参数,以便我可以多次迭代它们(使用 shift)并可能删除其中的一些。 据我了解,"$@"首先就像一个数组。 我的第一个冲动是写: cmdArgs
考虑以下代码: typedef std::vector cont_t; // Any container with RA-iterators typedef cont_t::const_iterato
我读过保留的寄存器是调用者保存的,非保留的寄存器是被调用者保存的。但在我看来,$ra,一个保留的寄存器,是调用者保存的,因为调用者保存了它必须返回的地址。任何人都可以解释我缺少什么吗? 最佳答案 I'
我需要能够从Xcode播放RealAudio(.RA)文件。如果我不能直接从URL播放文件,可以下载并播放就可以了。主要帮助我正在寻找他如何在iOS5.0下的Xcode 4.3中播放RealNetwo
我正在尝试在 MIPS 上重现调用堆栈,有关更多详细信息,请检查我之前的问题: How to get a call stack backtrace?(GCC,MIPS,no frame pointer
我想立即在我的 Grails 应用程序中传播用户更改(用户角色的更改)(我正在使用 Spring Security 插件)。 我发现了这个: springSecurityService.reauthe
谁能解释我在哪里可以找到Registration Authority (RA)和 Validation Authority (VA)一个网站,例如 wikipedia在 Browser喜欢 Googl
我正在按照通过 Subclipse 将 Ardor3D 安装为 Eclipse 项目集的说明进行操作;说明在: http://www.ardor3d.com/wiki/svneclipsetutori
我正在尝试使用 react-admin 作为我的管理面板,并使用 ra-data-graphql-simple 从 graphql API 获取数据。问题是它找不到我的资源,我得到了这个错误: 未知资
昨天下午突然间,从我的 Eclipse IDE 到我们的 Subversion 存储库的 subversion 连接失败了(Subversive 和 Subclipse)。 我可以通过浏览器浏览 su
我正在尝试使用 react-admin 作为我的管理面板,并使用 ra-data-graphql-simple 从 graphql API 获取数据。问题是它找不到我的资源,我得到了这个错误: 未知资
当提供 UTC 时间戳和地球上的经纬度/纬度观察者位置时,我想将天空中五个拉格朗日点 (L1 - L5) 的位置计算为 RA/DEC 或 AZ/EL。我正在研究 pyephem、pyorbital 和
我正在尝试编写一个 JCA 资源适配器。在 ra.xml 中,我为自定义属性添加了条目,例如: UserName java.lang.String 当我在 WebSphe
我正在尝试创建一个由特定区域中的对象组成的表。我正在整理 irac、2mass 和 wise 数据。我已将所有数据合并到一张表中,现在正尝试根据 RA 和 Dec 坐标消除重复数据。我的最终目标是拥有
我正在寻找一种方法来定位我的 FITS 图像上的像素坐标,这些像素坐标对应于对象的 ra 和 dec 位置(以度为单位),在过采样之后。如果我不进行过采样,这将很简单,但我需要这样做。给定一个未更改的
我刚刚发现 Ra来自 Ubuntu 存储库。有人在实际项目中使用过吗?您是否遇到过任何问题,并且通常使用 Ra 而不是 R 或 JIT 是否有任何权衡? 最佳答案 嗯,我喜欢。但后来它在 Ubuntu
我发现在RISC-V中,ra是调用者保存的,在MIPS中,ra是被调用者,这意味着在RISC-V中被调用者可以直接更改ra 没有保存,但是由于 ra 已经改变,被调用者如何返回调用者? 最佳答案 无论
我是一名优秀的程序员,十分优秀!