splatting and its applications on the body- c e n t e r e ...torsten/vis2005/pdfs/bw/klaus1.pdf ·...

97
Splatting and its Applications on the Body- Centered Cartesian (BCC) Lattice Klaus Mueller Center for Visual Computing Computer Science Department Stony Brook University

Upload: dotruc

Post on 20-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Splatting and its Applications on the Body-Centered Cartesian (BCC) Lattice

Klaus Mueller

Center for Visual ComputingComputer Science Department

Stony Brook University

2

Outline / Content

! Splatting as a modality for rendering BCC lattice data • 3D volume rendering• 4D (time-varying) volume rendering

! Splatting as a modality for creating BCC lattice data• 3D tomographic reconstruction from projections

! Issues pertinent to the topic• insights into frequency behavior of radially symmetric functions• insights into the volume rendering pipeline of splatting• an excursion into the world of shear-warp volume rendering

3

Splatting: Concept

! Also called point-based volume rendering! Represent each grid point as a Gaussian kernel

• but any function will do (Bessel, Spline, …)

! Requirement: kernel must be radially symmetric• elliptical kernels are more complicated, but will do as well• we shall stick with spherical kernels for this tutorial

! The idea: [Westover 90]

• Overlapping kernels reconstruct discretized function in world space

4

Splatting: Concept

! This works for regular arrangements as well as irregular ones (2D world space example): [Welsh 03]

Grid of Gaussians (outlines shown)

Reconstruction2D Gaussian

5

Splatting: Concept

! The reconstruction can also be done in image space! For X-ray, splatting yields an accurate projection this way

• this has great potential for X-ray computed tomography (see later) ! Consider this:

• each kernel is traversed by rays emerging from the pixels

• these rays integrate each kernel, scaled by the kernel’s value

• thus, for a radially symmetric function, we can pre-integrate the function and store in a table (called footprint)

• can implement footprint projection on graphics hardware (polygon+pre-integrated kernel texture)

vj

vj

6

Interlude: Kernel Functions

! This projection is as “accurate” as the kernel allows• the most accurate, in the Fourier sense, would be the sinc kernel• in fact, the Bessel function forms a good compromise [Lewitt 90] [Matej 96]

• the B-Spline kernel requires a transformation of the grid values

7

Splatting: X-Ray

! Example: projecting a volume of two points

3.

2.

1.

4.

addfootprints

rasterize footprint

rasterize footprint

8

Splatting: Concept

! Splatting in the context of direct volume rendering (DVR) is more challenging• here a grid projection is not summed (as in X-ray)• rather, a grid projection follows the volume rendering integral

! Two strategies devised by Westover [Westover 89]

! Composite every point:• rasterize each splat• fast and simple• leads to “sparkling” in animated viewing

! Axis-aligned sheet-buffers:• add splats within sheets most parallel to image plane• composite these sheets in depth-order• leads to “popping” artifacts in animated viewing

9

Axis-Aligned Sheet-Buffers

x

yz volume slices

image plane at 7

44.7° 45.2°

image plane at 30°

volum

e slic

es

Popping occurs:

Switch compositingaxis at 45°

binary cube

10

Image-Aligned Sheet-Buffers

! Eliminates popping• Slicing slab cuts kernels into

sections• Kernel sections are added into

sheet-buffer• Sheet-buffers are

composited

! Graphics hardware support:• kernel sections are

implemented as texture-mapped polygon as in the original algorithm

binary cube [Mueller 98a] [Mueller 99a] compositing buffer

slicing slab

sheet buffer

note: only relevant point must be projected= convenient culling of non-object voxels

11

Image-Aligned Sheet-Buffers

! Footprint mapping as usual• requires multiple footprint rasterizations per point

axis-aligned image-aligned

videos

12

Rendering Pipeline Ordering

! The volume rendering integral can be written in two ways• interpolate a grid of pre-shaded voxels c, ! (pre-shaded DVR)

• interpolate a grid of densities d and shade in place (post-shaded DVR)

0

( )

0

( , ) ( ) ( )

sL t dt

c x y c s s e ds!

!"#

$ #

0

( ( ))

0

( , ) ( ( )) ( ( ))

sL d t dt

c x y c d s d s e ds!

!"#

$ #

no magn.

close-up

13

Pre-Classified Rendering

Original edge

Sampled edge

Splatted with Gaussian kernel

Reconstruction: blurred edge image

Classification and shading

14

Pre-Classified Rendering

Raw density volume

Image

Classify and shade

Splat into sheet-buffer

Composite sheet-buffer

Advance sheet-buffer

Color and opacity volume

Rendering Loop

Viewing parameters

15

Post-Classified Rendering

Raw density volume

Image

Classify and shade

Splat into sheet-buffer

Composite sheet-buffer

Advance sheet-buffer

Rendering Loop

Viewing parameters

Note: this can only be done with image-aligned sheet buffers

[Mueller 99b]

16

Post-Classified Rendering

Original edge

Sampled edge

Splatted with Gaussian kernel

Reconstruction: blurred edge

Classification: crisp edge image

17

Post-Classified Splatting

pre-shaded post-shaded,gradient splats

post-shaded,central difference

current+1currentcurrent-1

current currentShee

t bu f

f er s

[Mueller 99b]

18

Post-Classified Splatting

post-shaded

pre-shaded

19

Post-Classified vs Pre-Classified Splatting

! Pre-classified splatting• easier, faster rendering• just shade, project, composite each splat• good when magnification is unity or less

! Post-classified splatting• requires image-aligned sheet-buffer approach ( which means 3-4

kernel sections per point) • but gives much better quality • adapts feature sharpness across the scales• very relevant for detailed transfer functions• may be prone to noise

20

Lattice Theory (2D): Regular Cartesian Grid

1

frequency domainspatial domain

Fourier

transform

main spectrum

replica

1

21

Lattice Theory (2D): Hexagonal Grid

! 86.6% of regular cartesian grid (13.4% fewer points)

frequency domainspatial domain

Fourier

transform

main spectrum

replica

1

2 3

22

Lattice Theory (3D): Spatial Domain

! BCC has 71.3% of the CC samples (29.7% fewer points)

1

1

12

6 22

2

Cubic Cartesian Body Centered Cubic

23

Lattice Theory (3D): Frequency Domain

! Gives rise to the FCC (Face-Centered Cartesian) grid:

! The 1- neighbors are where the Bessel function will go through zero • the more 1-neighbors the better (twice as many as CC)• at the Bessel function goes (very close) by a zero point• at the Bessel function is very low, somewhere around -140 dB

origin

12 1-neighbors -- CC has 6

2 -6 neighbors -- CC has 12

3 -8 neighbors -- CC has 8 as well

23

[Dudgeon 84]

[Neophytou 03]

24

Implications

! Thus, radially symmetric kernels are not only a natural choice for BCC lattices• they are also a theoretically acceptable one

! They can be good interpolators for BCC • and therefore using them with splatting can reach good results

! Extension to higher dimensions is straighforward ! More on this next...

25

Pre-Shaded 3D BCC Splatting: Gradient Estimation

! Pre-Shading all voxels requires an estimate for the gradients! Two options for estimating the gradients

• use an x,y,z gradient filter (derivative of interpolation kernel)• central difference scheme (prior interpolation of orthogonal samples)

! Two options for central difference scheme [Theussl 01]

use equivalent grid points in next cell(-) these points are two layers apart

use averages on adjoining cell walls(-) additional interpolation step

26

Pre-Shaded 3D BCC Splatting: Rendering

! Render• each slice will now have only 1/2 the voxels (but there are more

slices)• use either composite-every-sample method or axis-aligned method

2

Marschner-Lobb function

CC BCC

magnitudewhite (10%)

angularwhite (5°)

next cell avg

gradient estimation

27

Pre-Shaded 3D BCC Splatting: Results

CC BCC CC BCC

from [Theussl 01]

28

Post-Shaded 3D BCC Splatting:Gradient Estimation and Rendering

! Uses the image-aligned sheet-buffered algorithm as before• front-to-back or back-to-front traversal• shift splats by half the grid distance in (x,y) for each other sheet• project via textured polygons• accumulate all kernel slice splats on

current sheet buffer• estimate gradients on the sheet buffers

via central difference [Neophytou 02]

• shade • composite with current compositing buffer

current+1current-1current sheetbuffer compositing buffer

slicing slab

sheet buffer

29

Post-Shaded 3D BCC Splatting:Results

Visible Human Foot

Cartesian 3D BCC Cartesian 3D BCC

Visible Human Head

Miscellaneous BCCfrom [Neophytou 02]

30

One More Thought: Rendering into a Hexagonal Image

! Is it possible?• in principle, yes, but there are (so far) no hexagonal monitors

! Hexagonal monitors:• would cut the rasterization effort by another 13.4%

! What to gain: • 70.3% of the original number voxels (29.7% savings) and• 86.7% of the original number of pixels (13.4% savings)• --> overall savings = 39%

! In fact, phosphors in modern displays are many times arranged on a hexagonal grid

31

Screen Phosphors Arrangement

CC lattice- requires more vertical phosphor overlap (13%)

BCC lattice- same phosphor organization- needs no vertical overlap- conforms naturally to RGB triads

pixel RGB phosphor triad

32

Another Note: Bandlimit Requirement for BCC Lattices

! Functions must be spherically bandlimited• if not we must band-limit during BCC resampling to avoid aliasing• note, this would also be needed for CC in grid rotations

! Marschner-Lobb Function is is not quite spherically bandlimited [Neophytou 02]

Original function (Slightly) Band-limited

403 CC 403 BCC 403 CC 403 BCC

33

Lattice Theory (4D)

1

1

1

t

4D Cubic Cartesian

34

Lattice Theory (4D)

! 4D BCC reduces # of required point samples to 50%

21

1

1

t

t

4D Cubic Cartesian 4D BCC

62

22

35

Hyper-Slice Extraction for 4D Rendering

! General slicing requires 4D splatting into a 3D grid (expensive)

! Axis-aligned slicing requires only a 1D splattingperpendicular to hyper slice

! Conditions:• grid resolution does not change• projected 4D grid must coincide with 3D grid

! Then errors are judiciously small

36

4D Hyper-Slice Extraction: CC Grid

! Slicing along t-axis

t1

1

11

Interpolation

3D Slice

37

4D Hyper-Slice Extraction: CC Grid

! Slicing along t-axis

t1

1

11

Interpolation

3D Slice

View Transform

38

4D Hyper-Slice Extraction: CC Grid

! Slicing along t-axis

t1

1

11

Interpolation

3D Slice

View Transform

39

4D Hyper-Slice Extraction: BCC Grid

! Slicing along t-axis

2 2 t

2

2

62

22

22

Slice Here

40

4D Hyper-Slice Extraction: BCC Grid

! Slicing along t-axis

t

2

2

Slice Here

62

22

2 2

22

41

4D Hyper-Slice Extraction: BCC Grid

! Slicing along t-axis

t

2

2

Slice Here

62

22

2 2

22

42

4D Hyper-Slice Extraction: BCC Grid

! Slicing along t-axis

t

2

2

Equivalent to a 3D BCC grid.

tSlice Here

62

22

2 2

22

2

22

6 2

43

4D Hyper-Slice Extraction: BCC Grid

! Slicing along t-axis

t

2

2

Slice Here

Equivalent to a 3D BCC grid.

2

6 22

2

Direct Rendering in 3D30% Less points ~ time

62

22

2 2

22

44

Hyper-Slice Extraction: Comparison

! Compare with 4D Gaussian Interpolation

2

62

22

2

22

2

22

Slice Here

2

Relevant points on the Grid that fallwithin a 4D Gaussian for the

P

interpolation for point P

22

45

" Using kernel – A, B, C: min distance= max error = 2%– D, E: min distance= max error = 5%

! Errors from omitting some points:

Hyper-Slice Extraction: Comparison

2

62

22

2

22

A

B

C

D E

P

23( ) , ( , , , ) ( ) ( ) ( ) ( )2 xg x G x y z t g x g y g z g t" %$ $ % % %

2

6 2

46

4D Rendering: Results

! Turbulent Jet CC• 99 time steps (168M)• Relevant voxels: 9.4M• 3D extracted: 127k • Size RLE list: 146k• Render time: 1.23s

! Turbulent Jet BCC• 138 time steps (87M)• Relevant voxels: 7.4M• 3D extracted: 107k • Size RLE list: 146k• Render time: 1.01s

all 4D BCC results from [Neophytou 02]

47

4D Rendering: Results

! Turbulent Vortex CC• 80 time steps (160M)• Relevant voxels: 109.7M• 3D extracted: 1.3M • Size RLE list: 1.6M• Render time: 5.63s

! Turbulent Vortex BCC• 112 time steps (84.3M)• Relevant voxels: 60.3M• 3D extracted: 986k• Size RLE list: 1.3M• Render time: 4.58s (81%)

48

Animations: Turbulent Vortex

49

Animations: Turbulent Jet

50

Slicing Along Another Axis

x = 35, over time

z = 62, over timet = 5.2

51

BCC Grid Rendering: Conclusions

! Have demonstrated that BCC grids work well for splatting• 3D grids• 4D grids with axis-aligned hyperslicing approach for subsequent 3D

BCC grid rendering

! Delivers the promised speedups and compression ratios! Modification of existing algorithms straightforward

• gradient estimation for pre-classified splatting non-standard• gradient estimation for post-classified splatting as usual

52

CT Reconstruction on BCC Lattices: Initial Thoughts

! Have shown that we can render from a BCC lattice• CT is just the opposite: we backproject into a BCC lattice• iterative algorithms also do projections• more on this soon...

! But can we reconstruct from a hexagonal image?• recall the discussion on the screens? Similar arguments apply.. • again, in principle, yes, but there are (so far) no hexagonal detectors• for iterative algorithms it may pay to resample projections into a

hexagonal grid• similar savings than for the rendering ensue

! Next sections of slides:• introduction to CT (prominent algorithms, modalities)• application of BCC lattices to CT

53

Data Acquisition: Fan-Beam CT

! With stop-motion (no longer in use):

54

Data Acquisition: Helical (Spiral) CT

55

Data Acquisition: Cone-Beam

56

Comparison: Helical vs. Cone-Beam CT

! Helical CT: • multislice (16, 32, now 64)• requires multiple (fast) rotations around the patient

• head-to-toe: 10s • high-definition heart: 5 beats (5s)• price: $$$ (but less expensive than MRI)

! Cone-beam CT:• one rotation covers a large portion of the body

• true volumetric acquisition• can use conventional X-ray source and 2D detector• needs fast, stable gantry (price $$)• applications in (interactive) patient setup and procedures, dental

imaging, trauma and emergency unit• we shall only consider cone-beam here

57

Further CT Modalities

! Functional imaging (also called “Metabolic Imaging”) • SPECT: Single Photon Emission Tomography• PET: Positron Emission Tomography• idea:

• inject (into the bloodstream) a pharmaceutical labeled with a radionucletide tracer

• pharmaceutical will go to an anatomic site with metabolic activity (e.g., an area in the brain)

• tracer gives rise to detectable photons

• functional imaging also uses “fully 3D” reconstruction

normal Alzheimer’s

more info on medical imaging in [Kak 88] [Suetens 02]

58

Reconstruction: Backprojection

! Concept:

! Inverse FT requires interpolation in frequency space: prone to artifacts

! Use backprojection in the spatial domain• backprojection is just an “inverse volume rendering”

Fourier Slice Theorem

59

Reconstruction: Backprojection

60

Reconstruction: Filtered Backprojection (FBP)

! Notice the blurring?! Apply ramp filtering (in frequency space) before

backprojection in spatial domain ! Intuitive explanation: This makes up for the lack of

undersampling in the high frequency bands

not filtered filtered

61

Backprojection in Practice

! Assuming a kernel approach:• rays traverse a voxel kernel• rays deposite their values pi into the voxel vj with weight wij

vj

P&

wij

pi

voxel kernel

use a splatting approachin practice

62

undersampled (aliased) areaoversampled area

Backprojection for Large Cone-Beam:Aliased

63

linearly increase kernel sizeconstant kernel amplitude

constant kernel sizelinearly increasing kernel amplitude

Backprojection for Large Cone-Beam:Anti-Aliased

[Swan 98] [Mueller 98b] [Mueller 99c]

64

Reconstruction: Iterative Methods

! Iterative methods are advantageous in the following cases:• limited number of projections• irregularly-spaced and -angled projections• corrective measures during reconstruction (example: metal artifacts)• presence of statistical (Poisson) noise and scatter (mainly in functional

imaging: SPECT, PET)

! Popular methods:• SART (Simultaneous Algebraic Reconstruction Technique) [Andersen 84]

• ML-EM (Maximum Likelihood - Expectation Maximization) [Shepp 92]

65

Simultaneous Algebraic Reconstruction Technique (SART)

1

ki j ij

jij

i ijjk k

j jij

i

p v ww

wv v

w'(

"

$ (

)) )

)

Iteratively solves W V=P

66

Simultaneous Algebraic Reconstruction Technique (SART)

1

ki l il

lij

i ilk k lj j

iji

p v ww

wv v

w'(

"

$ (

)) )

)

Projection (into pixel)Projection

vj

P&

67

Simultaneous Algebraic Reconstruction Technique (SART)

1

ki l il

lij

i ilk k lj j

iji

p v ww

wv v

w'(

"

$ (

)) )

)

Projection (into pixel)

Normalizationat pixel i

Scanned pixel

Correction factor computation

C&

68

Simultaneous Algebraic Reconstruction Technique (SART)

1

ki l il

lij

i ilk k lj j

iji

p v ww

wv v

w'(

"

$ (

)) )

)

Projection (into pixel)

Normalizationat pixel i

Backprojection(into voxel)

Scanned pixel

Backprojection

vj

C&

69

Simultaneous Algebraic Reconstruction Technique (SART)

1

ki l il

lij

i ilk k lj j

iji

p v ww

wv v

w'(

"

$ (

)) )

)

Projection (into pixel)

Normalizationat pixel i

Normalization at voxel j

Backprojection(into voxel)

Scanned pixel

Voxel normalization

vj

70

Simultaneous Algebraic Reconstruction Technique (SART)

1

ki l il

lij

i ilk k lj j

iji

p v ww

wv v

w'(

"

$ (

)) )

)

Projection (into pixel)

Normalizationat pixel i

Normalization at voxel j

Backprojection(into voxel)

Scanned pixel

New (k+1) and previous (k) values of voxel j

Voxel update

vj

71

Simultaneous Algebraic Reconstruction Technique (SART)

1

ki l il

lij

i ilk k lj j

iji

p v ww

wv v

w'(

"

$ (

)) )

)

Next projection

72

Maximum Likelihood Expectation Maximization (ML-EM)

1kjk i

j kiij j ij

i j

v pvw v w

( $ )) )

Maximizes the likelihod of the values of voxels j, given values at pixels i

73

Maximum Likelihood Expectation Maximization (ML-EM)

1kjk i

j kiij j ij

i j

v pvw v w

( $ )) )

Projection (into pixel i)

Backprojection(into voxel j)

Normalization at voxel j

New (k+1) and previous (k) values of voxel j

Maximizes the likelihod of the values of voxels j, given values at pixels i

74

Iterative Reconstruction Demonstration: SART

75

Iterative Reconstruction Demonstration: SART

76

Complexity

! Assume: • acquired projection of N2 pixels • reconstruction into a N3 volume• we generally need N projections (or more) for good reconstruction

! Complexity is therefore N4 voxels• thus reduction into a lattice with 70% of the voxels will pay off well• since projection operation is the most costly (rasterization of splats)

the speedup scale will be nearly linear in the lattice decimation

77

One More Thought:Reconstruction From Hexagonal Images

! See also discussion on rendering...! Is it possible?

• in principle, yes, but there are (so far) no hexagonal 2D detectors• a good candidate is helical CT, where a spatial re-distribution of the

data is already done

! Hexagonal scanner image:• would cut the rasterization effort by another 13.4%

! What to gain: • 70.3% of the original number voxels (29.7% savings) and• 86.7% of the original number of pixels (13.4% savings)• --> overall savings = 39%

78

3D Reconstruction on the BCC Lattice:Implementation

! Optionally resample projections into hexagonal grid, using high-quality cubic filter• only economical if number of iterations is expected to be greater

than 3 (depends on implementation and platform)! Projection

• for each sheet i (in sheet stack most parallel to viewing axis)• if Even(i) -- use as is• else if Odd(i) -- shift each splat by half the grid distance in (x,y)• rasterize splats, either into hexagonal or into cartesian grid

! Correction factor computation as usual! Backprojection

• for each sheet i• see Projection -- just now add weighted corrections into voxel

[Mueller 96] [Matej 96]

79

3D Reconstruction on the BCC Lattice: Results

slice of the 3D Shepp-Logan brain phantom intensity windowed to [1.0, 1.04] contrast of three tumors on bottom 0.5%

reconstructed on CC grid with 3 iterations of SART

reconstructed on BCC grid with 3 iterations of SARTprojections CC (speed-up 1.4, image shown)projections BCC (speedup 1.5, includes cost for resampling)

[Mueller 96]

80

Overall Conclusions: Algorithms Based on Splatting

! BCC lattice offers good speedups, close to theoretical ones• less points automatically lead to less work• also better preserves cache and memory limits (less faults)

! Quality is not significantly impacted• CT reconstruction: very little difference• volume rendering: resampling, if data not originally acquired on

BCC, causes some smoothing

81

Bonus Feature: Shear-Warp Rendering on the BCC Lattice

! Mview = Mshear · Mwarp

shear warp

baseplane image

screen image

[Lacroute 94]

82

Shear-Warp Nuts and Bolts

! Cheap bilinear interpolation within slice! Keep baseplane resolution at volume resolution

• allows re-use of pre-computed bilinear weights

83

Shear-Warp Nuts and Bolts

! Each voxel stores index into reflectance map! For each slice: Compute bilinear weights! For each voxel square:

• shade voxels using the reflectance cube• interpolate shaded voxels and composite result

84

Shear-Warp Nuts and Bolts

! RLE encoding of voxel and pixel runs• skip over transparent voxels quickly• skip over opaque pixels quickly

opaque

transparent

85

Shear-Warp Nuts and Bolts

! RLE encoding of voxel and pixel runs• skip over transparent voxels quickly• skip over opaque pixels quickly

opaque

transparent

work

86

Shear-Warp Nuts and Bolts

! RLE encoding of voxel and pixel runs• skip over transparent voxels quickly• skip over opaque pixels quickly

opaque

transparent

skip

87

Shear-Warp Nuts and Bolts

! RLE encoding of voxel and pixel runs• skip over transparent voxels quickly• skip over opaque pixels quickly

opaque

transparent

skip

88

Shear-Warp Nuts and Bolts

! RLE encoding of voxel and pixel runs• skip over transparent voxels quickly• skip over opaque pixels quickly

opaque

transparent

work

89

Shear-Warp Nuts and Bolts

! RLE encoding of voxel and pixel runs• skip over transparent voxels quickly• skip over opaque pixels quickly

opaque

transparent

workwork skip

90

Shear-Warp Nuts and Bolts

! Warping the baseplane image into screen image is a cheap 2D operation

warp

91

Shear-Warp Using BCC Grids

! Straightforward extension [Sweeney 02]

• consider the volume as two interleaved cubic grids• encode each grid separately• during rendering, skip between the two encoded grids• add 0.5 to shear-factor in each axis direction

! Some remarks• the elements in each sub-grid sheet are now spatially farther apart• traditional shear-warp, however, samples each square only once• rendered volume will appear smaller• either magnify during post-warp or interpolate more rays (4) per

square

92

BCC Shear-Warp: Results and Conclusions

CC BCC

additional rayspost-shaded renderingspeedup 1.5

traditionalspeedup 1.1

conclusion: more complex operations benefit more fromBCC grid encoding

93

References (1)

! [Andersen 84] A.H. Andersen and A.C. Kak, “Simultaneous Algebraic Reconstruction Technique (SART): a superior implementation of the ART algorithm,” Ultrasonic Imaging, vol. 6, pp. 81-94, 1984.

! [Dudgeon 84] D. Dudgeon and R. Mersereau, Multidimensional Digital Signal Processing, Prentice-Hall, 1984.

! [Kak 88] A.C. Kak and M. Slaney, Principles of Computerized Tomographic Imaging, IEEE Press, 1988.

! [Lacroute 94] P. Lacroute and M. Levoy, “Fast volume rendering using a shear-warp factorization of the viewing transformation,” Proc. SIGGRAPH ‘94, pp. 451- 458, 1994.

! [Lewitt 90] R.M. Lewitt, “Multi-dimensional digital image representations using generalized Kaiser-Bessel window functions,” J. Opt. Sec. Am. A, vol. 7, no.10, pp. 1834-1846, 1990.

! [Marschner 94] S. Marschner and R. Lobb, “An evaluation of reconstruction filters for volume rendering,” Proc. Visualization ’94, pp. 100-107, October, 1994.

! [Matej 95] S. Matej and R.M. Lewitt, “Efficient 3D grids for image reconstruction using spherically-symmetric volume elements,” IEEE Trans. Nuclear Science, vol. 42, no 4, pp 1361-1370, 1995.

94

References (2)

! [Matej 96] S. Matej and R.M. Lewitt, “Practical considerations for 3-D image reconstruction using spherically symmetric volume elements,” IEEE Trans. Medical Imaging, vol. 15, no. 1, pp. 68-78, 1996.

! [Mueller 96] K. Mueller and R. Yagel, "The use of hexagonal grids to improve the efficiency of the Algebraic Reconstruction Technique (ART)," Annals of Biomedical Engineering, Special issue, 1996 Annual Conference of the Biomedical Engineering Society, p. S-66, 1996.

! [Mueller 98a] K. Mueller and R. Crawfis, "Eliminating Popping Artifacts in Sheet Buffer-Based Splatting," Proc. Visualization '98, pp. 239-245, 1998.

! [Mueller 98b] K. Mueller, T. Moeller, J.E. Swan, R. Crawfis, N. Shareef, and R. Yagel, "Splatting errors and antialiasing, " IEEE Trans. Visualization and Computer Graphics, vol. 4, no. 2, pp. 178-191, 1998.

! [Mueller 99a] K. Mueller, N. Shareef, J. Huang, and R. Crawfis, "High-quality splatting on rectilinear grids with efficient culling of occluded voxels,” IEEE Trans. Visualization and Computer Graphics, vol. 5, no. 2, pp. 116-134, 1999.

! [Mueller 99b] K. Mueller, T. Moeller, and R. Crawfis, "Splatting without the blur," Proc. Visualization '99, pp. 363-371, 1999.

95

References (3)

! [Mueller 99c] K. Mueller, R. Yagel, and J.J. Wheller, "Anti-aliased 3D cone-beam reconstruction of low-contrast objects with algebraic methods," IEEE Trans. Medical Imaging, vol. 18, no. 6, pp. 519-537, 1999.

! [Neophytou 03] N. Neophytou and K. Mueller, "Post-convolved splatting," EurographicsIEEE / TCVG Symposium on Visualization '03, pp. 223-230, May 2003.

! [Neophytou 02] N. Neophytou and K. Mueller, "Space-time points: 4D Splatting on effcientgrids," Symp. Volume Visualization and Graphics '02, pp. 97-106, 2002.

! [Shepp 92] L. Shepp and Y. Vardi, "Maximum likelihood reconstruction for emission tomography," IEEE Trans. Medical Imaging, vol. 1, no. 2, pp. 113--122, October 1982

! [Suetens 02] P. Suetens, Fundamentals of Medical Imaging, Cambridge University Press, 2002.

! [Swan 97] J.E. Swan, K. Mueller, T. Moeller, N. Shareef, R. Crawfis, and R. Yagel, "An anti-aliasing technique for splatting," Proceedings Visualization'97, pp. 197-204, 1997.

! [Sweeney 02] J. Sweeney and K. Mueller, "Shear-Warp Deluxe: The Shear-Warp algorithm revisited," Eurographics / IEEE TCVG Symp. Visualization 2002, pp. 95-104, May 2002.

96

References (4)

! [Theussl 01] T. Theussl, T. Möller, and E. Gröller, “Optimal regular volume sampling,” Proc. Visualization ’01, pp. 91-98, 2001.

! [Welsh 03] T. Welsh and K. Mueller, "A frequency-sensitive point hierarchy for images and volumes," IEEE Visualization '03, pp. 425-432, October 2003.

! [Westover 98] L. Westover, “Interactive volume rendering,” 1989 Chapel Hill Volume Visualization Workshop, pp. 9-16, 1989.

! [Westover 90] L. Westover, “Footprint evaluation for volume rendering”, Proc. SIGGRAPH’90, pp. 367-376, 1990.

97

Acknowledgments

! Funding provided from NSF, NIH, and DOE