Package elki.clustering.dbscan
Class DBSCAN.Instance
- java.lang.Object
-
- elki.clustering.dbscan.DBSCAN.Instance
-
-
Field Summary
Fields Modifier and Type Field Description protected elki.logging.progress.IndefiniteProgressclusprogProgress for clusters (may be null).protected longncounterNumber of neighbors.protected elki.database.ids.ModifiableDoubleDBIDListneighborsNeighbor query output.protected elki.database.ids.ModifiableDBIDsnoiseHolds a set of noise.protected elki.logging.progress.FiniteProgressobjprogProgress for objects (may be null).protected elki.database.ids.ModifiableDBIDsprocessedIDsHolds a set of processed ids.protected elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef>rangeQueryRange query to use.protected java.util.List<elki.database.ids.ModifiableDBIDs>resultListHolds a list of clusters found.
-
Constructor Summary
Constructors Modifier Constructor Description privateInstance()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidexpandCluster(elki.database.ids.DBIDRef startObjectID, elki.database.ids.ArrayModifiableDBIDs seeds)DBSCAN-function expandCluster.private voidprocessNeighbors(elki.database.ids.DoubleDBIDList neighbors, elki.database.ids.ModifiableDBIDs currentCluster, elki.database.ids.ArrayModifiableDBIDs seeds)Process a single core point.protected voidrun(elki.database.relation.Relation<O> relation, elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef> rangeSearcher)Run the DBSCAN algorithm
-
-
-
Field Detail
-
resultList
protected java.util.List<elki.database.ids.ModifiableDBIDs> resultList
Holds a list of clusters found.
-
noise
protected elki.database.ids.ModifiableDBIDs noise
Holds a set of noise.
-
processedIDs
protected elki.database.ids.ModifiableDBIDs processedIDs
Holds a set of processed ids.
-
ncounter
protected long ncounter
Number of neighbors.
-
objprog
protected elki.logging.progress.FiniteProgress objprog
Progress for objects (may be null).
-
clusprog
protected elki.logging.progress.IndefiniteProgress clusprog
Progress for clusters (may be null).
-
rangeQuery
protected elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef> rangeQuery
Range query to use.
-
neighbors
protected final elki.database.ids.ModifiableDoubleDBIDList neighbors
Neighbor query output.
-
-
Method Detail
-
run
protected void run(elki.database.relation.Relation<O> relation, elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef> rangeSearcher)
Run the DBSCAN algorithm- Parameters:
relation- Data relationrangeSearcher- Range query class
-
expandCluster
protected void expandCluster(elki.database.ids.DBIDRef startObjectID, elki.database.ids.ArrayModifiableDBIDs seeds)DBSCAN-function expandCluster.Border-Objects become members of the first possible cluster.
- Parameters:
startObjectID- potential seed of a new potential clusterseeds- Array to store the current seeds
-
processNeighbors
private void processNeighbors(elki.database.ids.DoubleDBIDList neighbors, elki.database.ids.ModifiableDBIDs currentCluster, elki.database.ids.ArrayModifiableDBIDs seeds)Process a single core point.- Parameters:
neighbors- NeighborscurrentCluster- Current clusterseeds- Seed set
-
-