Python 使用PyTables存储图像和元数据

Python 使用PyTables存储图像和元数据,python,image,numpy,metadata,pytables,Python,Image,Numpy,Metadata,Pytables,我使用PyTables将一些图像存储为Array和CArray数据类型。对于这些图像中的每一个,我还想存储一些基本元数据(例如,数据) 我可以想象多种方法来存储这两种数据格式,从为每个数组使用AttributeSet类存储元数据到为所有元数据使用表 我的问题是:如果我希望能够高效地查询并从最终hdf5文件中提取图像进行处理,那么最好的方法是什么?例如,我希望能够提取在特定时间(12-3点)拍摄的图像并处理该数据子集,然后将副本插入数据库或替换现有阵列 非常感谢你的帮助 最好的 尼克 [编辑(澄清

我使用PyTables将一些图像存储为
Array
CArray
数据类型。对于这些图像中的每一个,我还想存储一些基本元数据(例如,数据)

我可以想象多种方法来存储这两种数据格式,从为每个
数组使用
AttributeSet
类存储元数据到为所有元数据使用

我的问题是:如果我希望能够高效地查询并从最终hdf5文件中提取图像进行处理,那么最好的方法是什么?例如,我希望能够提取在特定时间(12-3点)拍摄的图像并处理该数据子集,然后将副本插入数据库或替换现有阵列

非常感谢你的帮助

最好的

尼克


[编辑(澄清):我目前正在将这些图像作为NumPy数组处理,我希望保留这一功能]

我对PyTables文档的理解如下

创建一个表。为您感兴趣的每一段元数据创建一列。如果图像大小相同,并且在创建表时已知,请创建一列数组并将其存储在其中。如果图像大小不同,请为每个图像创建一个具有唯一标识符的列(相当于文件名的功能),然后创建一个新组,并为每个图像创建一个数组/carray,名称与前面表格中的列表相同


另一种选择是使用轻量级RDMS(甚至sqlite)来存储表,这样可以方便地进行查询/排序等,但将实际图像数组保留在h5文件中。

有关提示和示例,请参见此处: