IP Library Granted Patent US 12709830
Granted Patent B1
US 12709830 · App. 19/278,361 · Granted Aug 18, 2026

Image to pattern enhancement system

Inventors: Jim Bagley (West Jordan, UT); Brad Critchfield (West Jordan, UT); Sam Bagley (West Jordan, UT); Justice Daniels (West Jordan, UT)
Assignee: GRACEWOOD MANAGEMENT, INC.
D05B11/00D05B19/12G06T5/10G06T5/20G06T7/13G06V10/473
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 12709830
App. No.
19/278,361
Granted
Aug 18, 2026
Kind
B1
Abstract

A quilt arrangement engine, a non-transitory, computer-readable medium storing one or more machine-readable instructions that, when executed, cause the one or more processors to perform quilt arrangement engine operations is disclosed. The engine operations include receiving a digital bitmap image and undertaking process steps to generate and store a determined path order as an ordered collection of vector descriptors for quilting.

Claims (128)

1 . A quilt-making machine, comprising:

a computer-controlled sewing machine;

a quilt arrangement engine comprising one or more processors; and

a non-transitory, computer-readable medium storing one or more machine-readable instructions that, when executed, cause the one or more processors to perform quilt arrangement engine operations, the quilt arrangement engine operations comprising:

receiving a digital bitmap image;

detecting edges in the digital bitmap image;

transforming the detected edges into a plurality of vectors;

displaying, by a graphical user interface, the plurality of vectors as a vector image;

receiving, from a user using the graphical user interface, a selection of one or more vectors of the plurality of vectors;

determining a path order based on the received selection of one or more vectors;

storing, in a non-transitory, computer-readable medium, the determined path order as an ordered collection of vector descriptors;

receiving, from the user using the graphical user interface, a selection of one or more color filters; and

filtering the digital bitmap image based on the received selection of one or more color filters.

2 . The quilt-making machine of claim 1 , wherein detecting edges in the digital bitmap image further comprises one or more of:

performing a gradient-based analysis of the digital bitmap image;

performing a second-order derivative analysis of the digital bitmap image;

performing canny edge detection to the digital bitmap image;

applying a machine learning algorithm to the digital bitmap image;

performing wavelet transformation to the digital bitmap image; and

applying a fuzzy logic algorithm to the digital bitmap image.

3 . The quilt-making machine of claim 1 , the operations further comprising pre-processing the digital bitmap image to enhance edges in the digital bitmap image, wherein the pre-processing comprises one or more of:

converting the digital bitmap image from a color image to a grayscale image;

filtering the digital bitmap image by color;

applying a machine learning algorithm;

despeckling the digital bitmap image;

applying a Fourier transform;

applying Gaussian blur;

applying a bilateral filter;

applying a median filter;

applying histogram equalization;

applying unsharp masking;

performing color space conversion; and

applying image thresholding.

4 . The quilt-making machine of claim 1 , the operations further comprising filtering the plurality of vectors to determine a subset of vectors, wherein the vector image is based on the determined subset of vectors.

5 . The quilt-making machine of claim 1 , the operations further comprising: identifying two or more adjacent vectors of the received selection of one or more vectors; and

transforming the identified two or more adjacent vectors into a combined vector.

6 . The quilt-making machine of claim 1 , wherein determining a path order based on the received selection of one or more vectors comprises:

determining a first path-to-path order for the received selection of one or more vectors, wherein each of the vectors is representative of a machine movement path;

determining a first traversal distance between paths in the first path-to-path order;

determining a second path-to-path order, different from the first path-to-path order, for the received selection of one or more vectors;

determining a second traversal distance between paths in the second path-to-path order; and

providing the first path-to-path order as the determined path order based on a determination that the first traversal distance is less than the second traversal distance; or

providing the second path-to-path order as the determined path order based on a determination that the second traversal distance is less than the first traversal distance.

7 . The quilt-making machine of claim 1 , wherein the operations further comprise transforming the ordered collection of vector descriptors into an ordered collection of machine control instructions.

8 . The quilt-making machine of claim 1 , wherein the operations further comprise controlling operation of the computer-controlled sewing machine based on the ordered collection of vector descriptors.

9 . A computer-implemented method for arranging a quilt, the method comprising:

receiving a digital bitmap image;

detecting edges in the digital bitmap image;

transforming the detected edges into a plurality of vectors;

displaying, by a graphical user interface, the plurality of vectors as a vector image;

receiving, from a user using the graphical user interface, a selection of one or more vectors of the plurality of vectors;

determining a path order based on the received selection of one or more vectors;

storing, in a non-transitory, computer-readable medium, the determined path order as an ordered collection of vector descriptors;

receiving, from the user using the graphical user interface, a selection of one or more color filters; and

filtering the digital bitmap image based on the received selection of one or more color filters.

10 . The computer-implemented method of claim 9 , wherein detecting edges in the digital bitmap image further comprises one or more of:

performing a gradient-based analysis of the digital bitmap image;

performing a second-order derivative analysis of the digital bitmap image;

performing canny edge detection to the digital bitmap image;

applying a machine learning algorithm to the digital bitmap image;

performing wavelet transformation to the digital bitmap image; and

applying a fuzzy logic algorithm to the digital bitmap image.

11 . The computer-implemented method of claim 9 , further comprising pre-processing the digital bitmap image to enhance edges in the digital bitmap image, wherein the pre-processing comprises one or more of:

converting the digital bitmap image from a color image to a grayscale image;

filtering the digital bitmap image by color;

applying a machine learning algorithm;

despeckling the digital bitmap image;

applying a Fourier transform;

applying Gaussian blur;

applying a bilateral filter;

applying a median filter;

applying histogram equalization;

applying unsharp masking;

performing color space conversion; and

applying image thresholding.

12 . The computer-implemented method of claim 9 , further comprising filtering the plurality of vectors to determine a subset of vectors, wherein the vector image is based on the determined subset of vectors.

13 . The computer-implemented method of claim 9 , further comprising;

identifying two or more adjacent vectors of the received selection of one or more vectors; and

transforming the identified two or more adjacent vectors into a combined vector.

14 . The computer-implemented method of claim 9 , wherein determining a path order based on the received selection of one or more vectors comprises:

determining a first path-to-path order for the received selection of one or more vectors, wherein each of the vectors is representative of a machine movement path;

determining a first traversal distance between paths in the first path-to-path order;

determining a second path-to-path order, different from the first path-to-path order, for the received selection of one or more vectors;

determining a second traversal distance between paths in the second path-to-path order; and

providing the first path-to-path order as the determined path order based on a determination that the first traversal distance is less than the second traversal distance; or

providing the second path-to-path order as the determined path order based on a determination that the second traversal distance is less than the first traversal distance.

15 . The computer-implemented method of claim 9 , further comprising transforming the ordered collection of vector descriptors into an ordered collection of machine control instructions.

16 . The computer-implemented method of claim 9 , further comprising controlling operation of a computer-controlled sewing machine based on the ordered collection of vector descriptors.

17 . A quilt-making machine, comprising:

a computer-controlled sewing machine; and

a quilt arrangement engine comprising one or more processors; and

a non-transitory, computer-readable medium storing one or more machine-readable instructions that, when executed, cause the one or more processors to perform quilt arrangement engine operations, the quilt arrangement engine operations comprising:

receiving a digital bitmap image;

detecting edges in the digital bitmap image;

transforming the detected edges into a plurality of vectors;

displaying, by a graphical user interface, the plurality of vectors as a vector image;

receiving, from a user using the graphical user interface, a selection of one or more vectors of the plurality of vectors;

determining a path order, the determining comprising:

determining a first path-to-path order for the received selection of one or more vectors, wherein each of the vectors is representative of a machine movement path;

determining a first traversal distance between paths in the first path-to-path order;

determining a second path-to-path order, different from the first path-to-path order, for the received selection of one or more vectors;

determining a second traversal distance between paths in the second path-to-path order; and

providing the first path-to-path order as the determined path order based on a determination that the first traversal distance is less than the second traversal distance; or

providing the second path-to-path order as the determined path order based on a determination that the second traversal distance is less than the first traversal distance; and

storing, in a non-transitory, computer-readable medium, the determined path order as an ordered collection of vector descriptors.

18 . The quilt-making machine of claim 17 , wherein the operations further comprise controlling operation of the computer-controlled sewing machine based on the ordered collection of vector descriptors.

19 . A computer-implemented method for arranging a quilt, the method comprising:

receiving a digital bitmap image;

detecting edges in the digital bitmap image;

transforming the detected edges into a plurality of vectors;

displaying, by a graphical user interface, the plurality of vectors as a vector image;

receiving, from a user using the graphical user interface, a selection of one or more vectors of the plurality of vectors;

determining a path order based on the received selection of one or more vectors, wherein determining a path order based on the received selection of one or more vectors comprises:

determining a first path-to-path order for the received selection of one or more vectors, wherein each of the vectors is representative of a machine movement path;

determining a first traversal distance between paths in the first path-to-path order;

determining a second path-to-path order, different from the first path-to-path order, for the received selection of one or more vectors;

determining a second traversal distance between paths in the second path-to-path order; and

providing the first path-to-path order as the determined path order based on a determination that the first traversal distance is less than the second traversal distance; or

providing the second path-to-path order as the determined path order based on a determination that the second traversal distance is less than the first traversal distance; and

storing, in a non-transitory, computer-readable medium, the determined path order as an ordered collection of vector descriptors.

20 . The computer-implemented method of claim 19 , wherein detecting edges in the digital bitmap image further comprises one or more of:

performing a gradient-based analysis of the digital bitmap image;

performing a second-order derivative analysis of the digital bitmap image;

performing canny edge detection to the digital bitmap image;

applying a machine learning algorithm to the digital bitmap image;

performing wavelet transformation to the digital bitmap image; and

applying a fuzzy logic algorithm to the digital bitmap image.

21 . The computer-implemented method of claim 19 , further comprising controlling operation of a computer-controlled sewing machine based on the ordered collection of vector descriptors.