0

我将体积(3D 图像)分为 16x16x16 块。整个体积为 128x128x128。数据存储在线性存储器中。对于每个块,我将起始索引存储在整个数据的线性内存中。现在,我需要将索引从 16x16x16 块重新计算为 128x128x128 数据的索引。每个块都使用索引 0、1、2、3、...4096 进行迭代,我需要将其更改为全局线性索引。

例如。:

Block 1, index [2] => convert to index [18]
Block 1, index [18] => convert to index [146]

2D 示例在图像中进行了说明。我想将红点(索引 135)转换为整个图像中的索引。这意味着它将是 1040 + 的东西。块角中的数字是图像内的线性偏移。我需要 3D 数据的公式。 二维示例

4

1 回答 1

0

块中的坐标:(索引 div 256,(索引 div 16)mod 16,索引 mod 16)

方块原点坐标:(16 * (Block div 64), 16 * ((Block div 8) mod 8), 16 * (Block mod 8))

整卷坐标:(16 * (Block div 64) + (Index div 256),(16 * ((Block div 8) mod 8) + ((Index div 16) mod 16)), 16 * (Block mod 8) + (索引 mod 16))

所以全局索引是

128*128*(16 * (块 div 64) + (索引块 256)) + 128 * (16 * ((块块 8) mod 8) + ((索引块 16) mod 16)) + 16 * (块mod 8) + (索引 mod 16)

于 2012-05-09T08:57:54.967 回答