Skip to content

clugen/CluGen.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tests codecov version pkgeval docs MIT

CluGen.jl

CluGen.jl is a Julia implementation of the clugen algorithm for generating multidimensional clusters with arbitrary distributions. Each cluster is supported by a line segment, the position, orientation and length of which guide where the respective points are placed.

See the documentation and examples for more details.

Installation

Pkg.add("CluGen")

Quick start

using CluGen, Plots
o = clugen(2, 4, 400, [1, 0], pi / 8, [20, 10], 10, 1, 1.5)
p = plot(o.points[:, 1], o.points[:, 2], seriestype=:scatter, group=o.clusters)

2D example

o = clugen(3, 4, 1000, [1, 0, 1], pi / 8, [20, 15, 25], 16, 4, 3.5)
p = plot(o.points[:, 1], o.points[:, 2], o.points[:, 3], seriestype=:scatter, group=o.clusters)

3D example

See also

  • pyclugen, a Python implementation of the clugen algorithm.
  • clugenr, an R implementation of the clugen algorithm.
  • MOCluGen, a MATLAB/Octave implementation of the clugen algorithm.

Reference

If you use this software, please cite the following reference:

License

MIT License