# US 12,225,288 B2 · Software camera view lock allowing editing of drawing without any shift in the view

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

- Number: US 12,225,288 B2
- Document ID: US12225288B2
- Status: Granted
- Kind: B2
- Application number: 18/122,000
- Filed: 2023-03-15
- Published: 2023-09-21
- Granted: 2025-02-11
- Earliest claimed: 2022-03-16
- Assignees: Faro Technologies, Inc.
- Applicants: FARO Technologies, Inc.
- Inventors: Matthew T. Brown; Derik J. White
- Web page: https://patentgrep.com/patent/US12225288B2

## CPC

- G01S 7/4817: {relating to scanning}
- H04N 23/667: Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
- G01S 17/86: Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
- G01S 17/894: Three-dimensional [3D] imaging with simultaneous measurement of time-of-flight at a two-dimensional [2D] array of receiver pixels, e.g. time-of-flight cameras or flash lidar
- G06T 5/50: using two or more images, e.g. averaging or subtraction
- G06T 15/00: Three-dimensional [3D] image rendering
- G06V 10/24: Aligning, centring, orientation detection or correction of the image
- G06V 10/761: {Proximity, similarity or dissimilarity measures}
- H04N 23/631: {Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters}
- G06T 2207/20221: Image fusion; Image merging
- G08B 13/19608: {Tracking movement of a target, e.g. by detecting an object predefined as a target, using target direction and or velocity to predict its new position}
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G08B: SIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS

## Abstract

A software camera lock is provided. A first image is displayed as a 3D image, wherein a semi-transparent second image overlays the first image. A software camera is inserted at a fixed location in the 3D image, wherein the software camera provides a field-of-view (FOV) displaying a portion of the 3D image, the FOV displaying a first reference in the FOV, the second image displaying a second reference that represents first reference and comprising an object. Software camera is locked in FOV using a lock software camera mode. A model is inserted in first image to match a location of the object in second image, wherein locking the software camera in the FOV causes the FOV of the first image to be maintained in place as the model is being moved in the first image to match the location of the object in second image.

## Claims

### Claim 1

A computer-implemented method for a software camera lock, the method comprising:
displaying a first image in a graphical user interface, the first image being a three-dimensional (3D) image, wherein a second image overlays the first image, the second image being a semi-transparent image such that the first image is viewable through the second image;
inserting a software camera at a fixed location in the 3D image, wherein the software camera provides a field-of-view displaying a portion of the 3D image, the field-of-view displaying at least one first reference in the field-of-view, the second image displaying at least one second reference that represents the at least one first reference, the second image comprising at least one object;
in response to aligning the at least one second reference to the at least one first reference, locking the software camera in the field-of-view using a lock software camera mode;
inserting a model in the first image to match a location of the at least one object in the second image, wherein locking the software camera in the field-of-view causes the field-of-view of the first image to be maintained in place as the model is being moved in the first image to match the location of the at least one object in the second image;
unlocking the software camera from the field-of-view in the first image using an unlock software camera mode; and
traversing the model in the first image to capture one or more metrics, the one or more metrics characterizing a traversal of the model through the 3D image, the one or metrics corresponding to the at least one object.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein locking the software camera in the field-of-view using the lock software camera mode allows a user to edit the first image without the field-of-view moving in the first image.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein locking the software camera in the field-of-view using the lock software camera mode prevents any other portion of the 3D image from being displayed.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein locking the software camera in the field-of-view using the lock software camera mode disables one or more functions in the graphical user interface.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the one or more functions that are disabled comprise a scroll function, a zoom in function, a zoon out function, a pan function, and an animate function.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein:
the 3D image is a 3D point cloud, the 3D point cloud comprising a plurality of 3D data points; and
locking the software camera in the field-of-view using the lock software camera mode both captures and freezes predetermined 3D data points of the plurality of 3D data points visible in the field-of-view of the software camera, such that no other 3D data points of the plurality of 3D data points can be made visible or moved to during the lock software camera mode.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising displaying a two-dimensional (2D) image of the field-of-view concurrently being displayed in the 3D image during the lock software camera mode, such that any positioning of the model in the 3D image is simultaneously viewable in the 2D image, wherein any functions disabled in the 3D image are unlocked in the 2D image.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the unlock software camera mode is configured to permit one or more functions in the graphical user interface to change the field-of-view of the 3D image, to move through the 3D image, and to allow the field-of-view to shift as one or more models are being positioned in the 3D image.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein a selection is permitted for switching back and forth between the lock software camera mode and the unlock software camera mode.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein, in response to selecting the lock software camera mode to lock the software camera in the field-of-view and in response to subsequently selecting the unlock software camera mode to modify the field-of-view, another selection of the lock software camera mode causes a return to the field-of-view previously selected for the software camera regardless of any previous changes made during the unlock software camera mode, thereby returning the first image to an alignment of the at least one second reference to the at least one first reference.

### Claim 11

A system for a software camera lock, the system comprising:
a memory having computer readable instructions; and
one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising:
displaying a first image in a graphical user interface, the first image being a three-dimensional (3D) image, wherein a second image overlays the first image, the second image being a semi-transparent image such that the first image is viewable through the second image;
inserting a software camera at a fixed location in the 3D image, wherein the software camera provides a field-of-view displaying a portion of the 3D image, the field-of-view displaying at least one first reference in the field-of-view, the second image displaying at least one second reference that represents the at least one first reference, the second image comprising at least one object;
in response to aligning the at least one second reference to the at least one first reference, locking the software camera in the field-of-view using a lock software camera mode;
inserting a model in the first image to match a location of the at least one object in the second image, wherein locking the software camera in the field-of-view causes the field-of-view of the first image to be maintained in place as the model is being moved in the first image to match the location of the at least one object in the second image;
unlocking the software camera from the field-of-view in the first image using an unlock software camera mode; and
traversing the model in the first image to capture one or more metrics, the one or more metrics characterizing a traversal of the model through the 3D image, the one or metrics corresponding to the at least one object.

### Claim 12 (depends on 11)

The system of claim 11, wherein locking the software camera in the field-of-view using the lock software camera mode allows a user to edit the first image without the field-of-view moving in the first image.

### Claim 13 (depends on 11)

The system of claim 11, wherein locking the software camera in the field-of-view using the lock software camera mode prevents any other portion of the 3D image from being displayed.

### Claim 14 (depends on 11)

The system of claim 11, wherein:
locking the software camera in the field-of-view using the lock software camera mode disables one or more functions in the graphical user interface; and
the one or more functions that are disabled comprise a scroll function, a zoom in function, a zoon out function, a pan function, and an animate function.

### Claim 15 (depends on 11)

The system of claim 11, wherein:
the 3D image is a 3D point cloud, the 3D point cloud comprising a plurality of 3D data points; and
locking the software camera in the field-of-view using the lock software camera mode both captures and freezes predetermined 3D data points of the plurality of 3D data points visible in the field-of-view of the software camera, such that no other 3D data points of the plurality of 3D data points can be made visible or moved to during the lock software camera mode.

### Claim 16 (depends on 11)

The system of claim 11, wherein the one or more processors perform the operations further comprising displaying a two-dimensional (2D) image of the field-of-view concurrently being displayed in the 3D image during the lock software camera mode, such that any positioning of the model in the 3D image is simultaneously viewable in the 2D image, wherein any functions disabled in the 3D image are unlocked in the 2D image.

### Claim 17 (depends on 11)

The system of claim 11, wherein the unlock software camera mode is configured to permit one or more functions in the graphical user interface to change the field-of-view of the 3D image, to move through the 3D image, and to allow the field-of-view to shift as one or more models are being positioned in the 3D image.

### Claim 18 (depends on 11)

The system of claim 11, wherein a selection is permitted for switching back and forth between the lock software camera mode and the unlock software camera mode.

### Claim 19 (depends on 11)

The system of claim 11, wherein, in response to selecting the lock software camera mode to lock the software camera in the field-of-view and in response to subsequently selecting the unlock software camera mode to modify the field-of-view, another selection of the lock software camera mode causes a return to the field-of-view previously selected for the software camera regardless of any previous changes made during the unlock software camera mode, thereby returning the first image to an alignment of the at least one second reference to the at least one first reference.

### Claim 20

A computer program product comprising a computer readable storage medium having program instructions embodied therewith for a software camera lock, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising:
displaying a first image in a graphical user interface, the first image being a three-dimensional (3D) image, wherein a second image overlays the first image, the second image being a semi-transparent image such that the first image is viewable through the second image;
inserting a software camera at a fixed location in the 3D image, wherein the software camera provides a field-of-view displaying a portion of the 3D image, the field-of-view displaying at least one first reference in the field-of-view, the second image displaying at least one second reference that represents the at least one first reference, the second image comprising at least one object;
in response to aligning the at least one second reference to the at least one first reference, locking the software camera in the field-of-view using a lock software camera mode;
inserting a model in the first image to match a location of the at least one object in the second image, wherein locking the software camera in the field-of-view causes the field-of-view of the first image to be maintained in place as the model is being moved in the first image to match the location of the at least one object in the second image;
unlocking the software camera from the field-of-view in the first image using an unlock software camera mode; and
traversing the model in the first image to capture one or more metrics, the one or more metrics characterizing a traversal of the model through the 3D image, the one or metrics corresponding to the at least one object.
