Пример #1
0
 /**
  * Get the clusters
  * @return both merged and unique clusters in a single map.
  */
 ClusterRegister::MapCluster ClusterRegister::clusters() const
 {
   MapCluster temp;
   temp.insert(m_Impl->m_unique.begin(), m_Impl->m_unique.end());
   auto mergedClusters = m_Impl->makeCompositeClusters();
   for(auto i = mergedClusters.begin(); i != mergedClusters.end(); ++i)
   {
     const auto&  merged = *i;
     temp.insert(std::make_pair( merged->getLabel(), merged));
   }
   return temp;
 }
Пример #2
0
 /**
  * Get the clusters. Also set the elements to the uniform minimum of each cluster.
  * @param elements
  * @return: Map of merged clusters.
  */
 ClusterRegister::MapCluster ClusterRegister::clusters(std::vector<DisjointElement>& elements) const
 {
   MapCluster temp;
   temp.insert(m_Impl->m_unique.begin(), m_Impl->m_unique.end());
   auto mergedClusters = m_Impl->makeCompositeClusters();
   for(auto i = mergedClusters.begin(); i != mergedClusters.end(); ++i)
   {
     const auto&  merged = *i;
     merged->toUniformMinimum(elements);
     temp.insert(std::make_pair( merged->getLabel(), merged));
   }
   return temp;
 }
Пример #3
0
/**
 * Get the clusters
 * @return both merged and unique clusters in a single map.
 */
ClusterRegister::MapCluster ClusterRegister::clusters() const {
  MapCluster temp;
  temp.insert(m_Impl->m_unique.begin(), m_Impl->m_unique.end());
  auto mergedClusters = m_Impl->makeCompositeClusters();
  for (const auto &merged : mergedClusters) {
    temp.emplace(merged->getLabel(), merged);
  }
  return temp;
}
Пример #4
0
/**
 * Get the clusters. Also set the elements to the uniform minimum of each
 * cluster.
 * @param elements
 * @return: Map of merged clusters.
 */
ClusterRegister::MapCluster
ClusterRegister::clusters(std::vector<DisjointElement> &elements) const {
  MapCluster temp;
  temp.insert(m_Impl->m_unique.begin(), m_Impl->m_unique.end());
  auto mergedClusters = m_Impl->makeCompositeClusters();
  for (auto &merged : mergedClusters) {
    merged->toUniformMinimum(elements);
    temp.emplace(merged->getLabel(), merged);
  }
  return temp;
}