Package elki.clustering.dbscan.parallel
Class ParallelGeneralizedDBSCAN.Instance<T>
- java.lang.Object
-
- elki.clustering.dbscan.parallel.ParallelGeneralizedDBSCAN.Instance<T>
-
- All Implemented Interfaces:
elki.parallel.processor.Processor
- Enclosing class:
- ParallelGeneralizedDBSCAN
public static class ParallelGeneralizedDBSCAN.Instance<T> extends java.lang.Object implements elki.parallel.processor.ProcessorInstance for a particular data set.- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classParallelGeneralizedDBSCAN.Instance.MapperInstance to process part of the data set, for a single iteration.
-
Field Summary
Fields Modifier and Type Field Description private Border[]bordersBorder objects (shared)private elki.database.datastore.WritableDataStore<Assignment>clusteridsCluster assignment storage.protected booleancoremodelTrack which objects are "core" objects.protected CorePredicate.Instance<? super T>corepredThe core object propertyprivate Core[]coresCore objects (shared)private elki.database.DatabasedatabaseDatabase for cloning neighbor predicates.private intnextclusNext cluster number assigned.protected NeighborPredicate.Instance<T>npredThe neighborhood predicateprivate NeighborPredicate<? extends T>npredsFactory for neighbor predicates.private elki.logging.progress.FiniteProgressprogressProgress logger.
-
Constructor Summary
Constructors Constructor Description Instance(elki.database.Database database, NeighborPredicate<T> npreds, CorePredicate<? super T> corepred, boolean coremodel)Full Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanup(elki.parallel.processor.Processor.Instance inst)ParallelGeneralizedDBSCAN.Instance.Mapperinstantiate(elki.parallel.Executor executor)protected voidprocessNeighbors(elki.database.ids.DBIDRef id, T neighbors)Synchronize function to process the neighbors.Clustering<Model>run()Run the parallel GDBSCAN algorithm.
-
-
-
Field Detail
-
npred
protected final NeighborPredicate.Instance<T> npred
The neighborhood predicate
-
corepred
protected final CorePredicate.Instance<? super T> corepred
The core object property
-
coremodel
protected boolean coremodel
Track which objects are "core" objects.
-
clusterids
private elki.database.datastore.WritableDataStore<Assignment> clusterids
Cluster assignment storage.
-
cores
private Core[] cores
Core objects (shared)
-
borders
private Border[] borders
Border objects (shared)
-
nextclus
private int nextclus
Next cluster number assigned.
-
database
private elki.database.Database database
Database for cloning neighbor predicates.
-
npreds
private NeighborPredicate<? extends T> npreds
Factory for neighbor predicates.
-
progress
private elki.logging.progress.FiniteProgress progress
Progress logger.
-
-
Constructor Detail
-
Instance
public Instance(elki.database.Database database, NeighborPredicate<T> npreds, CorePredicate<? super T> corepred, boolean coremodel)Full Constructor- Parameters:
database- Database to processnpreds- Neighborhood predicatecorepred- Core object predicatecoremodel- Keep track of core points.
-
-
Method Detail
-
run
public Clustering<Model> run()
Run the parallel GDBSCAN algorithm.- Returns:
- Clustering result
-
processNeighbors
protected void processNeighbors(elki.database.ids.DBIDRef id, T neighbors)Synchronize function to process the neighbors.- Parameters:
id- Current pointneighbors- Neighbors
-
instantiate
public ParallelGeneralizedDBSCAN.Instance.Mapper instantiate(elki.parallel.Executor executor)
- Specified by:
instantiatein interfaceelki.parallel.processor.Processor
-
cleanup
public void cleanup(elki.parallel.processor.Processor.Instance inst)
- Specified by:
cleanupin interfaceelki.parallel.processor.Processor
-
-