Analyzing an image or other data to obtain a stable number of groups
First Claim
1. A method of operating a machine that includes:
- image input circuitry for obtaining data defining images as input;
memory for storing data; and
a processor connected for receiving data defining images from the image input circuitry and for accessing the memory;
the method comprising;
operating the processor to receive input image data from the image input circuitry, the input image data defining an input image;
operating the processor to use the input image data to obtain initial array data;
the initial array data defining an initial array of value items, each value item indicating a value;
storing the initial array data in the memory;
operating the processor to access the initial array data in the memory and to use the initial array data to obtain gap data indicating one or more gaps between value items in the initial array;
operating the processor to use the gap data to obtain threshold data indicating a threshold;
each gap indicated by the gap data being above or below the threshold;
the threshold data indicating a threshold that would produce a number of groups of the value items;
the number of groups being stable across a range of thresholds;
the range of thresholds meeting a criterion for largeness of a range; and
operating the processor to use the threshold data to obtain grouping data indicating a grouping of the value items in the initial array.
4 Assignments
0 Petitions
Accused Products
Abstract
To group items in an array, gap data are obtained indicating gaps between items. The gap data are used to obtain threshold data, which are then used to obtain grouping data. The gaps could, for example, be distances between items in a two-dimensional array or differences between values at which items occur in a one-dimensional array. The threshold data indicate a threshold. The threshold would produce a number of groups of the items that is stable across a range of thresholds, and the range of thresholds meets a criterion for largeness of a range. The criterion can require, for example, that the range be larger than the stable range of thresholds of any other number in a set of numbers of groups. The threshold can be obtained iteratively by applying a candidate threshold for each iteration. The candidate thresholds can be incremented, and the iterations can be counted to find a number of groups meeting the criterion. Or the candidate thresholds can be increased by differences between gaps, and a running sum of threshold ranges can be used to find a number of groups meeting the criterion. The threshold can also be obtained directly by finding the largest difference between gap extents and obtaining a threshold within the largest difference. Many types of grouping can be performed, including spatial clustering, segmentation of partially bounded regions, segmentation by local width, and global and local similarity grouping.
-
Citations
39 Claims
-
1. A method of operating a machine that includes:
-
image input circuitry for obtaining data defining images as input; memory for storing data; and a processor connected for receiving data defining images from the image input circuitry and for accessing the memory; the method comprising; operating the processor to receive input image data from the image input circuitry, the input image data defining an input image; operating the processor to use the input image data to obtain initial array data;
the initial array data defining an initial array of value items, each value item indicating a value;storing the initial array data in the memory; operating the processor to access the initial array data in the memory and to use the initial array data to obtain gap data indicating one or more gaps between value items in the initial array; operating the processor to use the gap data to obtain threshold data indicating a threshold;
each gap indicated by the gap data being above or below the threshold;
the threshold data indicating a threshold that would produce a number of groups of the value items;
the number of groups being stable across a range of thresholds;
the range of thresholds meeting a criterion for largeness of a range; andoperating the processor to use the threshold data to obtain grouping data indicating a grouping of the value items in the initial array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A machine comprising:
-
memory for storing data; and a processor connected for accessing data stored in the memory; the data stored in the memory comprising initial array data defining an initial array of value items, each value item indicating a value; the data stored in the memory further comprising instruction data indicating grouping instructions the processor can execute;
the processor, in executing the grouping instructions;accessing the initial array data in the memory and using the initial array data to obtain gap data indicating one or more gaps between value items in the initial array; using the gap data to obtain threshold data indicating a threshold;
each gap indicated by the gap data being above or below the threshold;
the threshold data indicating a threshold that would produce a number of groups of the value items;
the number of groups being stable across a range of thresholds;
the range of thresholds meeting a criterion for largeness of a range; andusing the threshold data to obtain grouping data indicating a grouping of the value items in the initial array. - View Dependent Claims (32, 33, 34, 35, 36)
-
-
37. An article of manufacture for use in a machine that includes:
-
a storage medium access device for accessing a medium that stores data; memory for storing data;
the data stored in the memory comprising initial array data defining an initial array of value items, each value item indicating a value; anda processor connected for receiving data from the storage medium access device and also connected for accessing data in the memory; the article comprising; a storage medium that can be accessed by the storage medium access device when the article is used in the machine; and data stored by the storage medium so that the storage medium access device can provide the stored data to the processor when the article is used in the machine;
the stored data comprising instruction data indicating instructions the processor can execute;
the processor, in executing the instructions;accessing the initial array data in the memory and using the initial array data to obtain gap data indicating one or more gaps between value items in the initial array; using the gap data to obtain threshold data indicating a threshold;
each gap indicated by the gap data being above or below the threshold;
the threshold data indicating a threshold that would produce a number of groups of the value items;
the number of groups being stable across a range of thresholds;
the range of thresholds meeting a criterion for largeness of a range; andusing the threshold data to obtain grouping data indicating a grouping of the value items in the initial array.
-
-
38. A method of performing image processing by operating a machine;
- the machine including;
image input circuitry for obtaining data defining images as input; and a processor connected for receiving data defining images from the image input circuitry; the method comprising; operating the processor to receive input image data from the image input circuitry, the input image data defining an input image;
the input image including pixels and features, each feature including a set of the pixels;operating the processor to use the input image data to obtain parameter image data;
the parameter image data indicating, for each pixel in the input image, a value for a parameter that is an attribute of features in the input image;operating the processor to use the parameter image data to obtain threshold data and one-dimensional array data;
the one-dimensional array data defining a one-dimensional array of value items, each value item indicating, for a value of the parameter, whether at least one of the pixels in the input image has the value;
the threshold data indicating a threshold that would produce a number of groups of the value items;
the number of groups being stable across a range of thresholds;
the range of thresholds meeting a criterion for largeness of a range;
the act of using the parameter image data comprising;using the parameter image data to obtain gap data indicating one or more gaps between values of the parameter that occur in the parameter image data; and using the gap data to obtain the threshold data;
each gap indicated by the gap data being above or below the threshold indicated by the threshold data;operating the processor to perform a series of iterations, each iteration handling a value item in the one-dimensional array;
for each iteration after a first iteration in the series, the value item handled by the iteration being advanced by one from the item handled by an immediately preceding iteration;
each iteration;obtaining a distance count for the value item handled by the iteration;
each value item'"'"'s distance count indicating a distance within the one-dimensional array to a value item indicating that at least one of the pixels in the input image has the item'"'"'s value; andif the value item handled by the iteration indicates that at least one of the pixels in the input image has the item'"'"'s value, obtaining a group identifier for the value item;
the act of obtaining a group identifier comprising;if the distance count of the immediately preceding value item is above the threshold, obtaining a new group identifier for the value item; and if the distance count of the immediately preceding value item is below the threshold, obtaining a group identifier for the value item that is the same as a most recently obtained group identifier; and operating the processor to use the group identifiers of the value items to obtain grouped parameter image data;
the grouped parameter image data including, for each pixel for which the parameter image data indicates a non-zero value, the group identifier for the value item in the one-dimensional array for the pixel'"'"'s value.
- the machine including;
-
39. A method of performing image processing by operating a machine;
- the machine including;
image input circuitry for obtaining data defining images as input; and a processor connected for receiving data defining images from the image input circuitry; the method comprising; operating the processor to receive input image data from the image input circuitry, the input image data defining an input image;
the input image including pixels and features, each feature including a set of the pixels;operating the processor to use the input image data to obtain parameter image data;
the parameter image data indicating, for each pixel in the input image, a value for a parameter that is an attribute of features in the input image;operating the processor to use the parameter image data to obtain threshold data and distance image data;
the distance image data indicating, for each pixel in the input image, a distance to a near neighbor;
the threshold data indicating a threshold that would produce a number of groups of the features;
the number of groups being stable across a range of thresholds;
the range of thresholds meeting a criterion for largeness of a range;
the act of using the parameter image data comprising;using the parameter image data to obtain distance data indicating one or more distances between pixels in the input image; and using the distance data to obtain the threshold data;
each distance indicated by the distance data being above or below the threshold indicated by the threshold data;operating the processor to use the threshold data and the distance image data to obtain groups image data indicating, for each pixel, whether it is above or below the threshold;
the act of operating the processor to use the threshold data and the distance image data comprising;comparing the threshold indicated by the threshold data with each pixel'"'"'s value indicated by the distance image data.
- the machine including;
Specification