2011-12-30 75 views
4

我使用PyTables來存儲一些圖像作爲ArrayCArray數據類型。對於這些圖像中的每一個,我也想存儲一些基本的元數據(例如,EXIF數據)。用PyTables存儲圖像和元數據

我可以想像許多方法來存儲這兩種數據格式,從與AttributeSet類爲每個Array/CArray所述元數據存儲到使用Table所有元數據。

我的問題是:如果我希望能夠高效查詢和提取最終hdf5文件中的圖像進行處理,最佳方法是什麼?例如,我希望能夠提取某些時間(下午12時至3時)拍攝的圖像並處理該數據的子集,然後將副本插入數據庫或替換現有陣列。

非常感謝您的幫助。

最佳,

尼克

[編輯(澄清):我目前正在處理這些圖像與NumPy陣列,我希望保留這些功能]的PyTables文檔的

回答

1

我的理解建議如下。

創建表格。爲每個您感興趣的元數據創建一個列。如果您的圖像大小相同,並且在創建表時已知,請創建一列數組並將其存儲在那裏。如果圖像大小不同,請爲每個圖像創建一個具有唯一標識符的列(與文件名相同的功能),然後創建一個新組,併爲每個圖像創建一個陣列/ carray,其名稱與上述表中的列表相同。

另一種選擇是使用輕量級RDMS(sqlite偶數)來存儲表,這將允許輕鬆查詢/排序等,但將實際的圖像數組保存在h5文件中。