我需要在一堆图像上保存和重新加载数千个 ROI 多边形,实际上是一部 30 多分钟每秒 30 帧的电影,所以至少有 54,000 帧。堆栈中的单个图像(帧)上可以有多个 ROI,每个 ROI 的大小和顶点数不同。ROI 多边形会随着时间的推移跟踪形状的边缘。
电影堆栈通常太大而无法一次保存在内存中。我对它进行后期处理,逐帧搅拌以跟踪我的形状。我可以一次一帧地将 ROI 对象保存到二进制文件中,但这会生成 54,000 多个文件以保存在一起。或者,如果我尝试分配一个容器对象来保存所有 54,000 多个 ROI 帧,然后将其保存到一个文件中,我很快就会耗尽资源。
我想将所有 ROI 保存到一个可以随机访问和修改的文件中。如果我想要第 100 帧上的第三个 ROI 多边形,我希望能够立即加载它。我还希望能够在保存的文件中插入和删除 ROI。
执行此操作的最佳文件格式是什么?是否有可接受的格式或应用程序?ImageJ 有一个原生的 ROI 格式,但我不太了解它。我的应用程序现在在 IDL 中编程。IDL 有自己的 ROI 类,但就像我说的,我不想将它们全部写到单独的文件中,而且我没有资源将它们全部组合到一个文件中。XML?谢谢。