40 #ifndef OPENMS_COMPARISON_CLUSTERING_CLUSTERINGGRID_H
41 #define OPENMS_COMPARISON_CLUSTERING_CLUSTERINGGRID_H
71 ClusteringGrid(
const std::vector<double> &grid_spacing_x,
const std::vector<double> &grid_spacing_y);
76 std::vector<double> getGridSpacingX()
const;
81 std::vector<double> getGridSpacingY()
const;
89 void addCluster(
const CellIndex &cell_index,
const int &cluster_index);
98 void removeCluster(
const CellIndex &cell_index,
const int &cluster_index);
103 void removeAllClusters();
111 std::list<int> getClusters(
const CellIndex &cell_index)
const;
130 bool isNonEmptyCell(
const CellIndex &cell_index)
const;
137 int getCellCount()
const;
155 std::map<CellIndex, std::list<int> >
cells_;
std::pair< int, int > CellIndex
Definition: ClusteringGrid.h:57
std::pair< double, double > range_x_
[min, max] of the grid in x and y direction
Definition: ClusteringGrid.h:149
DPosition< 2 > Point
Definition: ClusteringGrid.h:62
std::map< CellIndex, std::list< int > > cells_
grid cell index mapped to a list of clusters in it
Definition: ClusteringGrid.h:155
std::pair< double, double > range_y_
Definition: ClusteringGrid.h:150
const std::vector< double > grid_spacing_y_
Definition: ClusteringGrid.h:144
data structure to store 2D data to be clustered e.g. (m/z, retention time) coordinates from multiplex...
Definition: ClusteringGrid.h:51
const std::vector< double > grid_spacing_x_
spacing of the grid in x and y direction
Definition: ClusteringGrid.h:143