我正在尝试将我从一些图像时间序列中提取的坐标与自定义坐标查找算法联系起来。在第二步中有一个问题:
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个点。也许我全搞错了..。感谢任何人的帮助!
发布于 2019-08-13 11:00:20
限制是为了防止进程失控(退出比永远运行更好)。它可能不会在你正在检查的步骤中爆炸,而是在以后的某个步骤中爆炸。
如果没有更多的代码,就很难知道你到底在做什么,但我建议你同时调低最大位移,调低内存,如果可能的话,以更高的帧率获取数据。
如果你处于一个大的子网络的情况下,我不确定你是否应该相信链接,因为这意味着粒子在每一时间步内移动的平均间距的很大一部分,这意味着你将错过链接
T1 ...A....B....
T2 .....BA......其中每一行都是一个时间步长。算法将选择以最小化总位移的方式链接粒子,在这种情况下,将交换粒子的真实身份,并将您的数据偏向低于实际位移的数据。
https://stackoverflow.com/questions/57415419
复制相似问题