0

私は HDF5 を Python から 経由h5pyでかなり使用しました。NumPy とのスムーズな統合にうんざりしています。現在、C/C++ ランドから HDF5 ストアに画像データを保存およびロードしようとしていますが、画像データのストライドを指定する方法がわかりません。

次元データ (Python ではマトリックス形状) の読み取りと書き込みは簡単です。私は次のように読みました。

constexpr std::size_t NDIMS = 3;
hid_t space_id = H5Dget_space(dataset_id);
hsize_t dims[NDIMS];
H5Sget_simple_extent_dims(space_id, dims, NULL);

…そして同様に書きます(画像インスタンスの場合input):

constexpr std::size_t NDIMS = 3;
hsize_t dims[NDIMS] = { static_cast<hsize_t>(input.dim(0)),
                        static_cast<hsize_t>(input.dim(1)),
                        static_cast<hsize_t>(input.dim(2)) };
/// first arg here is rank (aka NDIMS)
hid_t space_id      = H5Screate_simple(NDIMS, dims, NULL);

… 私が見つけた HDF5 コード サンプルは、完全に些細な例 (書き込みまたは読み取りされるデータが非常に小さく、既知のサイズ) であるか、非常に高度で現在の給与水準を上回っています (例:h5pyまたはtablesソース)。マトリックスストライドデータを HDF5 API にマップする方法の簡単な例を探しています。

4

0 に答える 0