fast kmeans clustering for 2D or 3D point clouds

Description

fast kmeans clustering for 2D or 3D point clouds - with the primary purpose to get a spatially equally distributed samples

Usage

1
fastKmeans(x, k, iter.max = 10, project = TRUE, threads = 0)

Arguments

x

matrix containing coordinates or mesh3d

k

number of clusters

iter.max

maximum number of iterations

project

logical: if x is a triangular mesh, the centers will be projected onto the surface.

threads

integer number of threads to use

Value

returns a list containing

selected

coordinates closest to the final centers

centers

cluster center

class

vector with cluster association for each coordinate

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
require(Rvcg);require(rgl)
data(humface)
set.seed(42)
clust <- fastKmeans(humface,k=1000,threads=1)
## Not run: 
require(rgl)

## plot the cluster centers
spheres3d(clust$centers)

## now look at the vertices closest to the centers
wire3d(humface)
spheres3d(vert2points(humface)[clust$selected,],col=2)

## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.