# US 10,121,225 B1 · Dynamic scaling of visualization data while maintaining desired object characteristics

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

- Number: US 10,121,225 B1
- Document ID: US10121225B1
- Status: Granted
- Kind: B1
- Application number: 15/862,453
- Filed: 2018-01-04
- Granted: 2018-11-06
- Earliest claimed: 2018-01-04
- Assignees: Finger Food Studios, Inc.
- Applicants: Finger Food Studios, Inc.
- Inventors: Botrous Gerges; Steven William Pridie
- Web page: https://patentgrep.com/patent/US10121225B1

## CPC

- G06T 3/4007: based on interpolation, e.g. bilinear interpolation (image demosaicing G06T3/4015; edge-driven or edge-based scaling G06T3/403)
- F16L 1/12: Laying or reclaiming pipes on or under water
- G06T 3/4023: based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
- G06T 11/26: Drawing of charts or graphs
- G06T 15/10: Geometric effects
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06T 19/00: Manipulating three-dimensional [3D] models or images for computer graphics
- G06F 30/00: Computer-aided design [CAD]
- G06F 2113/14: Pipes
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- F16L: PIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Visualization of three-dimensional data without loss of desired characteristics is enabled by receiving mapping data pertaining to a physical object in the world, the physical object represented by a series of segments, the three-dimensional data including a predetermined number of measurements of the series of segments, storing the mapping data in data storage and generating an average measurement value for each of the series of segments. The process further involves generating a first generalization of the mapping data by selecting, for each of the series of segments, a desired number of measurements, fewer than the predetermined number of measurements, that represent the largest deviations from the respective average measurement, storing the selected measurements as the first generalization of the mapping data in the data storage, and upon request, providing access to the first generalization of the mapping data for use in rendering the mapping data as three-dimensional data.

## Claims

### Claim 1

An apparatus for providing visualization data comprising a computing device, including processor and memory, the computing device executing instructions that cause the processor to:
receive mapping data pertaining to a tubular physical object in the world, the tubular physical object represented by a series of segments along a longitudinal axis of the tubular physical object, the mapping data including a predetermined number of internal radial distance measurements of the series of segments;
store the mapping data in data storage;
generate an average measurement value for each of the series of segments comprising an average radius of the tubular physical object for each of the series of segments;
generate a first generalization of the mapping data by selecting, for each of the series of segments, a desired number of measurements selected before receipt of the mapping data and fewer than the predetermined number of measurements, that represent the largest deviations from the respective average measurement;
generate a second generalization of the mapping data by selecting, for each of the series of segments, a second desired number of measurements selected before receipt of the mapping data and fewer than the first generalization, that represent the largest deviations from the respective average measurement within the first generalization of the mapping data;
store the first generalization and the second generalization of the mapping data in the data storage; and
upon request, transmitting one of the first generalization and the second generalization of the mapping data for rendering the mapping data in three dimensions.

### Claim 2 (depends on 1)

The apparatus of claim 1 wherein, for each of the series of segments,
the predetermined number of measurements consists of 80 measurements; and
the first mapping data generalization selects 16 of the 80 measurements, wherein the 16 measurements are selected such that no more than 2 of the 16 measurements are adjacent to one another.

### Claim 3 (depends on 2)

The apparatus of claim 2 wherein, for each of the series of segments,
the predetermined number of measurements consists of 80 measurements; and
the second mapping generalization selects 4 of the 80 measurements, wherein the 4 measurements are selected such that no measurement from the 80 measurements are closer than 16 measurements apart.

### Claim 4 (depends on 1)

The apparatus of claim 1 wherein the processor is further instructed to:
transmit the first generalization to a requesting device for presentation as a visualization; and
upon request, transmit the mapping data for presentation to replace the visualization.

### Claim 5 (depends on 4)

The apparatus of claim 4 further comprising a visualization device, including a second processor and a second memory, the visualization device executing instructions that cause the second processor to:
receive the first generalization; and
generate three-dimensional data as a visual representation of the first generalization on a display.

### Claim 6 (depends on 1)

The apparatus of claim 1 wherein the instructions further cause the processor to:
determine a location of the center transverse for each of the series of segments; and
calculate a change of the location relative to a prior location of the center transverse.

### Claim 7 (depends on 6)

The apparatus of claim 6 wherein the instructions further cause the processor to:
generate a center transverse average;
select, from among the center transverse for each of the series of segments, a second predetermined number of the center transverse that represent the largest deviation from the center transverse average; and
store the selected center transverse as a center transverse generalization.

### Claim 8 (depends on 1)

The apparatus of claim 1 wherein the instructions further cause the processor to render on a display the first generalization of the mapping data in three dimensions at a first level of magnification for a portion of the tubular physical object and to render on the display the second generalization of the mapping data in three dimensions at a second level of magnification for the portion of the tubular physical object.

### Claim 9

A method of providing visualization data comprising:
receiving mapping data pertaining to a tubular physical object in the world, the tubular physical object represented by a series of segments along a longitudinal axis of the tubular physical object, the mapping data including a predetermined number of internal radial distance measurements of the series of segments;
storing the mapping data in data storage;
generating an average measurement value for each of the series of segments comprising an average radius of the tubular physical object for each of the series of segments;
generating a first generalization of the mapping data by selecting, for each of the series of segments, a desired number of measurements selected before receipt of the mapping data and fewer than the predetermined number of measurements, that represent the largest deviations from the respective average measurement;
generating a second generalization of the mapping data by selecting, for each of the series of segments, a second desired number of measurements selected before receipt of the mapping data and fewer than the first generalization, that represent the largest deviations from the respective average measurement within the first generalization of the mapping data;
storing the first generalization and the second generalization of the mapping data in the data storage; and
upon request, transmitting one of the first generalization and the second generalization of the mapping data for rendering the mapping data in three dimensions.

### Claim 10 (depends on 9)

The method of claim 9 wherein, for each of the series of segments,
the predetermined number of measurements consists of 80 measurements; and
the first mapping generalization selects 16 of the 80 measurements, wherein the 16 measurements are selected such that no more than 2 of the 16 measurements are adjacent to one another.

### Claim 11 (depends on 9)

The method of claim 9 wherein, for each of the series of segments,
the predetermined number of measurements consists of 80 measurements; and the second mapping generalization selects 4 of the 80 measurements, wherein the 4 measurements are selected such that no measurement from the 80 measurements are closer than 16 measurements apart.

### Claim 12 (depends on 9)

The method of claim 9 further comprising:
transmitting the first generalization to a requesting device for presentation as a visualization; and
upon request, transmitting the mapping data for presentation to replace the visualization.

### Claim 13 (depends on 12)

The method of claim 12 further comprising:
receiving the first generalization; and
generating three-dimensional data as a visual representation of the first generalization on a display.

### Claim 14 (depends on 9)

The method of claim 9 further comprising:
rendering on a display the first generalization of the mapping data in three dimensions at a first level of magnification for a portion of the tubular physical object; and
rendering on the display a second generalization of the mapping data in three dimensions at a second level of magnification for the portion of the tubular physical object.

### Claim 15

A system for providing visualization data comprising:
a server, including processor and memory, the server executing instructions that cause the processor to:
receive mapping data pertaining to a tubular section of a pipe, the pipe represented by a series of segments along the pipe's length, the mapping data including a predetermined number of radial measurements from a center transverse of the series of segments;
store the mapping data in data storage;
generate an average radial measurement value for each of the series of segments comprising an average radius of the tubular section of the pipe for each of the series of segments;
generate a first generalization of the mapping data by selecting, for each of the series of segments, a desired number of measurements selected before receipt of the mapping data and fewer than the predetermined number of measurements, that represent the largest deviations from the respective average radial measurement;
generate a second generalization of the mapping data by selecting, for each of the series of segments, a second desired number of measurements, selected before receipt of the mapping data and fewer than the first generalization, that represent the largest deviations from the respective average measurement within the first generalization of the mapping data;
store the first generalization and the second generalization of the mapping data in the data storage; and
upon request, transmitting one of the first generalization and the second generalization of the mapping data for rendering the mapping data in three dimensions.

### Claim 16 (depends on 15)

The system of claim 15 wherein the instructions further cause the processor to:
determine a location of the center transverse for each of the series of segments; and
calculate a change of the location relative to a prior location of the center transverse.

### Claim 17 (depends on 16)

The system of claim 16 wherein the instructions further cause the processor to:
generate a center transverse average;
select, from among the center transverse for each of the series of segments, a second predetermined number of the center transverse that represent the largest deviation from the center transverse average; and
store the selected center transverse as a center transverse generalization.

### Claim 18 (depends on 15)

The system of claim 15 wherein the instructions further cause the processor to:
transmit the first generalization to a requesting device for presentation as a visualization;
upon request, transmit the mapping data for presentation to replace the visualization;
receive the first generalization; and
generate three-dimensional data as a visual representation of the first generalization on a display.

### Claim 19 (depends on 15)

The system of claim 15 further comprising:
a computing device, including a second processor, second memory, and a display, the computing device executing instructions that cause the second processor to:
render on the display the first generalization of the mapping data in three dimensions at a first level of magnification for a portion of the tubular section of the pipe; and
render on the display a second generalization of the mapping data in three dimensions at a second level of magnification for the portion of the tubular section of the pipe.
