gives an array in which all identical elements of array are replaced by an integer index representing the component in which the element lies.
finds the identical elements at the specified level in array
uses a rule or a list of rules for specifying the labels.
Background & Context
- ArrayComponents gives an array in which all identical elements of an input array are replaced by an integer index (or "label") representing the component in which the element lies. The indices start at 1 and run consecutively through the number of distinct array elements. A special exception is that any occurrences of 0 and None are labeled with 0.
- ArrayComponents works on lists, two-dimensional arrays, and arrays of arbitrary rank. It can be used to find identical elements at a specified level (e.g. rows in an array). Specific relabeling rules may also be specified.
- ArrayComponents is useful to canonicalize label matrices that are produced from segmentation algorithms. While segmentation algorithms in the Wolfram Language generally return a canonicalized array, functions like DeleteSmallComponents, DeleteBorderComponents, and SelectComponents may delete some indices. ArrayComponents can then be used to relabel using exactly the integers 1 through n for the n remaining components.
- Component measurements and selections such as ComponentMeasurements and SelectComponents can be applied to the result of ArrayComponents for 2D and 3D label matrices.
- ClusteringComponents provides a generalization of ArrayComponents that corresponds to ArrayComponents when the number of clusters is specified as the number of distinct elements in the input array.