Class DBSCAN.Instance

  • Enclosing class:
    DBSCAN<O>

    private class DBSCAN.Instance
    extends java.lang.Object
    Instance for a single data set.
    Author:
    Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected elki.logging.progress.IndefiniteProgress clusprog
      Progress for clusters (may be null).
      protected long ncounter
      Number of neighbors.
      protected elki.database.ids.ModifiableDoubleDBIDList neighbors
      Neighbor query output.
      protected elki.database.ids.ModifiableDBIDs noise
      Holds a set of noise.
      protected elki.logging.progress.FiniteProgress objprog
      Progress for objects (may be null).
      protected elki.database.ids.ModifiableDBIDs processedIDs
      Holds a set of processed ids.
      protected elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef> rangeQuery
      Range query to use.
      protected java.util.List<elki.database.ids.ModifiableDBIDs> resultList
      Holds a list of clusters found.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Instance()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void expandCluster​(elki.database.ids.DBIDRef startObjectID, elki.database.ids.ArrayModifiableDBIDs seeds)
      DBSCAN-function expandCluster.
      private void processNeighbors​(elki.database.ids.DoubleDBIDList neighbors, elki.database.ids.ModifiableDBIDs currentCluster, elki.database.ids.ArrayModifiableDBIDs seeds)
      Process a single core point.
      protected void run​(elki.database.relation.Relation<O> relation, elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef> rangeSearcher)
      Run the DBSCAN algorithm
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.
    • Constructor Detail

      • Instance

        private Instance()
    • 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 relation
        rangeSearcher - 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 cluster
        seeds - 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 - Neighbors
        currentCluster - Current cluster
        seeds - Seed set