Domanda

In order to load large volume data to my ray casting volume rendering system, I want to implement flat blocking multi-resolution strategy - divide the volume into many sub-blocks with equal size but with different resolution or LOD(level of detail) according to the sub-block's importance.

I read a paper and it says I could do like this:

By analyzing the change rate of the internal data,we can determine special LOD for each block,in order to show the importance of the block.

Image 1: Flat blocking with 2D texture

enter image description here

According to flat blocking strategy,the dimension of block must be power of 2,namely divide the volume with the size of 2^n * 2^n * 2^n,thus for each block,there are n+1 level of details(0-n).Due to the variation of internal data is the mathematic foundation of block importance,each level of detail of the block can be qualified by formula below

formula 1 :

enter image description here

This is the variation of i-th block,avgi means the average of the 2^(3 * max_l) scalar value in the i-th sub-block of certain father block,max_l means the highest level of detail of the father block,l means the level of detail which is analyzing current.Sj means the scalar value.finally make the variation of the scalar value to the range [0,1] with constraint.

My question is :as it says there are 2^(3 * max_l) voxels in the i-th sub-block of the certain father block,what is the sub-block and what is the father block in image 1?In addition,according to the formula, it seems that there are 2^(3 * (max_l - l)) voxels.I don't understand~

È stato utile?

Soluzione

flat blocking multi-resolution strategy - divide the volume into many sub-blocks with equal size

"octree subdivision" would be more traditional term rather then "blocking multi-resolution strategy". In fact, min|max octree has been used for decades to speedup volume ray-casting, there are tons of publications and patents on the subject...

as it says there are 2^(3 * max_l) voxels in the i-th sub-block of the certain

If ( the numeration of octree levels from root down to leaves goes as: 0 -> max_l )

then

2^(3 * max_l) is the number of all voxels in the all volume.

and

2^(3 * (max_l - l)) is the number of voxels in the subdivided volume (sub-volume) of level "l"

is the mathematic foundation of block importance

Well, if you define it as such then it is indeed a "foundation" ;o) It is really arbitrary what heuristic you apply; in this case you use "standard deviation" as a measure; apparently you may apply other measures like: (max-min)>>(max_l-l) for each sub-volume or ((max-avg)*(avg-min))>>(max_l-l) etc...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top