HDF5中的数据块大小是多少?大小、数据

2023-09-04 02:27:22 作者:终会腻.

引用HDF5 Hyperslab doc-:

块数组确定从中选择的元素块的大小 数据空间。

该示例在2x2数据集中显示,其参数设置如下:

start offset is specified as [1,1], stride is [4,4], count is [3,7], and block is [2,2]
高容量在线血液透析滤过 HDF 的临床证据 上

将产生21个2x2数据块。这里的选择将是(1,1), (5,1), (9,1), (1,5), (5,5),我可以理解,因为起点是(1,1),选择从那个点开始,也因为步幅是(4,4),它在每个维度上移动4,计数是(3,7),它在X方向上递增3乘4,在Y,ie方向上递增7乘4。在其对应的维度中。

但我不明白的是块大小是怎么回事?这是否意味着我将得到21 2x2维的块?这意味着每个块包含4个元素,,但计数已设置为1维的3个元素,因此这将如何实现?

推荐答案

通过H5SSELECT_HYSERSLABLE()创建的超级标签选择允许您创建由重复的元素块定义的区域。

HDF5用户指南found here的第7.4.2.2节介绍了这一点(稍微向下滚动到7.4.2.2)。H5Sselect_hyperslab()参考手册条目也可能有所帮助。

这是UG的图表:

下面是该图中使用的值:

偏移量=(0,1) Stride=(4,3) 计数=(2,4) 块=(3,2)

请注意,重复单元是3x2元素块。所以,是的,在你的情况下,你将得到21个2x2积木。将有一个网格,在一个维度上有三个块,在另一个维度上有七个块,每个块在每个方向上间隔4个元素。第一个块将偏移1,1。

此API调用最令人困惑的是,其中三个参数以元素为单位,而count以块为单位。

编辑:也许这将使块和计数的使用更明显...

 
精彩推荐
图片推荐