18#include <unordered_map>
49 ClusteringGrid(
const std::vector<double> &grid_spacing_x,
const std::vector<double> &grid_spacing_y);
data structure to store 2D data to be clustered e.g. (m/z, retention time) coordinates from multiplex...
Definition ClusteringGrid.h:30
const std::vector< double > grid_spacing_y_
Definition ClusteringGrid.h:123
CellIndex getIndex(const Point &position) const
returns grid cell index (i,j) for the positions (x,y)
void removeCluster(const CellIndex &cell_index, const int &cluster_index)
removes a cluster from this grid cell and removes the cell if no other cluster left
int getCellCount() const
returns number of grid cells occupied by one or more clusters
const std::list< int > & getClusters(const CellIndex &cell_index) const
returns clusters in this grid cell
const std::vector< double > grid_spacing_x_
spacing of the grid in x and y direction
Definition ClusteringGrid.h:122
std::vector< double > getGridSpacingY() const
returns grid spacing in y direction
std::pair< int, int > CellIndex
Definition ClusteringGrid.h:35
std::unordered_map< CellIndex, std::list< int >, CellIndexHash > cells_
grid cell index mapped to a list of clusters in it (only cells with clusters)
Definition ClusteringGrid.h:142
void removeAllClusters()
removes all clusters from this grid (and hence all cells)
ClusteringGrid(const std::vector< double > &grid_spacing_x, const std::vector< double > &grid_spacing_y)
constructor taking two vectors
bool isNonEmptyCell(const CellIndex &cell_index) const
checks if there are clusters at this cell index
void addCluster(const CellIndex &cell_index, const int &cluster_index)
adds a cluster to this grid cell
std::pair< double, double > range_x_
[min, max] of the grid in x and y direction
Definition ClusteringGrid.h:128
std::pair< double, double > range_y_
Definition ClusteringGrid.h:129
DPosition< 2 > Point
Definition ClusteringGrid.h:40
std::vector< double > getGridSpacingX() const
returns grid spacing in x direction
Representation of a coordinate in D-dimensional space.
Definition DPosition.h:32
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
hash of a cell index
Definition ClusteringGrid.h:135
size_t operator()(const CellIndex &cell_index) const noexcept