@Override public void processNewResult(ResultHierarchy hier, Result newResult) { ArrayList<PointerHierarchyRepresentationResult> hrs = ResultUtil.filterResults(hier, newResult, PointerHierarchyRepresentationResult.class); for(PointerHierarchyRepresentationResult pointerresult : hrs) { DBIDs ids = pointerresult.getDBIDs(); DBIDDataStore pi = pointerresult.getParentStore(); DoubleDataStore lambda = pointerresult.getParentDistanceStore(); Clustering<DendrogramModel> result = inner.extractClusters(ids, pi, lambda); pointerresult.addChildResult(result); } }
@Override public Clustering<DendrogramModel> run(Database database) { PointerHierarchyRepresentationResult pointerresult = algorithm.run(database); DBIDs ids = pointerresult.getDBIDs(); DBIDDataStore pi = pointerresult.getParentStore(); DoubleDataStore lambda = pointerresult.getParentDistanceStore(); Clustering<DendrogramModel> result = extractClusters(ids, pi, lambda); result.addChildResult(pointerresult); return result; }