Hierarchical clustering using correlation metric and spatial continuity constraint
AssigneeSandia Corporation
InventorsChristopher L. Stork, Luke N. Brewer
Life of this patent
Estimating the term…
Abstract
Large data sets are analyzed by hierarchical clustering using correlation as a similarity measure. This provides results that are superior to those obtained using a Euclidean distance similarity measure. A spatial continuity constraint may be applied in hierarchical clustering analysis of images.
Claims17
A computer-implemented method for processing a data set composed of a plurality of data vectors that each includes a plurality of data values respectively associated with a plurality of variables in a variable space, comprising:
- Populating a first data structure with a plurality of entries that correspond to respective ones of said data vectors;
- and
- iteratively repeating operations of:
- performing correlation calculations to determine for every pair of entries in said first data structure a correlation value indicative of a correlation between the associated pair of data vectors,
- using the correlation values to identify one said pair of entries that has an associated pair of data vectors are closer to one another in the variable space than any other pair of data vectors associated with any other pair of entries,
- recording the identified pair of entries in a second data structure,
- merging the pair of data vectors associated with the identified pair of entries to define a merged data vector, and
- replacing the identified pair of entries in the first data structure with an entry corresponding to the merged data vector.
A computer-readable storage medium which provides instructions that, when executes by a machine, cause the machine to perform operations to process a data set composed of a plurality of data vectors that each includes a plurality of data values respectively associated with a plurality of variables in a variable space, said operations comprising:
- Populating a first data structure with a plurality of entries that correspond to respective ones of said data vectors;
- and
- iteratively repeating operations of:
- performing correlation calculations to determine for every pair of entries in said first data structure a correlation value indicative of a correlation between the associated pair of data vectors,
- using the correlation values to identify one said pair of entries that has an associated pair of data vectors are closer to one another in the variable space than any other pair of data vectors associated with any other pair of entries,
- recording the identified pair of entries in a second data structure,
- merging the pair of data vectors associated with the identified pair of entries to define a merged data vector, and
- replacing the identified pair of entries in the first data structure with an entry corresponding to the merged data vector.
An apparatus for processing a data set composed of a plurality of data vectors that each includes a plurality of data values respectively associated with a plurality of variables in a variable space, comprising:
- An input for receiving said plurality of data vectors;
- and
- A data processing apparatus coupled to said input, said data processing apparatus configured to
- Populating a first data structure with a plurality of entries that correspond to respective ones of said data vectors;
- and
- iteratively repeating operations of:
- performing correlation calculations to determine for every pair of entries in said first data structure a correlation value indicative of a correlation between the associated pair of data vectors,
- using the correlation values to identify one said pair of entries that has an associated pair of data vectors are closer to one another in the variable space than any other pair of data vectors associated with any other pair of entries,
- recording the identified pair of entries in a second data structure,
- merging the pair of data vectors associated with the identified pair of entries to define a merged data vector, and
- replacing the identified pair of entries in the first data structure with an entry corresponding to the merged data vector.
A computer-implemented method for processing an image represented by an array of pixel vectors that each represents a respective spatial portion of the image and includes a plurality of data values respectively associated with a plurality of variables in an image variable space, comprising:
- populating a first data structure with a plurality of entries that correspond to respective to respective ones of said pixel vectors;
- and
- iteratively performing operations of:
- for each entry in the first data structure, using a proximity metric to associate the entry with another entry and thereby identify a pair of entries, wherein said another entry is selected from a subset of entries that has an respectively associated pixel vectors represent spatial portions of the image that respectively border a spatial
- portion of the image represented by the pixel vector associated with the entry, and wherein the pixel vector associated with said another entry is, among the pixel vectors associated with the subset of entries, closest in the image variable space to the pixel vector associated with the entry,
- using the proximity metric to identify one said pair of entries whose associated pair of pixel vectors are closer to one another in the image variable space than any other pair of pixel vectors associated with any other pair of entries,
- recording the identified pair of entries in a second data structure,
- merging the pair of pixel vectors associated with the identified pair of entries to define a merged pixel vector that represents a spatial portion of the image jointly represented by the pair of pixel vectors associated with the identified pair of entries, and
- replacing the identified pair of entries in the first data structure with an entry corresponding to the merged pixel vector.
A computer-readable storage medium which provides instructions that, when executes by a machine, cause the machine to perform operations to process an image represented by an array of pixel vectors that each represents a respective spatial portion of the image and includes a plurality of data values respectively associated with a plurality of variables in an image variable space, said operations comprising:
- populating a first data structure with a plurality of entries that correspond to respective to respective ones of said pixel vectors;
- and
- iteratively performing operations of:
- for each entry in the first data structure, using a proximity metric to associate the entry with another entry and thereby identify a pair of entries, wherein said another entry is selected from a subset of entries that has an respectively associated pixel vectors represent spatial portions of the image that respectively border a spatial
- portion of the image represented by the pixel vector associated with the entry, and wherein the pixel vector associated with said another entry is, among the pixel vectors associated with the subset of entries, closest in the image variable space to the pixel vector associated
- with the entry,
- using the proximity metric to identify one said pair of entries whose associated pair of pixel vectors are closer to one another in the image variable space than any other pair of pixel vectors associated with any other pair of entries,
- recording the identified pair of entries in a second data structure,
- merging the pair of pixel vectors associated with the identified pair of entries to define a merged pixel vector that represents a spatial portion of the image jointly represented by the pair of pixel vectors associated with the identified pair of entries, and
- replacing the identified pair of entries in the first data structure with an entry corresponding to the merged pixel vector.
An apparatus for processing an image represented by an array of pixel vectors that each represents a respective spatial portion of the image and includes a plurality of data values respectively associated with a plurality of variables in an image variable space, comprising:
- populating a first data structure with a plurality of entries that correspond to respective to respective ones of said pixel vectors;
- and
- iteratively performing operations of:
- for each entry in the first data structure, using a proximity metric to associate the entry with another entry and thereby identify a pair of entries, wherein said another entry is selected from a subset of entries that has an respectively associated pixel vectors represent spatial portions of the image that respectively border a spatial portion of the image represented by the pixel vector associated with the entry, and wherein the pixel vector associated with said another entry is, among the pixel vectors associated with the subset of entries, closest in the image variable space to the pixel vector associated with the entry,
- using the proximity metric to identify one said pair of entries whose associated pair of pixel vectors are closer to one another in the image variable space than any other pair of pixel vectors associated with any other pair of entries,
- recording the identified pair of entries in a second data structure,
- merging the pair of pixel vectors associated with the identified pair of entries to define a merged pixel vector that represents a spatial portion of the image jointly represented by the pair of pixel vectors associated with the identified pair of entries, and
- replacing the identified pair of entries in the first data structure with an entry corresponding to the merged pixel vector.
Dependencies are inferred from the claim text.