28 #include "density_clustering.hpp"
32 #include <boost/program_options.hpp>
34 namespace Clustering {
42 std::vector<std::size_t>
44 const std::size_t n_rows,
45 const std::size_t n_cols,
47 const int mpi_n_nodes,
48 const int mpi_node_id);
51 std::map<float, std::vector<std::size_t>>
53 const std::size_t n_rows,
54 const std::size_t n_cols,
55 std::vector<float> radii,
56 const int mpi_n_nodes,
57 const int mpi_node_id);
60 std::tuple<Neighborhood, Neighborhood>
62 const std::size_t n_rows,
63 const std::size_t n_cols,
64 const std::vector<float>& free_energy,
65 const int mpi_n_nodes,
66 const int mpi_node_id);
71 const std::size_t n_cols,
72 const std::vector<FreeEnergy>& sorted_fe,
73 const std::size_t i_frame,
74 const std::size_t limit,
76 const int mpi_n_nodes,
77 const int mpi_node_id);
81 main(boost::program_options::variables_map args);
const int MAIN_PROCESS
identify MPI process 0 as main process
std::tuple< Neighborhood, Neighborhood > nearest_neighbors(const float *coords, const std::size_t n_rows, const std::size_t n_cols, const std::vector< float > &free_energy, const int mpi_n_nodes, const int mpi_node_id)
void main(boost::program_options::variables_map args)
std::vector< std::size_t > calculate_populations(const float *coords, const std::size_t n_rows, const std::size_t n_cols, const float radius, const int mpi_n_nodes, const int mpi_node_id)
std::set< std::size_t > high_density_neighborhood(const float *coords, const std::size_t n_cols, const std::vector< FreeEnergy > &sorted_fe, const std::size_t i_frame, const std::size_t limit, const float max_dist, const int mpi_n_nodes, const int mpi_node_id)