9 #ifndef IMPMULTIFIT_DATA_POINTS_ASSIGNMENT_H
10 #define IMPMULTIFIT_DATA_POINTS_ASSIGNMENT_H
18 #include <IMP/statistics/internal/ClusteringEngine.h>
19 #include <IMP/statistics/internal/DataPoints.h>
21 #include <IMP/multifit/multifit_config.h>
23 IMPMULTIFIT_BEGIN_NAMESPACE
24 typedef std::map<IntPair, int> CEdges;
31 const IMP::statistics::internal::XYZDataPoints *data,
32 const IMP::statistics::internal::ClusteringEngine *cluster_engine);
35 int get_number_of_clusters()
const {
return cluster_sets_.size(); }
41 for (
int i = 0; i < get_number_of_clusters(); i++) {
42 IMP::statistics::internal::Array1DD xyz = cluster_engine_->get_center(i);
47 const IMP::statistics::internal::ClusteringEngine *get_cluster_engine()
49 return cluster_engine_;
56 void connect_clusters(
int c1,
int c2);
57 void set_edges(
double voxel_size = 3.);
61 std::vector<algebra::Vector3Ds> cluster_sets_;
62 const IMP::statistics::internal::ClusteringEngine *cluster_engine_;
67 IMPMULTIFITEXPORT
void write_chimera(
const std::string &chimera_filename,
70 IMPMULTIFITEXPORT std::pair<algebra::Vector3Ds, CEdges> read_cmm(
71 const std::string &cmm_filename);
75 IMPMULTIFITEXPORT std::pair<algebra::Vector3Ds, CEdges> read_cmm(
76 const std::string &cmm_filename);
83 IMPMULTIFITEXPORT
void write_pdb(
const std::string &pdb_filename,
87 const std::string &filename);
90 const std::string &filename);
101 const std::string &filename);
106 const std::string &filename);
113 IMPMULTIFIT_END_NAMESPACE
void write_segments_as_mrc(em::DensityMap *dmap, const DataPointsAssignment &dpa, Float resolution, Float apix, Float threshold, const std::string &filename)
Write segments in MRC format.
IntPairs get_edges(const BoundingBoxD< 3 > &)
Return the edges of the box as indices into the vertices list.
Decorator for helping deal with a hierarchy of molecules.
Class for handling density maps.
functionality for defining rigid bodies
Handling of data for anchor points segmentation.
double Float
Basic floating-point value (could be float, double...)