# US 8,150,111 B2 · Methods, systems, and computer program products for processing three-dimensional image data to render an image from a viewpoint within or beyond an occluding region of the image data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,150,111 B2
- Document ID: US8150111B2
- Status: Granted
- Kind: B2
- Application number: 11/886,207
- Filed: 2006-03-15
- Published: 2009-04-23
- Granted: 2012-04-03
- Earliest claimed: 2005-03-15
- Assignees: The University of North Carolina at Chapel Hill
- Inventors: David Borland; John Clarke; Russell M. Taylor, II
- Web page: https://patentgrep.com/patent/US8150111B2

## CPC

- G06T 15/08: Volume rendering
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Methods, systems, and computer program products for processing three-dimensional image data to render an image from a viewpoint within or beyond an occluding region of the image data are disclosed. According to one method, a set of three-dimensional image data is accessed. The image data includes image data for a surface of interest and image data for a region occluding the surface of interest from a desired viewpoint. The viewpoint may be within or beyond the occluding region. A plurality of rays is cast from the viewpoint to the surface. Along each ray, an occlusion determination is made independent from a volume rendering transfer function definition to render voxels within the occluding region as transparent or partially transparent. The volume rendering transfer function is applied along a portion of each ray outside of the occluding region to render voxels defining surface of interest as visible. The voxels that define the surface are displayed as visible. The voxels within the occluding region are shown in a transparent or partially transparent manner.

## Claims

### Claim 1

A method for processing three-dimensional image data to render an image from a viewpoint within or beyond an occluding region of the image data, the method comprising:
at a computing platform including a processor:
(a) receiving a set of three-dimensional image data including image data for a surface of interest and image data for a region occluding the surface of interest from a desired viewpoint;
(b) casting a plurality of rays from the viewpoint to the surface of interest;
(c) along each ray, making an occlusion determination independently from a volume rendering transfer function definition to render voxels within the occluding region as transparent or partially transparent;
(d) applying the volume rendering transfer function along a portion of each ray outside of the occluding region to render voxels defining the surface of interest as visible; and
(e) displaying the voxels that define the surface of interest from the viewpoint, wherein the voxels within the occluding region are shown in a transparent or partially transparent manner and wherein the voxels that define the surface of interest are shown as visible, wherein applying a transfer function includes applying a first transfer function to render the voxels of the surface of interest as visible and applying a second transfer function different from the first transfer function to render the voxels of the occluding region as transparent or partially transparent.

### Claim 2 (depends on 1)

The method of claim 1 wherein accessing a set of three-dimensional image data includes accessing a set of magnetic resonance imaging (MRI) image data.

### Claim 3 (depends on 1)

The method of claim 1 wherein accessing a set of three-dimensional image data includes accessing a set of computerized tomography (CT) image data.

### Claim 4 (depends on 1)

The method of claim 1 wherein accessing a set of three-dimensional image data includes accessing a set of magnetic resonance imaging (MRI) and a set of computerized tomography (CT) image data of the same surface.

### Claim 5 (depends on 4)

The method of claim 4 wherein making the occlusion determination includes analyzing vexel intensities along each ray in the CT image data to determine where to begin rendering the surface of interest along each ray in the MRI image data.

### Claim 6 (depends on 4)

The method of claim 4 wherein making the occlusion determination includes analyzing voxel intensities along each ray in the MR image data to determine where to begin rendering the surface along each ray in the CT image data.

### Claim 7 (depends on 1)

The method of claim 1 wherein accessing a set of three-dimensional image data includes accessing first and second sets of magnetic resonance imaging (MRI) images, wherein making the occlusion determination includes making the occlusion determination in the first set of MRI images, and wherein applying the transfer function includes applying the transfer function to the second set of MRI images.

### Claim 8 (depends on 1)

The method of claim 1 wherein accessing a set of three-dimensional image data includes accessing first and second sets of computerized tomography (CT) images, wherein making the occlusion determination includes making the occlusion determination in the first set of CT images, and wherein applying the transfer function includes applying the transfer function to the second set of CT images.

### Claim 9 (depends on 1)

The method of claim 1 wherein accessing a set of three-dimensional image data includes accessing a set of filtered image data and a set of unfiltered image data of the same surface and wherein making an occlusion determination includes analyzing voxel intensities along each ray in the filtered image data to identify locations for rendering the surface of interest along each ray in the unfiltered image data.

### Claim 10 (depends on 1)

The method of claim 1 wherein making an occlusion determination includes defining a fixed voxel intensity threshold that distinguishes between voxels within the occluding region and voxels that define the surface and using the threshold to determine a location along each ray to begin accumulating voxel color and intensity for the surface of interest.

### Claim 11 (depends on 1)

The method of claim 1 wherein making an occlusion determination includes calculating a voxel intensity gradient along each ray, distinguishing between voxels of the occluding object and voxels of the surface of interest based on a rate of change in voxel intensity along each ray, and identifying a location to begin rendering the voxels of the surface of interest in response to the rate of change reaching or exceeding a threshold value.

### Claim 12 (depends on 1)

The method of claim 1 wherein making an occlusion determination includes:
(a) accumulating voxel color and intensity along a ray;
(b) identifying a voxel along the ray having an intensity that meets or exceeds a threshold value; and
(c) in response to identifying the voxel having an intensity that meets or exceeds the threshold value, setting intensities and colors for voxels along the ray prior to reaching the voxel having the intensity that meets or exceeds the threshold value as transparent or partially transparent.

### Claim 13 (depends on 1)

The method of claim 1 wherein applying a transfer function includes setting the transfer function to begin collecting voxel intensity and color upon reaching an nth surface of a plurality of surfaces of the same or similar voxel intensities, n being an integer.

### Claim 14 (depends on 13)

The method of claim 13 wherein the nth surface comprises a last surface of the plurality of surfaces.

### Claim 15 (depends on 13)

The method of claim 13 wherein the nth surface comprises a surface between a first and last surface of the plurality of surfaces.

### Claim 16 (depends on 1)

The method of claim 1 wherein the three-dimensional image data comprises medical image data.

### Claim 17 (depends on 1)

The method of claim 1 wherein the three-dimensional image data comprises non-medical image data.

### Claim 18 (depends on 1)

The method of claim 1 wherein the surface of interest comprises a surface having a predetermined property and being surrounded by another surface and wherein displaying the surface of interest as visible includes displaying the surrounding surface as transparent or partially transparent and displaying the surface of interest in a color different from colors of surfaces that do not have the property.

### Claim 19 (depends on 1)

The method of claim 1 wherein rendering the surface of interest as visible includes rendering a region that includes the surface of interest as visible.

### Claim 20 (depends on 1)

The method of claim 1 wherein the viewpoint is within the occluding region.

### Claim 21 (depends on 1)

The method of claim 1 wherein the viewpoint is beyond the occluding region.

### Claim 22

A system for processing three-dimensional image data to render an image from a viewpoint within or beyond an occluding region of the image data, the method comprising:
(a) a surface rendering module for accessing a set of three-dimensional image data including image data for a surface of interest and image data for a region occluding the surface of interest from a desired viewpoint and for:
(i) casting a plurality of rays from the viewpoint to the surface of interest;
(ii) along each ray, making an occlusion determination independently from a volume rendering transfer function definition to render voxels within the occluding region as transparent or partially transparent; and
(iii) applying the volume rendering transfer function along a portion of each ray outside of the occluding region to render voxels defining the surface of interest as visible, wherein the surface rendering module is adapted to apply a first transfer function to render the voxels of the surface of interest as visible and to apply a second transfer function different from the first transfer function to render the voxels of the occluding region as transparent or semi-transparent; and
(b) a display module for displaying the voxels that define the surface of interest from the viewpoint as visible and for displaying the voxels within the occluding region as transparent or partially transparent.

### Claim 23 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to access a set of magnetic resonance imaging (MRI) image data.

### Claim 24 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to access a set of computerized tomography (CT) image data.

### Claim 25 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to access a set of magnetic resonance imaging (MRI) and a set of computerized tomography (CT) image data of the same surface.

### Claim 26 (depends on 25)

The system of claim 25 wherein the surface rendering module is adapted to analyze voxel intensities along rays cast from the viewpoint to the surface in the CT image data to determine where to begin rendering the surface of interest along each ray in the MRI image data.

### Claim 27 (depends on 25)

The system of claim 25 wherein the surface rendering module is adapted to analyze voxel intensities along rays case form the viewpoint in the MRI image data to determine where to begin rendering the surface along each ray in the CT image data.

### Claim 28 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to access first and second sets of magnetic resonance imaging (MRI) images, to make the occlusion determination using the first set of MRI images, and to apply the transfer function to the second set of MRI images.

### Claim 29 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to access first and second sets of computerized tomography (CT) images, to make the occlusion determination using the first set of CT images, and to apply the transfer function to the second set of CT images.

### Claim 30 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to access a set of filtered image data and a set of unfiltered image data of the same surface, to identify a location of the surface of interest along each ray using the filtered image data, and to render the surface in the unfiltered image data based on the locations identified using the filtered image data.

### Claim 31 (depends on 22)

The system of claim 22 wherein surface rendering module is adapted to define a fixed voxel intensity threshold that distinguishes between voxels within the occluding region and voxels that define the surface and to use the threshold to determine a location along each ray to begin accumulating voxel color and intensity for the surface of interest.

### Claim 32 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to calculate a voxel intensity gradient along each ray, to distinguish between voxels of the occluding region and voxels of the surface of interest based on a rate of change in voxel intensity along each ray, and to begin rendering the voxels of the surface of interest when the rate of change reaches or exceeds a threshold value.

### Claim 33 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to:
(a) accumulate voxel color and intensity along a ray;
(b) identify a voxel along the ray having an intensity that meets or exceeds a threshold value;
(c) in response to identifying the voxel having an intensity that meets or exceeds the threshold value, set intensities and colors for voxels along the ray prior to reaching the voxel having the intensity that meets or exceeds the threshold value as transparent or partially transparent; and
(d) accumulate intensity and color for voxels on a far side of the voxel having the intensity that meets or exceeds the threshold.

### Claim 34 (depends on 22)

The system of claim 22 wherein the surface rendering module is adapted to set the transfer function to begin collecting voxel intensity and color upon reaching an nth surface of a plurality of surfaces of the same or similar voxel intensities, n being an integer.

### Claim 35 (depends on 22)

The system of claim 22 wherein the three-dimensional image data comprises medical image data.

### Claim 36 (depends on 22)

The system of claim 22 wherein the three-dimensional image data comprises non-medical image data.

### Claim 37 (depends on 22)

The system of claim 22 wherein the surface of interest comprises a surface having a predetermined property and being surrounded by another surface and wherein the display module is adapted to display the surrounding surface as transparent or partially transparent and to display the surface of interest in a color different from colors of surfaces that do not have the property.

### Claim 38 (depends on 22)

The system of claim 22 wherein rendering the surface of interest as visible includes rendering a region that includes the surface of interest as visible.

### Claim 39 (depends on 22)

The system of claim 22 wherein the viewpoint is within the occluding region.

### Claim 40 (depends on 22)

The system of claim 22 wherein the viewpoint is beyond the occluding region.

### Claim 41

A non-transitory computer program product comprising computer-executable instructions embodied in a computer-readable medium for performing steps comprising:
(a) receiving a set of three-dimensional image data including image data for a surface of interest and image data for a region occluding the surface of interest from a desired viewpoint;
(b) casting a plurality of rays from the viewpoint to the surface of interest;
(c) along each ray, making an occlusion determination independently from a volume rendering transfer function definition to render voxels within the occluding region as transparent or partially transparent;
(d) applying the volume rendering transfer function along a portion of each ray outside of the occluding region to render voxels defining the surface of interest as visible; and
(e) displaying the voxels that define the surface of interest from the viewpoint, wherein the voxels within the occluding region are shown in a transparent or partially transparent manner and wherein the voxels that define the surface of interest are shown as visible, wherein applying a transfer function includes applying a first transfer function to render the voxels of the surface of interest as visible and applying a second transfer function different from the first transfer function to render the voxels of the occluding region as transparent or partially transparent.
