final boolean cNotSpurious = cclus != null ? cclus.isNotSpurious(minClSize) : (minClSize <= 1 && cIsCore); if(cclus.isNotSpurious(minClSize)) { toplevel.add(cclus.toCluster(dendrogram, it)); final boolean oNotSpurious = oclus != null ? oclus.isNotSpurious(minClSize) : (minClSize <= 1 && oIsCore); oclus.addChild(oclus.toCluster(dendrogram, it)); oclus.addChild(cclus.toCluster(dendrogram, it)); assert (oclus.children.size() == 2); cclus.addDBIDs(oclus.newids); assert (oclus.children.size() == 0); oclus.addDBIDs(cclus.newids); assert (cclus.children.size() == 0); cclus.addChild(cclus.toCluster(dendrogram, it)); oclus.addChild(oclus.toCluster(dendrogram, it)); oclus = new TempCluster(dist); addSingleton(oclus, it, dist, cNotSpurious); addSingleton(oclus, succ, dist, oNotSpurious);
final boolean cNotSpurious = cclus != null ? cclus.isNotSpurious(minClSize) : (minClSize <= 1 && cIsCore); if(cclus.isNotSpurious(minClSize)) { toplevel.add(toCluster(cclus, dendrogram, it)); final boolean oNotSpurious = oclus != null ? oclus.isNotSpurious(minClSize) : (minClSize <= 1 && oIsCore); oclus.addChild(toCluster(oclus, dendrogram, it)); oclus.addChild(toCluster(cclus, dendrogram, it)); assert (oclus.children.size() == 2); cclus.addDBIDs(oclus.newids); assert (oclus.children.isEmpty()); oclus.addDBIDs(cclus.newids); assert (cclus.children.isEmpty()); cclus.addChild(toCluster(cclus, dendrogram, it)); oclus.addChild(toCluster(oclus, dendrogram, it)); oclus = new TempCluster(dist); addSingleton(oclus, it, dist, cNotSpurious); addSingleton(oclus, succ, dist, oNotSpurious);
final boolean cNotSpurious = cclus != null ? cclus.isNotSpurious(minClSize) : (minClSize <= 1 && cIsCore); if(cclus.isNotSpurious(minClSize)) { toplevel.add(toCluster(cclus, dendrogram, it)); final boolean oNotSpurious = oclus != null ? oclus.isNotSpurious(minClSize) : (minClSize <= 1 && oIsCore); oclus.addChild(toCluster(oclus, dendrogram, it)); oclus.addChild(toCluster(cclus, dendrogram, it)); assert (oclus.children.size() == 2); cclus.addDBIDs(oclus.newids); assert (oclus.children.isEmpty()); oclus.addDBIDs(cclus.newids); assert (cclus.children.isEmpty()); cclus.addChild(toCluster(cclus, dendrogram, it)); oclus.addChild(toCluster(oclus, dendrogram, it)); oclus = new TempCluster(dist); addSingleton(oclus, it, dist, cNotSpurious); addSingleton(oclus, succ, dist, oNotSpurious);
/** * Add a singleton object, as point or cluster. * * @param clus Current cluster. * @param id Object to add * @param dist Distance * @param asCluster Add as cluster (or only as id) */ private void addSingleton(TempCluster clus, DBIDRef id, double dist, boolean asCluster) { if(asCluster) { clus.addChild(makeSingletonCluster(id, dist)); } else { clus.add(id); // Add current object } clus.depth = dist; // Update height }
/** * Add a singleton object, as point or cluster. * * @param clus Current cluster. * @param id Object to add * @param dist Distance * @param asCluster Add as cluster (or only as id) */ private void addSingleton(TempCluster clus, DBIDRef id, double dist, boolean asCluster) { if(asCluster) { clus.addChild(makeCluster(id, dist, null)); } else { clus.add(id); // Add current object } clus.depth = dist; // Update height }
/** * Add a singleton object, as point or cluster. * * @param clus Current cluster. * @param id Object to add * @param dist Distance * @param asCluster Add as cluster (or only as id) */ private void addSingleton(TempCluster clus, DBIDRef id, double dist, boolean asCluster) { if(asCluster) { clus.addChild(makeCluster(id, dist, null)); } else { clus.add(id); // Add current object } clus.depth = dist; // Update height }