我正在为一系列二维天文图像开发数据处理管道。单个图像由自己的类“ MyFITS”表示,并且典型大小为30 MB。一个完整的数据集很容易包含几百个或1000个图像。我正在寻找一个满足以下要求的合适容器:
各种处理功能要么独立地作用于单个图像,但它们还可能涉及部分数据集或整个数据(例如,计算滚动中位数)。必须将这些功能中的许多功能串联起来才能得到最终的数据产品。
我要避免过多的I / O,并尽可能长时间地在内存中保留,这取决于用户的计算机规格。为此,“ MyFITS”类具有两个布尔标志,它们指示映像的当前处理状态是否存在于RAM和磁盘中。
我设想的是一个存在于整个用户会话中的容器。它应该包含对所有图像的引用,并且应该消耗可变数量的内存。例如,由于质量低劣,用户有时可能希望丢弃一定数量的图像,并且应该释放内存。它还应该能够动态添加图像。
在编译时未知图像的数量及其内存大小。
我在看q QList,QLinkedList还是QVector?
非常感谢您!
Mischa Schirmer