IP Library Granted Patent US 8,355,021
Granted Patent B2
US 8,355,021 · App. 11/959,535 · Granted Jan 15, 2013

Fused 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 8,355,021
App. No.
11/959,535
Granted
Jan 15, 2013
Kind
B2
Abstract

A rendering system having a customizable database of compositing rule tables that define how the input volumes are to be combined based on the their type, i.e. anatomical, functional, etc. The system also allows for the customization of the transfer function types associated with each type of input volume. Enabling this customization is a modularization of the rendering system such that the image formation process is shielded form the actual input volume configuration. This includes the building of a database of shaders that embody the compositing rules defined in a selected table matching the input volume configuration. This shader database in conjunction with a spatially subdivided/bricked representation of the input volumes allows the system to manage the overall complexity of the image formation process by locally selecting the cheapest/least complex shader. Thus allowing for more complex compositing rules with minimal impact on the rendering performance.

Claims (41)

1. A computer-implemented system for fused volumetric rendering of a scene from a set of volumetric scans acquired from different imaging modalities, the system implemented by the computer comprising:

a central processing unit;

a compositing rule table database having therein a plurality of compositing rule tables, wherein each table provides compositing rules for a different combination of volumetric scans into the rendered scene;

a data manager for receiving the volumetric scans and for building therefrom a render queue having a list of volume bricks that represents the volumetric scans in graphics memory, for determining a type signature based on the types and sequence of the volumetric scans representing the scene, and for preparing specific volumetric scans for rendering by packing the specific volumetric scans into 3D textures, wherein each brick in the render queue provides texture coordinates to retrieve the data from the 3D textures;

a shader builder for receiving shader functionality and the type signature of the volumetric scans from the data manager, for receiving transfer functions for each volumetric scan, and for selecting a compositing rule table from the database based on the type signature of the volumetric scans and for building a plurality of shaders from a library of graphics functions based on the received shader functionality and selected compositing rule table; and

a sampler that receives the render queue, the 3D textures, and the plurality of shaders for rendering a final image of the volumetric scans, wherein for each brick contained in the render queue the sampler determines the least complex shader based on the render parameters and transfer functions in the scene, and binds such shader and the required 3D textures to form the final image one brick at a time.

2. A computer-implemented method for fused volume rendering a set of volumetric scans acquired from different imaging modalities, the method performed by the computer comprising the steps of:

providing a plurality of 3D textures that hold data of the different volumetric scans;

providing a render queue containing a plurality of bricks that provide texture coordinates to retrieve volumetric scan data from the 3D textures;

providing a shader database containing a shader for every possible combination of the different volumetric scans and render styles for said volumes;

specifying a visibility and render style for each brick in the render queue based on global rendering parameters and on transfer functions associated with each different volumetric scans, wherein each volumetric scan is associated with a transfer function; and

rendering each brick in the render queue in depth sorted order.

3. The method of claim 2 , wherein rendering each brick in the render queue comprises, for each visible brick:

finding, based on the visibility and render style of each different volumetric scan to be fused for each brick, a least complex shader from said shader database to render the brick;

binding, for each different volumetric scan, the 3D textures required for rendering; and

using the shader to render each different volumetric scan covered by a geometrical extent of each brick in the specified render style for each different volumetric scan.

4. The method of claim 3 , further comprising:

providing a compositing rule table database containing a plurality of compositing rule tables, wherein each table provides compositing rules for each different combination of volumetric scans into the rendered scene;

selecting a compositing rule table for the different imaging modalities of the set of volumetric scans,

wherein each shader in said shader database corresponds to one of the compositing rules in the selected compositing rule table, and

wherein finding a least complex shader from said shader database to render the brick comprises finding a least complex compositing rule required to render the brick, and binding the shader from the shader database that matches the least complex compositing rule.

5. A non-transitory program storage device readable by a computer, tangibly embodying a program of instructions executable by a computer to implement a system for fused volumetric rendering of a scene from a set of volumetric scans acquired from different imaging modalities, the system implemented by the computer comprising:

a compositing rule table database having therein a plurality of compositing rule tables, wherein each table provides compositing rules for a different combination of volumetric scans into the rendered scene;

a data manager for receiving the volumetric scans and for building therefrom a render queue having a list of volume bricks that represents the volumetric scans in graphics memory, for determining a type signature based on the types and sequence of the volumetric scans representing the scene, and for preparing specific volumetric scans for rendering by packing the specific volumetric scans into 3D textures, wherein each brick in the render queue provides texture coordinates to retrieve the data from the 3D textures;

a shader builder for receiving shader functionality and the type signature of the volumetric scans from the data manager and transfer functions in the scene, and for selecting a compositing rule table from the database based on the type signature of the volumetric scans and for building a plurality of shaders from a library of graphics functions based on the received shader functionality and selected compositing rule table; and

a sampler that receives the render queue, the 3D textures, and the plurality of shaders for rendering a final image of the volumetric scans, wherein for each brick contained in the render queue the sampler determines the least complex shader based on the render parameters and transfer functions in the scene, and binds such shader and the required 3D textures to form the final image one brick at a time.

6. A non-transitory program storage device readable by a computer, tangibly embodying a program of instructions executable by a computer to implement a method for fused volume rendering a set of volumetric scans acquired from different imaging modalities, the method performed by the computer comprising the steps of:

providing a plurality of 3D textures that hold data of the different volumetric scans;

providing a render queue containing a plurality of bricks that provide texture coordinates to retrieve volumetric scan data from the 3D textures;

providing a shader database containing a shader for every possible combination of the different volumetric scans and render styles for said volumes;

specifying a visibility and render style for each brick in the render queue based on global rendering parameters and on transfer functions associated with each different volumetric scans, wherein each volumetric scan is associated with a transfer function; and

rendering each brick in the render queue in depth sorted order.

7. The computer readable program storage device of claim 6 , wherein rendering each brick in the render queue comprises, for each visible brick:

finding, based on the visibility and render style of each different volumetric scan to be fused for each brick, a least complex shader from said shader database to render the brick;

binding, for each different volumetric scan, the 3D textures required for rendering; and

using the shader to render each different volumetric scan covered by a geometrical extent of each brick in the specified render style for each different volumetric scan.

8. The computer readable program storage device of claim 7 , wherein the method further comprises:

providing a compositing rule table database containing a plurality of compositing rule tables, wherein each table provides compositing rules for each different combination of volumetric scans into the rendered scene;

selecting a compositing rule table for the different imaging modalities of the set of volumetric scans,

wherein each shader in said shader database corresponds to one of the compositing rules in the selected compositing rule table, and

wherein finding a least complex shader from said shader database to render the brick comprises finding a least complex compositing rule required to render the brick, and binding the shader from the shader database that matches the least complex compositing rule.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 066088 FRAME: 0256. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 17, 2024
From: SIEMENS HEALTHCARE GMBH
To: SIEMENS HEALTHINEERS AG
Reel/Frame 071178/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2023
From: SIEMENS HEALTHCARE GMBH
To: SIEMENS HEALTHINEERS AG
Reel/Frame 066088/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2016
From: SIEMENS AKTIENGESELLSCHAFT
To: SIEMENS HEALTHCARE GMBH
Reel/Frame 039271/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2009
From: SIEMENS CORPORATE RESEARCH, INC.
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 022506/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2008
From: WENGER, ANDREAS
To: SIEMENS CORPORATE RESEARCH, INC.
Reel/Frame 020653/0860 →