Method and apparatus for visualizing three-dimensional and higher-dimensional image data sets
First Claim
1. An apparatus for computed tomography wherein a three-dimensional (3D) volume image data set is rendered into a two-dimensional (2D) displayed image, comprisinga graphics processing unit (GPU) comprising a plurality of programmable vertex shaders that are coupled to a plurality of programmable pixel shaders,one or more of the vertex shaders and the pixel shaders being adapted to determine a color of each pixel in the 2D image as an iterative function of intensities and gradients at a plurality of sample points in the 3D image through which a ray associated with a particular pixel is passed, where the calculation of the iterative function for a given sample point along a ray associated with that particular pixel is based on a result of calculations of the iterative function for other sample points on that ray,wherein at least one of the pixel shaders computes a gradient at a sample point along a ray based on differences in intensities at a plurality of points in the 3D image data neighboring that sample point;
- said at least one of the pixel shaders computes the gradient at the sample point along the ray in a second coordinate system rotated relative to a first coordinate system in which the 3D image data is represented, wherein at least one axis of the second coordinate system aligned along the ray; and
said at least one of the pixel shaders subsequently rotates the gradient computed in the second coordinate system back to the first coordinate system.
4 Assignments
0 Petitions
Accused Products
Abstract
In one aspect, the invention provides improvements in a digital data processor of the type that renders a three-dimensional (3D) volume image data into a two-dimensional (2D) image suitable for display. The improvements include a graphics processing unit (GPU) that comprises a plurality of programmable vertex shaders that are coupled to a plurality of programmable pixel shaders, where one or more of the vertex and pixel shaders are adapted to determine intensities of a plurality of pixels in the 2D image as an iterative function of intensities of sample points in the 3D image through which a plurality viewing rays associated with those pixels are passed. The pixel shaders compute, for each ray, multiple iteration steps of the iterative function prior to computing respective steps for a subsequent ray.
209 Citations
19 Claims
-
1. An apparatus for computed tomography wherein a three-dimensional (3D) volume image data set is rendered into a two-dimensional (2D) displayed image, comprising
a graphics processing unit (GPU) comprising a plurality of programmable vertex shaders that are coupled to a plurality of programmable pixel shaders, one or more of the vertex shaders and the pixel shaders being adapted to determine a color of each pixel in the 2D image as an iterative function of intensities and gradients at a plurality of sample points in the 3D image through which a ray associated with a particular pixel is passed, where the calculation of the iterative function for a given sample point along a ray associated with that particular pixel is based on a result of calculations of the iterative function for other sample points on that ray, wherein at least one of the pixel shaders computes a gradient at a sample point along a ray based on differences in intensities at a plurality of points in the 3D image data neighboring that sample point; -
said at least one of the pixel shaders computes the gradient at the sample point along the ray in a second coordinate system rotated relative to a first coordinate system in which the 3D image data is represented, wherein at least one axis of the second coordinate system aligned along the ray; and said at least one of the pixel shaders subsequently rotates the gradient computed in the second coordinate system back to the first coordinate system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A digital data processor wherein a three-dimensional (3D) volume image data represented in an (x, y, z) coordinate system is rendered into a two-dimensional (2D) displayed image represented in a (u, v) coordinate system, comprising
a graphics processing unit (GPU) comprising a plurality of programmable vertex shaders that are coupled to a plurality of programmable pixel shaders, one or more of the pixel shaders being adapted to determine a color of each pixel in the 2D image as an iterative function of intensities and gradients at a plurality of sample points in the 3D image through which a ray associated with that pixel is passed, where the calculation of the iterative function for a given sample point along a ray associated with that particular pixel is based on a result of calculations of the iterative function for other sample points on that ray, for each ray, the pixel shaders rotating the (x, y, z) coordinate system so as to align an axis thereof with that ray and generating gradients at the sample points along that ray in the rotated coordinate system relative to the (x, y, z) coordinate system, said pixel shaders transform the gradients generated in the rotated coordinate system back to the (x, y, z) coordinate system.
-
12. A digital data processor wherein a three-dimensional (3D) volume image is rendered into a two-dimensional (2D) displayed image, comprising
a graphics processing unit (GPU) comprising a plurality of programmable vertex shaders that are coupled to a plurality of programmable pixel shaders, one or more of the pixel shaders being adapted to determine intensities of a plurality of pixels in the 2D image as an iterative function of intensities of sample points in the 3D image through which a plurality of rays associated with those pixels are passed, where, for each pixel, the calculation of the iterative function for a given sample point along a ray associated with that particular pixel is based on a result of calculations of the iterative function for other sample points on that ray, wherein the GPU stores at least a portion of data representing the 2D image in an off-screen buffer, for each ray, the pixel shaders rotating a first coordinate system in which the 3D image is represented so as to align an axis thereof with that ray and computing gradients at sample points along that ray in the rotated coordinate system relative to the first coordinate system; said pixel shaders transform the gradients computed in the rotated coordinate system back to the first coordinate system in which the 3D image is represented. - View Dependent Claims (13, 14, 15)
-
16. A method for rendering a three-dimensional (3D) volume image data set into a two-dimensional (2D) displayed image, comprising:
-
determining by one or more pixel shaders in a graphics processing unit (GPU) a color of each pixel in the 2D image as an iterative function of intensities and gradients at a plurality of sample points in the 3D image through which a ray associated with that pixel is passed, wherein the iterative function for a given sample point along the ray associated with that particular pixel is based on a result of calculations of the iterative function for other sample points on that ray; for each ray, rotating by one or more pixel shaders in the GPU a first coordinate system in which the 3D image is represented so as to align an axis thereof with that ray; computing by one or more pixel shaders in the GPU a gradient at a sample point along that ray in the rotated coordinate system relative to the first coordinate system; and transforming by one or more pixel shaders in the GPU the gradient computed in the rotated coordinate system back to the first coordinate system in which the 3D image is represented. - View Dependent Claims (17, 18, 19)
-
Specification