1 #ifndef GENESIS_PLACEMENT_FUNCTION_EPCA_H_
2 #define GENESIS_PLACEMENT_FUNCTION_EPCA_H_
49 class DefaultNodeData;
50 class DefaultEdgeData;
56 class PlacementEdgeData;
57 class PlacementNodeData;
135 bool include_leaves =
false,
176 double epsilon = 1e-5
193 double epsilon = 1e-5,
194 size_t components = 0
200 #endif // include guard
Tree DefaultTree
Alias for a Tree with data types DefaultNodeData and DefaultEdgeData.
utils::Matrix< double > epca_imbalance_matrix(SampleSet const &samples, bool include_leaves, bool normalize)
Calculate the imbalance matrix of placment mass for all Samples in a SampleSet.
EpcaData epca(SampleSet const &samples, double kappa, double epsilon, size_t components)
Perform EdgePCA on a SampleSet.
utils::Matrix< double > eigenvectors
Store a set of Samples with associated names.
Helper stucture that collects the output of epca().
std::vector< double > eigenvalues
void normalize(Histogram &h, double total)
Manage a set of Pqueries along with the PlacementTree where the PqueryPlacements are placed on...
std::vector< double > epca_imbalance_vector(Sample const &sample, bool normalize)
Calculate the imbalance of placement mass for each Edge of the given Sample.
utils::Matrix< double > projection
void epca_splitify_transform(utils::Matrix< double > &imbalance_matrix, double kappa)
Perform a component-wise transformation of the imbalance matrix used for epca().
std::vector< size_t > epca_filter_constant_columns(utils::Matrix< double > &imbalance_matrix, double epsilon)
Filter out columns that have nearly constant values, measured using an epsilon.
std::vector< size_t > edge_indices