libvot  0.1.3
A C++11 multithread library for image retrieval
Namespaces | Functions
clustering.cpp File Reference

clustering algorithms, such as k-means, implementations More...

#include <iostream>
#include <limits>
#include <cassert>
#include <vector>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <thread>
#include <algorithm>
#include "clustering.h"

Namespaces

 tw
 namespace tw is mostly related to some utility functions developed by the repository owner, Tianwei Shen.
 

Functions

void tw::GetIntialCenters (size_t n, int k, size_t *initial_idx)
 
void tw::CopyDes2Double (double *dst, DTYPE *src, int length)
 
double tw::DisDes2Double (double *dst, DTYPE *src, int length)
 
void tw::MultiComputeAssignment (size_t num, int dim, int k, DTYPE **des, double *means, int *assignment, double *error_out, size_t *changed_num)
 
size_t tw::ComputeAssignment (size_t num, int dim, int k, DTYPE **p, double *means, int *assignment, double &error_out, int thread_num)
 Compute new assignment for each feature points. More...
 
void tw::MultiDesAccumulation (size_t num, int dim, int k, DTYPE **p, int *assignment_curr, double *totals, size_t *counts)
 Accumulate the feature descriptors to the total, a subroutine used by multi-threaded version of ComputeMeans. More...
 
void tw::ComputeMeans (size_t num, int dim, int k, DTYPE **p, int *assignment_curr, double *means_curr, int thread_num)
 Compute new means for each cluster. More...
 
double tw::ComputeError (size_t num, int dim, int k, DTYPE **p, double *means, int *assignment)
 
double tw::Kmeans (size_t num, int dim, int k, DTYPE **p, double *means, int *assignment, int thread_num)
 

Detailed Description

clustering algorithms, such as k-means, implementations