# US 11,113,881 B2 · Systems and methods for generating a three-dimensional surface from a segmented volume

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

- Number: US 11,113,881 B2
- Document ID: US11113881B2
- Status: Granted
- Kind: B2
- Application number: 16/991,134
- Filed: 2020-08-12
- Published: 2021-03-11
- Granted: 2021-09-07
- Earliest claimed: 2019-09-06
- Assignees: St. Jude Medical, Cardiology Division, Inc.
- Applicants: St. Jude Medical, Cardiology Division, Inc.
- Inventors: Frank Miller
- Web page: https://patentgrep.com/patent/US11113881B2

## CPC

- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06T 17/205: {Re-meshing}
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 15/503: {Blending, e.g. for anti-aliasing}
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06T 2219/2004: Aligning objects, relative positioning of parts
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Systems and methods for generating a three-dimensional surface from a segmented volume including a plurality of voxels are provided. The method includes executing a first pass over a plurality of cells to generate a list of active cells, and executing a second pass over the plurality of active cells to generate a quadrilateral mesh, the quadrilateral mesh including a plurality of points that define a plurality of quadrilaterals. The method further includes executing at least one additional pass over the quadrilateral mesh to generate a smoothed mesh, wherein executing the at least one additional pass includes computing, for at least one point, a balanced curvature for the at least one point based on curvatures at points that neighbor the at least one point and moving the at least one point to a new location based on the computed balanced curvature. The method further includes displaying the smoothed mesh.

## Claims

### Claim 1

A computer-implemented method for generating a three-dimensional surface from a segmented volume including a plurality of voxels, the segmented volume divided into a plurality of overlapping cells that each include a plurality of neighboring voxels, the method comprising:
executing, using a computing device, a first pass over the plurality of cells to generate a list of active cells;
executing, using the computing device, a second pass over the plurality of active cells to generate a quadrilateral mesh, the quadrilateral mesh including a plurality of points that define a plurality of quadrilaterals, each of the plurality of points located within a corresponding active cell;
executing, using the computing device, at least one additional pass over the quadrilateral mesh to generate a smoothed mesh, wherein executing the at least one additional pass comprises:
computing, for at least one point of the plurality of points, a balanced curvature for the at least one point based on curvatures at points that neighbor the at least one point; and
moving the at least one point to a new location based on the computed balanced curvature; and
displaying, using the computing device, the smoothed mesh.

### Claim 2 (depends on 1)

The method of claim 1, wherein computing a balanced curvature comprises computing the balanced curvature by averaging the curvature at the at least one point with negative curvatures at the neighboring points.

### Claim 3 (depends on 1)

The method of claim 1, wherein executing a second pass comprises determining a location of each of the plurality of points within the corresponding active cell using a point displacement lookup table.

### Claim 4 (depends on 1)

The method of claim 1, wherein the computing device includes a graphics processing unit (GPU).

### Claim 5 (depends on 1)

The method of claim 1, wherein executing at least one additional pass comprises executing a plurality of additional passes.

### Claim 6 (depends on 1)

The method of claim 1, wherein executing at least one additional pass further comprises:
identifying at least one non-manifold point of the plurality of points; and
adjusting a position of the at least one non-manifold point using elastic relaxation.

### Claim 7 (depends on 1)

The method of claim 1, wherein moving the at least one point to a new location based on the computed balanced curvature comprises increasing a curvature of the at least one point while decreasing the curvatures at the neighboring points.

### Claim 8

A computing device for generating a three-dimensional surface from a segmented volume including a plurality of voxels, the segmented volume divided into a plurality of overlapping cells that each include a plurality of neighboring voxels, the computing device comprising:
a memory device; and
a processor communicatively coupled to the memory device, the processor configured to:
execute a first pass over the plurality of cells to generate a list of active cells;
execute a second pass over the plurality of active cells to generate a quadrilateral mesh, the quadrilateral mesh including a plurality of points that define a plurality of quadrilaterals, each of the plurality of points located within a corresponding active cell;
execute at least one additional pass over the quadrilateral mesh to generate a smoothed mesh, wherein executing the at least one additional pass includes:
computing, for at least one point of the plurality of points, a balanced curvature for the at least one point based on curvatures at points that neighbor the at least one point; and
moving the at least one point to a new location based on the computed balanced curvature; and
display, on the computing device, the smoothed mesh.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein to compute a balanced curvature, the processor is configured to compute the balanced curvature by averaging the curvature at the at least one point with negative curvatures at the neighboring points.

### Claim 10 (depends on 8)

The computing device of claim 8, wherein to execute a second pass, the processor is configured to determine a location of each of the plurality of points within the corresponding active cell using a point displacement lookup table.

### Claim 11 (depends on 8)

The computing device of claim 8, wherein the processor comprises a graphics processing unit (GPU).

### Claim 12 (depends on 8)

The computing device of claim 8, wherein to execute at least one additional pass, the processor is configured to execute a plurality of additional passes.

### Claim 13 (depends on 8)

The computing device of claim 8, wherein to execute at least one additional pass, the processor is further configured to:
identify at least one non-manifold point of the plurality of points; and
adjust a position of the at least one non-manifold point using elastic relaxation.

### Claim 14 (depends on 8)

The computing device of claim 8, wherein to move the at least one point to a new location based on the computed balanced curvature, the processor is configured to increase a curvature of the at least one point while decreasing the curvatures at the neighboring points.

### Claim 15

Non-transitory computer-readable media having computer-executable instructions thereon, wherein when executed by a processor of a computing device, cause the processor of the computing device to:
execute a first pass over a plurality of overlapping cells in a segmented volume to generate a list of active cells, each cell including a plurality of neighboring voxels;
execute a second pass over the plurality of active cells to generate a quadrilateral mesh, the quadrilateral mesh including a plurality of points that define a plurality of quadrilaterals, each of the plurality of points located within a corresponding active cell;
execute at least one additional pass over the quadrilateral mesh to generate a smoothed mesh, wherein executing the at least one additional pass includes:
computing, for at least one point of the plurality of points, a balanced curvature for the at least one point based on curvatures at points that neighbor the at least one point; and
moving the at least one point to a new location based on the computed balanced curvature; and
display, on the computing device, the smoothed mesh.

### Claim 16 (depends on 15)

The non-transitory computer-readable media of claim 15, wherein to compute a balanced curvature, the processor is configured to compute the balanced curvature by averaging the curvature at the at least one point with negative curvatures at the neighboring points.

### Claim 17 (depends on 15)

The non-transitory computer-readable media of claim 15, wherein to execute a second pass, the processor is configured to determine a location of each of the plurality of points within the corresponding active cell using a point displacement lookup table.

### Claim 18 (depends on 15)

The non-transitory computer-readable media of claim 15, wherein to execute at least one additional pass, the processor is configured to execute a plurality of additional passes.

### Claim 19 (depends on 15)

The non-transitory computer-readable media of claim 15, wherein to execute at least one additional pass, the processor is further configured to:
identify at least one non-manifold point of the plurality of points; and
adjust a position of the at least one non-manifold point using elastic relaxation.

### Claim 20 (depends on 15)

The non-transitory computer-readable media of claim 15, wherein to move the at least one point to a new location based on the computed balanced curvature, the processor is configured to increase a curvature of the at least one point while decreasing the curvatures at the neighboring points.
