Ocean
|
This class implements simple clustering functions for image information. More...
Data Structures | |
class | Cluster |
This class implements a single cluster for 3 channel 24 bit data objects. More... | |
class | Data |
This class implements a single data to be clustered. More... | |
class | Segmentation |
This class implements the management of clusters. More... | |
Public Types | |
typedef std::vector< Data > | Datas |
Definition of a vector holding data object. More... | |
typedef std::vector< Cluster > | Clusters |
Definition of a vector holding cluster objects. More... | |
Static Public Member Functions | |
static Segmentation | findRandomClusteringOneIteration (const Datas &datas, const unsigned int clusterRadius, RandomGenerator &randomGenerator, const size_t expectedClusters=20) |
Determines a random cluster for data elements by application of one seeking iteration. More... | |
static Segmentation | findRandomClusteringTwoIterations (const Datas &datas, const unsigned int clusterRadius, RandomGenerator &randomGenerator, const size_t expectedClusters=20) |
Determines a random cluster for data elements by application of two seeking iterations. More... | |
static Segmentation | findOptimalRandomClustering (const Datas &datas, const unsigned int clusterRadius, RandomGenerator &randomGenerator, const unsigned int iterations=10u, Worker *worker=nullptr, const bool oneIteration=true) |
Determines an optimal cluster from a set of random clusters for 3 channel 24 bit data elements. More... | |
Static Private Member Functions | |
static void | findOptimalRandomClusteringSubset (const Datas *datas, const unsigned int clusterRadius, RandomGenerator *randomGenerator, Segmentation *segmentation, const bool oneIteration, const unsigned int firstIteration, const unsigned int numberIterations, const unsigned int iterationIndex) |
Determines an optimal cluster from a set of random clusters for 3 channel 24 bit data elements. More... | |
This class implements simple clustering functions for image information.
tChannels | The number of data channels of the image information to be clustered, with range [1, infinity) |
typedef std::vector<Cluster> Ocean::CV::Segmentation::Clustering< tChannels >::Clusters |
Definition of a vector holding cluster objects.
typedef std::vector<Data> Ocean::CV::Segmentation::Clustering< tChannels >::Datas |
Definition of a vector holding data object.
|
static |
Determines an optimal cluster from a set of random clusters for 3 channel 24 bit data elements.
datas | The data objects to distribute into clusters |
clusterRadius | Radius of a single cluster |
randomGenerator | Random number generator |
iterations | The number of clustering steps, with range [1, infinity) |
worker | Optional worker object to distribute the computation |
oneIteration | State determining whether one ore two seeking iterations are applied for each individual clustering step |
|
staticprivate |
Determines an optimal cluster from a set of random clusters for 3 channel 24 bit data elements.
datas | The data objects to distribute into clusters |
clusterRadius | Radius of a single cluster |
randomGenerator | Random number generator |
segmentation | Resulting optimal segmentation |
oneIteration | State determining whether one or two seeking iterations are executed for each clustering |
firstIteration | First iteration to be handled |
numberIterations | Number iterations to be handled |
iterationIndex | Iteration index |
|
static |
Determines a random cluster for data elements by application of one seeking iteration.
datas | The data objects to distribute into clusters |
clusterRadius | Radius of each cluster |
randomGenerator | Random number generator |
expectedClusters | Optional number of expected clusters allowing to reserve enough space in the beginning |
|
static |
Determines a random cluster for data elements by application of two seeking iterations.
The first iteration determines all elements belonging to a randomly selected cluster element.
The second iteration seeks all element belonging to the average data as determined by the first iteration.
datas | The data objects to distribute into clusters |
clusterRadius | Radius of each cluster |
randomGenerator | Random number generator |
expectedClusters | Optional number of expected clusters allowing to reserve enough space in the beginning |