python - 在一组补丁周围画一个周长?
问题描述
一些背景:我正在尝试使用 FITS 数据制作区域文件。我使用astropy
和matplotlib.pyplot
绘制了我感兴趣的部分的二维直方图,并编写了一个程序,该程序对该数据进行分箱并识别哪些分箱属于感兴趣的区域。然后,我习惯于matplotlib.patches
“突出显示”符合该区域一部分的 2D 直方图的 bin。
这是我的代码的绘图部分:
indices = range(1, 1295, 1)
NBINS=(360,360)
fig,ax = plt.subplots(1)
ax.hist2d(data['DET1X'], data['DET1Y'], NBINS, range=[[1, 360], [1,360]], cmap='gray')
ax.set_xlabel('DET1X')
ax.set_ylabel('DET1Y')
for i in region_bins:
cornerx = (indices[i]// 36)*10
cornery = (indices[i] % 36)*10
SL = patches.Rectangle((cornerx,cornery), 10, 10, edgecolor='none', facecolor='yellow', alpha = 0.4)
ax.add_patch(SL)
plt.show()
现在,我想在该区域周围画一个周长,所以基本上是一个多边形,所有垃圾箱的黄色边缘都与灰色背景相交。多边形需要是一个由所有正方形组合而成的形状,因此它将在左侧呈锯齿状,而在底部和右侧大部分是直的。它还需要包括所有的小孔,而不是本身有孔。我怎样才能做到这一点?我以前研究过的问题是处理我不熟悉的语言中的情况,这些语言非常特定于特定项目,就像我自己的问题一样。最终,我希望能够制作一个仅列出该区域相对于原始 2D 直方图的多边形坐标的文件。想法?
解决方案
推荐阅读
- c++ - 将函数/方法参数定义为指针并在没有引用的情况下传递
- android - 在后台从服务中获取 gps 数据
- python - 从 python 3 中的列表中删除
- ngrx - Guard 不从存储中检索数据 (NGRX)
- matrix - 在 Euler Math Toolbox 中查看矩阵的完整内容
- android - 尝试使用广播接收器注销
- r - 找到一个字符串和一个长字符串向量之间的最小汉明距离(快速)
- javascript - 将代码包装在函数范围内对 js 游戏来说是否足够安全?
- javascript - 请求模块:如何将收集到的 cookie 存储在变量中?
- python - 修改用户输入的数组元素。