17 m_clustersValid(false),
43 std::cout.precision(6);
67 double max_delta = overall_max - overall_min;
70 double* variances =
new double [numClusters];
72 double interm_samples = (overall_max - overall_min) / numClusters;
73 double mean_i = overall_min + interm_samples / 2.0;
74 double bound = overall_min;
79 bound += interm_samples;
83 mean_i += interm_samples;
89 double delta, min_delta;
92 bool converged =
false;
95 while (!converged && (iters < max_iters))
117 if (delta < min_delta)
149 variances[gid] = 0.0;
181 cout<<
"\nossimKMeansClustering Summary ("<<iters<<
" iterations):"<<endl;
184 cout<<
"\n cluster["<<gid<<
"] n = "<<(int)
m_clusters[gid].
n<<endl;
186 cout<<
" sigma = "<<
m_clusters[gid].sigma<<endl;
194 delete [] priorCounts;
double getMaxValue(ossim_uint32 groupId) const
#define OSSIM_DEFAULT_MAX_PIX_DOUBLE
double nan()
Method to return ieee floating point double precision NAN.
ossim_uint32 m_numEntries
const ossimKMeansClustering::Cluster * getCluster(ossim_uint32 i) const
#define OSSIM_DEFAULT_MIN_PIX_DOUBLE
os2<< "> n<< " > nendobj n
void setNumClusters(ossim_uint32 K)
unsigned int ossim_uint32
std::vector< Cluster > m_clusters
double getSigma(ossim_uint32 groupId) const
double getMean(ossim_uint32 groupId) const
double getMinValue(ossim_uint32 groupId) const