trackpy - 如何找出图像中发生子网超大异常的位置?
问题描述
我正在尝试将从某些图像时间序列中提取的坐标与自定义坐标查找算法联系起来。第二步有一个问题:
trackpy.linking.utils.SubnetOversizeException: Subnetwork contains 35 points
我将其解释为图像 1 和 2(从 0 开始)之间某个区域的坐标之间存在太多可能的连接,这是正确的吗?
如果是,如何找出图像中出现此错误的位置?我查看了代码,我很确定信息在trackpy.linking.subnet.Subnets.compute()
方法的某个地方:
for i, p in enumerate(dest_hash.points):
for j in range(nn[i]):
wp = source_hash.points[inds[i, j]]
wp.forward_cands.append((p, dists[i, j]))
assign_subnet(wp, p, self.subnets)
我认为这wp
是“起点”,但是在wp.forward_cands.append()
被调用之后,我只能在 中找到一个点wp.forward_cands
,而不是 35 点。也许我完全错了.. 任何帮助表示赞赏!
解决方案
限制是为了防止进程失控(最好退出而不是永远运行)。它可能不会在您正在检查的步骤中爆炸,而是在稍后的某个步骤中爆炸。
如果没有更多代码,很难准确判断您在做什么,但我建议同时调低最大位移、调低内存,并尽可能以更高的帧速率获取数据。
如果您处于获得大型子网络的情况,我不确定您是否应该信任链接,因为这意味着粒子在每个时间步移动其平均间距的很大一部分,这意味着您将错过链接
T1 ...A....B....
T2 .....BA......
其中每一行都是一个时间步长。该算法将选择以最小化总位移的方式链接粒子,在这种情况下,交换它们的真实身份并将您的数据偏向低于实际位移的数据。
推荐阅读
- python - Anaconda 导航器在单击其图标时不运行,但在从命令提示符运行时工作
- java - pdf合并后如何在java中使用flyingsaucer库继续页码
- php - 从blob mysql查看图像的php问题
- flutter - dart - 如何解决“无法将参数类型‘Null’分配给参数类型‘MyUser’。”
- amazon-web-services - ACM 如何使用 CNAME 记录检查域所有权?
- ios - 如何在iphone照片中保存/下载图片
- c - 在列表中找到一个数字(要从键盘读取),其中列表的大小和要从键盘读取的列表
- java - 为什么对话框上看不到“标签”和“按钮”?
- e-commerce - 从销售数据中了解客户
- python - 如何在使用 Selenium 的动态加载网页中正确滚动?