Class LinearMemoryNNChain.Instance<O extends elki.data.NumberVector>

  • Type Parameters:
    O - vector type
    Enclosing class:
    LinearMemoryNNChain<O extends elki.data.NumberVector>

    public static class LinearMemoryNNChain.Instance<O extends elki.data.NumberVector>
    extends java.lang.Object
    Main worker instance of NNChain.
    Author:
    Erich Schubert
    • Constructor Detail

      • Instance

        public Instance​(GeometricLinkage linkage)
        Constructor.
        Parameters:
        linkage - Linkage
    • Method Detail

      • nnChainCore

        private void nnChainCore​(elki.database.ids.DBIDArrayIter aIt,
                                 elki.database.ids.DBIDArrayIter aIt2,
                                 ClusterMergeHistoryBuilder builder,
                                 elki.database.relation.Relation<O> rel)
        Core function of NNChain.
        Parameters:
        aIt - Iterator to access relation objects
        aIt2 - Iterator to access relation objects
        builder - Result builder
      • merge

        protected void merge​(int end,
                             double[][] clusters,
                             ClusterMergeHistoryBuilder builder,
                             int[] clustermap,
                             double mindist,
                             int x,
                             int y)
        Execute the cluster merge.
        Parameters:
        end - Active set size
        clusters - Array of cluster centers
        builder - Hierarchy builder
        clustermap - Cluster assignment
        mindist - Distance that was used for merging
        x - First matrix position
        y - Second matrix position