• No se han encontrado resultados

8.3.1 0 PARAM_IMAGE

8.3.19 VOLUME_ OCTREE

Description: An encapsulation of an octree compressed data volume. The volume may be in either a unclassified or a classified state. Various methods are provided to compress, classify, and render the data. This object contains most of the algorithms presented in this dissertation.

Members: OctHeader

RawData

BaseOctree

RenderOctree

Traversal list

PrspTraversallist

LimitData

Shade Table

A structure describing the nature of the volume data:

• dimensions of the volume,

• bytes per voxel,

• raw size of the volume,

• number of nodes in the octree,

• number of opaque voxels,

• low and high cutoff thresholds,

• minimum and maximum values and gradients in the octree,

• the type of leaf-node compression used, and

• average value, gradient, and nonnal in the entire volume.

A pointer to a memory block containing the raw volume data which is referenced by the octree data structure.

The basic octree data structure which is constructed and used for transmission and classification.

The secondary octree data structure (structurally the same as BaseOctree) constructed during classification and used for rendering.

Parallel rendering node traversal order. This is set up prior to rendering as it depends on traversal direction and shearing factors.

Possible perspective rendering node traversal orders. This list is calculated before rendering based on viewing direction, however further reduction is performed during rendering based on node shearing and scaling.

A data limit representing the amount of valid data in the BaseOctree structure and then the RawData memory. This value will increase as new data is transmitted until it is equal to the total size of the octree and all the raw data. All classification and rendering algorithms check this value to know when to approximate missing data.

A multi-dimensional array with dimensions for material number, light number, and normal value, and each element contains an RGB triple. This table allows for very efficient rendering by

Methods:

{Parameters}

Final Matrix

TraversaiDir Shearl ShearJ Trans I TransJ WarpMatrix

Complmage

Finallmage OctCache

performing all the expensive Phong shading computations once before-hand.

A copy of all the parameter objects currently being used.

The result of merging the modelling, viewing, and projection matrices with the permutation matrix.

The direction of slice traversal through the volume.

The shearing factor in the transformed X direction.

The shearing factor in the transformed Y direction.

The translation factor in the transformed X direction.

The translation factor in the transformed Y direction.

The image warping matrix which converts the intermediate compositing image to the final image.

The intermediate compositing image.

(IMAGE_COMPPARALLEL or IMAGE_COMPPERSPECT) The final image. (IMAGE_RGBA)

The octree node cache array used during classification.

VOLUME_OCTREE Constructor.

Load Save Construct

Classify

Render

GetHeader

Loads a saved VOLUME_OCTREE object from a file.

Saves a VOLUME_OCTREE object to a file.

Constructs the data in the VOLUME_OCTREE object from a specified VOLUME_RA W object. The low and high threshold values must be supplied as well as the maximum octree depth. This will then perform the initial octree compression on the volume.

Classifies the compressed octree voxel data g1ven a PARAM_OPACITIES object.

Renders a parallel or perspective projection of the octree data using the Shear-Warp algorithm. All parameter objects must be passed for the rendering to occur. If certain parameters change between renderings then the affected internal tables will be re-computed.

Returns the OctHeader data structure.

Getlmage

Memory Used

Returns a reference to the Final/mage object where the rendered object will be.

Reports the amount of runtime memory currently being used by this object.

Appendix C

Graphs

: :: :

t-""'l 'i

= ::

""'(.,....,- I I

i I

'

-=--~~, I

~

I I

f

> I 1 I

'

I

~-~::::-s-- ,~-I

,

I 1 I 1

! I

j ' 12

::: .. --

r.:..: ••••• .._. -·' ,. --

.> SSl

t>Sl OC:l 99

c:s

!H VSl OSl 9ll

t

c:a c!

av l

:l J

9tl 11 C:H .ll

t

SL ,3

---- ·---

""""'---=::;- ~--- j_ i --- -;.-.:::-<·.~-

_ _ _ _ _ _

»

Ol

9Ll

C:tl SOl tL

-'

'

I ()11

1

) --- 9

---·-,-~.--- "'Ll

I v

1

1 SE:l

~

I

~l

4

~

: 9E

~----~~--~--~--~~~r---~--~--~

:

c:

~ ~

§

0

(spuo:»e~uuw) aw11

I I 1 '

1

I I I I

, '

I I

-I .

I

--:::..-.., J

'

I

I i

'

I I I

j

_....c..:. _ _

.

~

'

1 I I I ) I I I

..., J

~ ~

(Spll0:)8tlf11!W) 8WJ.1

- .... -.-.: ----: :·_--- .. ! ' 1>6~

<>"-·-·.·: -· .·:.--- • ·- • r

_.: :-.-. ·-·: _-::--.----

<

.----··

. -.------- 1

•' '

·' '

·' '

C:9~

oc~

96 99 1>&

c;

OH

9£~

90~

i

vl ev

!!'

0~

1

9H 9t~

.II

... ~~ ~ C:9 OS

9~

99~

vs~

ee~

06

as

ge

1>6~

C:9~

OCl B6 99 1>&

0

e

' ~~ ... Knee Dataart r::=-_-~

_ -::-: -

Ftiouilri-,g: .::-::-: ~ __:__:_

rciSJ ·i c=: ___ - - - - -- -

40C0r---~---~---~---, 3500 3(XXJ '\ \ I,

1: = !

~ ... , ... •-.......... 1. ... ,_....,.__

I

I

l

"--I

~

i\

~

I

~~~

... '"-''" 1= 1500 1\ \ ! \ '--.1 "-... '-J ---•-... -

\ I I

I

·~

I

-'"----~---'

."; 1 '~~ I "'-""'-"-.,""'--""-.. '·d , ,_.'. ··· 1<XXH .-~~ . .,...~--.:::-...:::..-:;:.::.:.

1

•·-. '"-----, ... __ _. ... "':. :·~~ ..

.

--·--.-.. ' 500 ~._

l · ' , -

... ····~.... \.'•-.... __ ... '.. , ., -·H-~ "·j 0 c.; II . --..... -., •. N ~ ~ Sl ~ ~ ~ N IN N 'If" .... ~ ~ ~ Sl ~ ~

-

...

-

N IN IN C\1 co ... ... ,....

- - -

N N C\1 N (') "' 0> Le¥Bis at lnc:reeslng Dapths

~ ~ ~ N IN N -'If" ....

e

~ ~ IN N N N C\1 0) C\1 II) a) -~ ~ Figure C.3-Performance of the octree compression algoritlun (without node compression) on the MR Knee dataset at six different depths and for numerous levels. 133

T

]F J

r

I ; I I ' ;

~ ~ ~ ~

I !i

'8

I

<

>

1 ) 1

(

/ ;

---

-.. .:.:. -=~ ------- ---:...

·'

,.

--====::::::::...=o~~, .:::::::~·-:~---··:

I I l I

J ) .•

-======--,s:::.:.-r-~

: _ -·- -· ---- -·- : - ·

1 1

'

l 1 1

i

,.

·' '

.. ,--' }

'

0

i:6l ll!il t(!l 06 9S

(!(!

88l t>Sl O<:l 99

as

8l tel OSl 9H

(!8

8t tl 08l 9tl (!ll 9L l't Ol 9Ll C:tl SOl tL

Ot 9 aLl

eta

~l

OL

a

I r

I

1

---.

s:: 0

·v;

"'

~ E 0..

0

(.)

<U

-o 0 s::

'5 0 ..c ·~

' - '

~---==-~--~~~~-~~--=-~---n ~6~

8~H

~><H

06 9S -===~...:=.::=--.,-l ~ 88l

'

'

I

< '

'

>

' '

i

tSl Wl 98

~g

Ill Hll

I O!H 9H ~

~~~ "

lit>

l

- - - - ---·----·---- --·~---==~==-~--::.-::.:: __ ~>l

I

08~

.2

(teiAq) HIS IU~~t~nsey

l 91>~

. ) j

_; ~H

} SL ~

j

1

' '

---=---..:::::.. -

'

< '

< 1 l J

I '

'

1 I

'

I

I

'

J I

<

1

"

1

'

-

---

- - = = = ===;;;;;;;;;:...;;;:.;;;;..._._o,.;;;_;:;...:;;;_, __ --- ""'\

I

1 ·'

'

'

·, i

'

J

,- }

' '

·;

; 1

·'

--

I

~l

I!Sl

·~l

06 9S

u

81H VSl OGl 98

~s

8l V!ll OSl

VL

ov

------------------~==..-.:.::.::.::.~--- - , 9

i

< I J

I Ul

.r··--

,I 8&1

VOl OL 9&

---

--

1---L+---t---+---- ~ --+- ~ ______,. ~~ ~ -....-- ~

- - - to G

I I

i

l5

I 1

I I I I

I

I

9!H

vs~

~~~

06

ss

9~

l'S~

~9~

()f;~

,.

86 99

- - - : - :

- -

-- -

---

--

--

- _ :::-

...

---

M: ~

OH

BE~

90~

t

~L

a

~~

z

0~

I

8H

B

~~ 11

w~

Jll

~9

OS

---

9~

99~

vs~

~u

06

ss --____ ..,-/

---

---~.:...-=--:;_-_;;=_;;::-_-_-::..:::.::::::.::: - --- - - - -=- ... ~ ... -- ... =-~- 9~

l'S~

l9~

()f;~

86 99 M:

~--L-~----~~~-~-~-=-~-~--=+-~-~-~-~-~----·----~---~---~·-~

0

,.-..

c:: 0

·v;

"'

~ 0..

8 0 u

<l)

'"0 0 c::

'5 0

-B "§:

' - '

~

---

_____,..,.---~_.-;--~~ 8000000 7000000 8000000

~~ i

4000000

J

:I

i

30(XX)()() 2000000 \ I 1000000 0 C\1

''.,

'\

' \ ' \ ' \., ~~-

l

II II 1: II I•

! \

1\ I ', I .\ I \ I ' I

'\

~-_,

CompreS!IIon Lewis of MR Head Data•t [--~--·--_:~

v;;; J

I 1\ I\ \ I ~, I '\ I \ I \ I \ .. I '\~·--~ I

\

\' \. \ ' I \ .. \ .. ~ ~ ~ ~ ~ ~ ~ g ~ ~ ~ ~

R

~ ~ ~ ~ g <D C\1 (10 (\1 18 0'; ~ ... ..-,_ ..-~ $ ~ ~ r! ~ ~ ~ ~ ~ ~

- - - - -

Figure C.8-Compression results for the octree compression algorithm (without node compression) for the MR Head dataset. 138

~sian of

cr

Head Dataset ---~-,-...-~ ----aildrO -·-· -Aeorderi'g · · · · · · · Olny:tession --Total 0000.---,---~---~---~---~--~~---~ 4500 4(XX) 3600 ill-\.-_._-_,_ _,__ .. it :lXX)

l 12500 i lam

I= 1500 tax> 500

.... "-··-'-··--·~"--·--..... -,I i

~· · -~ ... r ~

'--·~ r~-.'--~--•• _, ,·~_ .. __ ., ..

--~~- · ·---~ -"-··~~

.. -..,. __ j -

--- -~ -·---·l

____ , t ':[:

• .

., '.

,

.... , ··~ ·. •.· ....

--

' !: r··

. . .

~" .. ·' ... ' .; ., :, ·;

... · · .

·;

... _ ·-"'~ '•

..

·: '• '• .,,, .

...

, ... 0 ···-· N ~ ~ ~ ~ ~ ~ ~ ~

e

~ ~ ~ ~ ~ ~

!

~ ~ ~ ~ ~

§

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Levels at lna'ealng Dlpths

~ :8 ~

- - -

Figure C.9-Performance of the octree compression algorithm (with node compression) on the CT Head dataset at six different depths and for numerous levels. !39

' -----~====--~~..;.; H '·-·.:· ;:: -·. ----,

I

I .. . J

.

l

>

· --====::::::::.... _ __,.-.

=-.; -..::.r~·...,:·_--'"':

I 1.,.-·'

~ ~

;"

, j:

:- I

' t

I

'

-:.: ....:_j.

l ,

~

(lpUO:MISJJIIW) 8W1.1

I

~

~

I

) '

'

~~

8~H

via

06 9!i

c:c:

88~

~~

oc:~

88

c:s

8~

VB~

o~a

9H

C:8 8V

v~

08~

9V~

«m

8L

»

0~

9H C:Vl

80~

VL ov 9 C:H 8&l

tO~

OL

0 c:

i I

J

11

I

,.-.,

c 0

·v;

"' ~

0.. E

0 u

<!)

"0 0 c -B -~ ' - '

J J

!

I I

i ~ f

J

I I

f

-

I

I f 1

, 1

_______ ...

::

_, .... -::

<

I I

' '

1 -f ,

.

-

. ·

-;:: ... ~---

-=========~~~~~~ I

< I 1 -

I .-·

I;

.,

I o

} i

I -

-,),

. . I

'"""'=======::::i:·:...:·"'·.:.·.:..,· .. ·. ·. ·. ·. ·.·::

;.;~-~'

o I

I I

_; -I

:

- ·

99l IISl

~l

06 gg 9Z l'Sl

~lH

O£l 86 99 M.:

~

OH 8£l 90l ,_L Ol

8Ll 9t>l ,_H

~9

og 8l 98l tSl

~~

06 gg 9Z l'Sl

~lH

O&l 86 99

...

Q 0 ....

:a

~

>(

·v;

(<j

0

"'

«l

(<j

"d 0 0

::2

~

~

0

-5

Q

,...._ 0 Q

·v; 0

"'

0 ....

0.. E

i

"d 0 (.) 0 0

l

c::

J

11 -5 ·' - ' ~

I ~

·c: c; 0 00

Q

·v; 0

"'

0 ....

0.. E

0

(.)

0 0 ....

u

0

-5 0 00 '+-< 0 d)

>

0 0

u -Q

"'

«l ::l

E

.... 0

<2 .... 0

§

0

0.. Q

li

I .

~~----~---=~----~--~~.~~~~--~~~ 00~

<

1

..

I

·.• '

1

1 t~H

J 9~~

<:8

J r 9t

----========:::::...~__,...,;....1..._.. ·~";.;,·~·' '::_::. ,_ ,, ••• , r, , ,, 0~

I I

~ I

:

'I

: tll

I

8&~

<:0~

99

,• oc

; /

1 I 1 f

; f

' r

, l

'

<

_I

·'

,>

,'

-~====-~...:.·o..;.;--•j2'-'-'::.:.=-:_.-------_-,

t . ~

I

~ ,:"'

,.,i.·J

'

'

~ 1

I

... ,·.,

---· .....

·.:=~-=---,

i 1

\ I

'

I I ,I

l

1

<

-: 1

te:

96~

<:9~

9<:~

06 tS

8~

<:9~

9t~

ou

tL

' 8C

~----~--~----~----~~~-+----~~~~-~·----~----_; <:

0

(lpUO:MIStllfW) 8WI.L

Decomp88111on o1

cr

Head Data•t ,--~essiOn ~----~---~---~--- 450 400. 350

I: ~

=

! l:m

I= 150 100 ,_ 50 OL---~---~ N ~ 0 ~ N W 0 ® N W 0 ~ N ~ 0 ~ N ~ 0 ~ N ~ 0 ® N ~ 0 ~ ~ 0 M ~ ~ ~ 0 ~ ~ -~

=

~ ~ ~ ~ ~

=

~ ~

-

~ ~ ~ ~ ~ ~ ~ ~ N ~~-~~~~

~ ~ ~ ~ Figure C.13-Decompression performance of the octree algorithm (with node compression) on the CT Head dataset 143

2:6~

89~

trC:~ a)

Vl

06 (<j

""

9S "0

<I)

c:c:

"c: So

IHH c:

W-l trS~ <I) oc:~ -B c:

0

99

-

c:

c:s "<ii 0

Vl

!H <I) ...

triH 0.. E

OS~ 0

J

u

<I)

:~I

"0 0 c:

I! r

£

r

atr

·~ I I

·...._, ~

'!

s

oo~ 9tr~

I

11 ·c

~

0

I I mi

8L

....

0~ ,3 "@ £ ... Oil <I)

e

u 0 <I)

9L~ ...

0

C:tr ~ <I) u

c:

80~

"" E

trL ~

Otr <I)

0..

9 c:

0 C:L~ ";jj

Vl

8&~

e

0..

trO~ E

0

OL u <I)

0

c: ...,

...

~

~ ~ ~ ~ ~

e

~ ~ ~ 0

u

Q,j

(apuooesuuw> ew1.1 ""'

=

Oil

ii:

98~

~!.a

(Z~ 0 </) «:1

06 "l

as

-o d) d)

9<:

~

176~ ~

1:9~ ~

d)

()£~ £

86 c 0

,.-.,

99 c

tt: .Q </) </)

<: d) ....

0..

OH E

J

0

at~ u

d)

90~1 -o

0 c

I T

~L c!!J

.s

<:t>

I

-~

I

I I I I

-

- -

--

--- - - --~--- 0~

I

' - '

'8 8L~ ~

&

91>~ 'I

· E

lL

0

l

- -- - - - t>H c:a OS a~ ~ .!t

.s

c;; b bO d) d) u 0 d)

98~ '+-<

""'~ 0 d) u

(Z~ c

«:1

06

§

as .g

9<: d) 0..

176~ c

.Q

1:9~ </) </) d)

()£~ ....

0..

86 E

0 u

99

a

d)

tt:

<:

-

1/)

~

~ ~ ~ ~ ~

e

~ ~ ~ 0

u

d)

(spuooesuuw) ew1.1 ....

=

t)j)

fi:

t

rJ)

"'

06~

....

"'

"'

.. ~H

"' "'

8H

::r:

II)

1:8 ~

9to ~

II)

0~ £

"LI s:: 0

8£~ ,..._

s:: 0

1:0~ ·;;;

rJ)

99 ~ 0..

0& E

0

MH (.) II)

I

8Sl

"'

0 s::

~ :li

£ -~

I I ~I

...c: ' - ' E

i

.. l

· E

lS 8Ll 0 00

6 I :: i

"@ II)

l

OL 86l to& £ ... b II) II) (.) 0 0 II)

1:9l (.) s::

"'

Si:l

§

06 c.E ...

to!; II) 0..

8l s::

0

1:8~ ·;;;

rJ) II) ...

9tol 0..

OH E

0 (.)

.. L 0 II)

\C)

z -

~

e

~ ~ 0 cj Q.l

(apu~IIIIW) 8WIJ. J.

=

1:)1)

~

~6l 0

J

"'

I BSl ~

·'

00

,< V~l -o

' ~ -o

' 06 00

/ <!)

,'

99

::r:

A f-.;

' ' ~

u

-- _ _

..

-

<!)

SSl ..c: ...

....

VSl r.8

OGl .-... c::

99 ·;;; 0

"'

~ <!) ....

-

0..

' 8l E

0

VSl () <!)

I

~

,,

~ OSl 9H .! -o -5 0 c::

I 1 s l

~a

av I

·'--' ~

f ~

u

I I Vl

: I

·c

l5

.,

I

. ,

t oa~

B

c;j 0 bl)

l l '; -

' ' 9V~

u~ l

c::

~ / 0

s

/ 8L ~ ·;;;

"'

I l _j

_, ,. ' > ;

»

Ol 9Ll <!) .... E 0 () <!) <!) .... 0..

.:' ~trl

u

/ ' 0

- -

<!)

-

SOl -5

-

1

' vL ....

~1 r.8

' / ov

~'"' !!)

---

9 "3

"'

·' Ul ~

/ Q

' ,• atl 0

' ~- ·;;;

' t>Ol

"'

,- .... <!)

.r

OL 0..

--

E

•'

-

9t: 0

-

'

u

~ ~ ~ ~ ~ ~ m ~ ij ~

0 ~ t--

.... u

Q,)

(HIAq) 8Z1S 1U8W1HH

...

=

ell

~

J

,>

11

'

! I J '

I

:

I

lS

., I

I

: I --

,. ~

1 i f

I

'

I I I I

::.( '

I

~ :..,...."#:

i'-t

; ~ ~ -- ~

(sea.(q) •ZJS lU8'1Jntl81:1

<:6~

gg~

vz~

06 9S GG 81H t!H

oca

98

ZS

~~~

VII~

OS~

9H

I

<:8 8V

r

.. ~ I

OlH 91>~

G~~ Jl t BL

s

vv

()~

9L~

Zv~

80~

vL 01>

9 GLl

8&~

vo~

OL

0 G

v

Cll

s "'

"0

Q)

"So I::

w

I::

Q)

-B ....

<B

,..._

c:: 0

·v;

Cll Q) ....

0..

a

0 (.) Q)

"0 0 I::

-B -~ -...-

]

· E

0 Ol)

-;

I::

·v; 0

Cll Q) ....

0..

a

0 (.) Q) Q)

!:::

(.)

0

Q)

-B ....

<B

... Vl

:;

Cll Q) ....

0 I::

·v;

Vl

I':!

0..

a

u 0 QC ,...,

u

<1.1 l.o

=

1Z 0.0

00

"<t

Z6t a:j 8!H .;9 cJl

""

tooC:t "'d

C1.l

06 C1.l

~

:2

~

---·-----~ ---~

zz ::E

---

88l -5 C1.l

t>Sl ...

<8

O<:l ,.-... s::

98 ·c;; 0

c:s cJl C1.l ...

8l 0..

- - - · E

1:>8l 0 u

J

C1.l

09l "'d

J

9U .! -5 0 s::

I i i

I -- --- / "

c:a

81:> tool

! r I

·~ ' - '

~

l5

.,

I I I 08t

!

·c 0 01)

] i

91:>t c:u 11 .!1 ~ -; s:: 0

1 I --- -

- "

- - »

8L Ol 9H ·;;; cJl C1.l ...

s

0 u C1.l C1.l ...

C:tool

u

0

BOt ..0 C1.l

....

tooL ...

01:> <8

!!]

9 "5

cJl

C:Ll C1.l ...

OCt .!:2 s::

~' cJl

tOt

"'

' C1.l

-

1 OL ... 0..

E

u

0

---·----· c:

~ ~ ~ ~ ~ ~ ~ ~ ~

0 0\

... cJ

Q.l

(18}1\q) 8ZJS lU811nl8y

...

=

ef)

~

-

-~---~---

--

-,...----~ 7000000 6000000 5000000

I400Xm I

'E !! 3000000

J

2000000 1000000

Compre•on Levels of MR Head Data•t

[ --- ---]

--Mmlry ----Qlaque Voxels

- --

i I \ •, \ \ 0 I •--· =l --~ --~~ ---~ -. ~ "-?::r--.1 N ~

R

! ~ ~ <D ~ ;'! ~ ~ ~ ~ ;

-- - - - -

00 N <D ,...

-

~

- -

~ ~ ~

-

N <D 00- Levels at Increasing Dlptha

5il ~

- -

00 N -It) :8 ~ ~ ~ ~ :8 &1

ct

:8 Sl

- - -

Figure C.20 -Compression results for the octree compression algorithm (with node compression) for the MR Head dataset 150

Cache Performance tor CT Head Dataset

L

_aassw~ation Tlll18J ~OOOr---~--~---~~~~----, 40000 35000 30000

..

125000

= - !

20000

I

I= 15000 10000 5000 OL-~~~----~---~---r~--~--~~ ._ (") ~ ,... CD ~ ~ ~ ~ ~ ~ ~ g ~ ~ ~ ._ --C\1 (\f Cache SIZe Figure C.21 -Classification performance on the CT Head dataset for varying cache sizes.

Cache Performance for Engine Dataset --Classification Time 90000r-~---~--~---~ 80000 70000 60000

I j

50000

! I

I=

40000 30000 20000 10000 0~-r~-r~4-~~--~~----+-~~--~--~ ~ c-') ln ,.... g) ~ ~ ~ ~ ~ ~ ~ g ~ Cache Size -..,. ~ ~ (\1 Figure C.22 -Classification performance on the Engine dataset for varying cache sizes. 151

Cache Performance for MR Knee Dataset

FC&U&iik:atiOOrm&

1 35000...------~--~---~---, 30000 25000

120000 = e

-15000

~

10000 5000 0 ~---~~---*--+----~--~~----~ ._ C'? U"J ,..._ CD ;: ~ ~ ~ ~ ~ Cache Size re~s:·~ ._ ... 8:t C\1 Figure C.23 -Classification performance on the MR Knee dataset for varying cache sizes.

Cache Performance tor MR Head Dataaet

E

-~55iiiC&iiorlrme··· 35000 ...---.

: ! __ .. I

20000

! ! '

15000 10000 5000 0+---~-~--~~~~--~----~--~~ _. M I() ,..._ CD ;: ~ ~ ~ ~ Cache Size

t4l

re

~ ~ ~ ~ ._ ... C\f C\1 Figure C.24 -Classification performance on the MR Head dataset for varying cache sizes. 152