IP Library Granted Patent US 7,616,199
Granted Patent B2
US 7,616,199 · App. 11/481,129 · Granted Nov 10, 2009

System and method for interleaved slice volume rendering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,616,199
App. No.
11/481,129
Granted
Nov 10, 2009
Kind
B2
Abstract

A method for volume rendering a digitized image includes providing a digitized 3-dimensional image with a plurality of 2-dimensional slices comprised of a plurality of intensities corresponding to a domain of points on a 2-dimensional grid, interleaving said slices so that a predetermined number of slices are represented within 2-dimensional textures comprising slabs. Each said slab comprises a plurality of polygons. Weighting functions are generated for each slice of each polygon of a slab, and using said weighting functions, computing a trilinarly interpolated sample from multiple bilinearly interpolated samples value for each slice of said polygon.

Claims (51)

1. A computer implemented method for volume rendering, the method performed by said computer comprising the steps of:

providing a digitized 3-dimensional image comprising a plurality of 2-dimensional slices comprising a plurality of intensities corresponding to a domain of points on a 2-dimensional grid;

interleaving said slices wherein a predetermined number of slices are represented within 2-dimensional textures comprising slabs, each said slab comprising a plurality of polygons, wherein each slab comprises 4 slices, wherein interleaving said slices comprises ordering points v ijk as

. . . v i,j,k , v i,j,k+1 , v i,j,k+2 , v i,j,k+3 ,

v i,j+1,k , v i,j+1,k+1 , v i,j+1,k+2 , v i,j+1,k+3 ,

v i,j+2,k , v i,j+2,k+1 , v i,j+2,k+2 , v i,j+2,k+3 ,

v i,j+3,k , v i,j+3,k+1 , v i,j+3,k+2 , v i,j+3,k+3 , . . . ,

wherein i is a row index, j is a column index, and k is a slice index;

generating weighting functions for each slice of a polygon of a slab; and

using said weighting functions to compute a trilinearly interpolated sample from multiple bilinearly interpolated samples value for each slice of said polygon,

wherein said interpolator function is generated by summing a primary function and a secondary function, wherein said primary function is a line segment whose range is clamped to the range [0,1], and said secondary function is a line segment whose range is clamped to the range [−1,0],

wherein said volume rendering is performed by a graphical processing unit.

2. The method of claim 1 , wherein said trilinearly interpolated samples are computed in parallel for each slice of said polygon.

3. The method of claim 1 , further comprising sorting said slabs into a rendering order.

4. The method of claim 1 , wherein trilinear interpolation comprises obtaining a dot product of said weighting functions with bilinearly interpolated sample values for each said slice of said polygon.

5. The method of claim 1 , wherein a weighting function is associated with each slice of said polygon.

6. The method of claim 1 , comprising rendering said image by generating weighting functions for each polygon of each slab and trilinearly interpolating sample values for each said polygon.

7. The method of claim 1 , wherein if, after interleaving said slices, there is a slab with fewer than four slices, inserting one or more empty slices into said slab.

8. A computer implemented method for volume rendering, the method performed by said computer comprising the steps of:

providing a plurality of slabs for rendering, each slab comprising a predetermined number of sequential slices, each slice comprising a plurality of intensities corresponding to a domain of points on a 2-dimensional grid, wherein each slab is represented by a plurality of polygons;

interleaving said slices wherein points v ijk are ordered as

. . . v i,j,k , v i,j,k+1 , v i,j,k+2 , v i,j,k+3 ,

v i,j+1,k , v i,j+1,k+1 , v i,j+1,k+2 , v i,j+1,k+3 ,

v i,j+2,k , v i,j+2,k+1 , v i,j+2,k+2 , v i,j+2,k+3 ,

v i,j+3,k , v i,j+3,k+1 , v i,j+3,k+2 , v i,j+3,k+3 , . . . ,

wherein i is a row index, i is a column index, and k is a slice index;

providing a pair of linear functions for each slice of each slab, said pair comprising a primary function and a secondary function;

for each slice, clamping the range of said primary function to the range [0,1], and clamping the range of said secondary function to the range [−1,0];

summing the clamped primary function and the clamped secondary function for each slice to form a weighting function for said slice;

fetching and interpolating intensity samples for a polygon in a slab; and

trilinearly interpolating said intensity samples by performing a dot product of the intensity samples with said weighting function for each slice

wherein said volume rendering is performed by a graphical processing unit.

9. The method of claim 8 , wherein rendering said image comprises trilinearly interpolating samples from each polygon of each slab in said plurality of slices.

10. The method of claim 8 , wherein said dot product of the intensity samples and said weighting function is performed in parallel for each slice.

11. A program storage device readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for volume rendering, said method comprising the steps of:

providing a digitized 3-dimensional image comprising a plurality of 2-dimensional slices comprising a plurality of intensities corresponding to a domain of points on a 2-dimensional grid;

interleaving said slices wherein a predetermined number of slices are represented within 2-dimensional textures comprising slabs, each said slab comprising a plurality of polygons, wherein each slab comprises 4 slices and interleaving said slices comprises ordering points v ijk as

. . . v i,j,k , v i,j,k+1 , v i,j,k+2 , v i,j,k+3 ,

v i,j+1,k , v i,j+1,k+1 , v i,j+1,k+2 , v i,j+1,k+3 ,

v i,j+2,k , v i,j+2,k+1 , v i,j+2,k+2 , v i,j+2,k+3 ,

v i,j+3,k , v i,j+3,k+1 , v i,j+3,k+2 , v i,j+3,k+3 , . . . ,

wherein i is a row index, j is a column index, and k is a slice index;

generating weighting functions for each slice of a polygon of a slab; and

using said weighting functions to compute a trilinearly interpolated sample from multiple bilinearly interpolated samples value for each slice of said polygon,

wherein said interpolator function is generated by summing a primary function and a secondary function, wherein said primary function is a line segment whose range is clamped to the range [0,1], and said secondary function is a line segment whose range is clamped to the range [−1,0].

12. The computer readable program storage device of claim 11 , wherein said trilinearly interpolated samples are computed in parallel for each slice of said polygon.

13. The computer readable program storage device of claim 11 , the method further comprising sorting said slabs into a rendering order.

14. The computer readable program storage device of claim 11 , wherein trilinear interpolation comprises obtaining a dot product of said weighting functions with bilinearly interpolated sample values for each said slice of said polygon.

15. The computer readable program storage device of claim 11 , wherein a weighting function is associated with each slice of said polygon.

16. The computer readable program storage device of claim 11 , the method comprising rendering said image by generating weighting functions for each polygon of each slab and trilinearly interpolating sample values for each said polygon.

17. The computer readable program storage device of claim 11 , wherein if, after interleaving said slices, there is a slab with fewer than four slices, inserting one or more empty slices into said slab.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2007
From: SIEMENS CORPORATE RESEARCH, INC.
To: SIEMENS MEDICAL SOLUTIONS USA, INC.
Reel/Frame 019309/0669 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2006
From: ENGEL, KLAUS
To: SIEMENS CORPORATE RESEARCH, INC.
Reel/Frame 018153/0422 →