82 const std::string &EigenSolver,
83 const bool InputIsADistanceMatrix) {
84 if(InputIsADistanceMatrix) {
94 const std::string &EigenSolver,
95 const float Tolerance,
96 const int MaxIteration,
97 const std::string &Method_s,
98 const float HessianTolerance,
99 const float ModifiedTolerance,
100 const std::string &NeighborsAlgorithm) {
113 const int MaxIteration,
116 const bool Dissimilarity) {
130 const float Exaggeration,
131 const float LearningRate,
132 const int MaxIteration,
133 const int MaxIterationProgress,
134 const float GradientThreshold,
135 const std::string &Metric,
136 const std::string &Init,
138 const std::string &Method_s,
154 const float Tolerance,
155 const int MaxIteration,
156 const std::string &PathMethod,
157 const std::string &NeighborsAlgorithm) {
167 const std::string &SVDSolver,
168 const float Tolerance,
169 const std::string &MaxIteration) {
197#ifndef TTK_ENABLE_SCIKIT_LEARN
199 this->
printWrn(
"TTK has been built without scikit-learn.");
200 this->
printWrn(
"Defaulting to the `TopoMap` backend.");
205 std::string methodName;
208 methodName =
"Spectral Embedding";
211 methodName =
"Locally Linear Embedding";
214 methodName =
"Multi-Dimensional Scaling";
217 methodName =
"t-distributed Stochastic Neighbor Embedding";
220 methodName =
"Isomap Embedding";
223 methodName =
"Principal Component Analysis";
226 methodName =
"TopoMap (IEEE VIS 2020)";
229 this->
printMsg(
"Using backend `" + methodName +
"`");
259 int execute(std::vector<std::vector<double>> &outputEmbedding,
260 const std::vector<double> &inputMatrix,
263 int *insertionTimeForTopoMap =
nullptr)
const;
Minimalist debugging class.
int printWrn(const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const
TTK VTK-filter that apply dimension reduction algorithms on input.
float lle_HessianTolerance
void setInputIsDeterministic(const int isDeterm)
void setPCAParameters(const bool Copy, const bool Whiten, const std::string &SVDSolver, const float Tolerance, const std::string &MaxIteration)
std::string iso_NeighborsAlgorithm
void setInputNumberOfNeighbors(const int numberOfNeighbors)
std::string se_EigenSolver
TopoMap::STRATEGY topomap_Strategy
void setInputModuleName(const std::string &moduleName)
std::string pca_MaxIteration
void setIsInputDistanceMatrix(const bool data)
void setTSNEParameters(const float Perplexity, const float Exaggeration, const float LearningRate, const int MaxIteration, const int MaxIterationProgress, const float GradientThreshold, const std::string &Metric, const std::string &Init, const int Verbose, const std::string &Method_s, const float Angle)
std::string iso_EigenSolver
std::string pca_SVDSolver
std::string iso_PathMethod
std::string mds_Dissimilarity
bool IsInputADistanceMatrix
std::string lle_NeighborsAlgorithm
void setLLEParameters(const float Regularization, const std::string &EigenSolver, const float Tolerance, const int MaxIteration, const std::string &Method_s, const float HessianTolerance, const float ModifiedTolerance, const std::string &NeighborsAlgorithm)
void setISOParameters(const std::string &EigenSolver, const float Tolerance, const int MaxIteration, const std::string &PathMethod, const std::string &NeighborsAlgorithm)
void setSEParameters(const std::string &Affinity, const float Gamma, const std::string &EigenSolver, const bool InputIsADistanceMatrix)
void setInputMethod(METHOD method)
void setInputFunctionName(const std::string &functionName)
std::string lle_EigenSolver
float lle_ModifiedTolerance
void setTopoParameters(const size_t AngularSampleNb, bool CheckMST)
void setMDSParameters(const bool Metric, const int Init, const int MaxIteration, const int Verbose, const float Epsilon, const bool Dissimilarity)
size_t topomap_AngularSampleNb
void setInputModulePath(const std::string &modulePath)
int execute(std::vector< std::vector< double > > &outputEmbedding, const std::vector< double > &inputMatrix, const int nRows, const int nColumns, int *insertionTimeForTopoMap=nullptr) const
void setInputNumberOfComponents(const int numberOfComponents)
int tsne_MaxIterationProgress
float tsne_GradientThreshold
printMsg(debug::output::BOLD+" | | | | | . \\ | | (__| | / __/| |_| / __/|__ _|"+debug::output::ENDCOLOR, debug::Priority::PERFORMANCE, debug::LineMode::NEW, stream)