Tapkee
defines/methods.hpp
Go to the documentation of this file.
00001 /* This software is distributed under BSD 3-clause license (see LICENSE file).
00002  *
00003  * Copyright (c) 2012-2013 Sergey Lisitsyn
00004  */
00005 
00006 #ifndef TAPKEE_DEFINES_METHODS_H_
00007 #define TAPKEE_DEFINES_METHODS_H_
00008 
00009 namespace tapkee
00010 {
00012     enum DimensionReductionMethod
00013     {
00016         KernelLocallyLinearEmbedding,
00019         NeighborhoodPreservingEmbedding,
00022         KernelLocalTangentSpaceAlignment,
00025         LinearLocalTangentSpaceAlignment,
00028         HessianLocallyLinearEmbedding,
00031         LaplacianEigenmaps,
00034         LocalityPreservingProjections,
00037         DiffusionMap,
00040         Isomap,
00043         LandmarkIsomap,
00046         MultidimensionalScaling,
00049         LandmarkMultidimensionalScaling,
00052         StochasticProximityEmbedding,
00055         KernelPCA,
00057         PCA,
00060         RandomProjection,
00062         FactorAnalysis,
00065         tDistributedStochasticNeighborEmbedding,
00068         ManifoldSculpting,
00071         PassThru
00072     };
00073 
00074 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00075     // Methods identification
00076     METHOD_THAT_NEEDS_ONLY_KERNEL_IS(KernelLocallyLinearEmbedding);
00077     METHOD_THAT_NEEDS_KERNEL_AND_FEATURES_IS(NeighborhoodPreservingEmbedding);
00078     METHOD_THAT_NEEDS_ONLY_KERNEL_IS(KernelLocalTangentSpaceAlignment);
00079     METHOD_THAT_NEEDS_KERNEL_AND_FEATURES_IS(LinearLocalTangentSpaceAlignment);
00080     METHOD_THAT_NEEDS_ONLY_KERNEL_IS(HessianLocallyLinearEmbedding);
00081     METHOD_THAT_NEEDS_ONLY_DISTANCE_IS(LaplacianEigenmaps);
00082     METHOD_THAT_NEEDS_DISTANCE_AND_FEATURES_IS(LocalityPreservingProjections);
00083     METHOD_THAT_NEEDS_ONLY_DISTANCE_IS(DiffusionMap);
00084     METHOD_THAT_NEEDS_ONLY_DISTANCE_IS(Isomap);
00085     METHOD_THAT_NEEDS_ONLY_DISTANCE_IS(LandmarkIsomap);
00086     METHOD_THAT_NEEDS_ONLY_DISTANCE_IS(MultidimensionalScaling);
00087     METHOD_THAT_NEEDS_ONLY_DISTANCE_IS(LandmarkMultidimensionalScaling);
00088     METHOD_THAT_NEEDS_DISTANCE_AND_FEATURES_IS(StochasticProximityEmbedding);
00089     METHOD_THAT_NEEDS_ONLY_KERNEL_IS(KernelPCA);
00090     METHOD_THAT_NEEDS_ONLY_FEATURES_IS(PCA);
00091     METHOD_THAT_NEEDS_ONLY_FEATURES_IS(RandomProjection);
00092     METHOD_THAT_NEEDS_NOTHING_IS(PassThru);
00093     METHOD_THAT_NEEDS_ONLY_FEATURES_IS(FactorAnalysis);
00094     METHOD_THAT_NEEDS_ONLY_FEATURES_IS(tDistributedStochasticNeighborEmbedding);
00095     METHOD_THAT_NEEDS_DISTANCE_AND_FEATURES_IS(ManifoldSculpting);
00096 #endif // DOXYGEN_SHOULD_SKIP_THS
00097 
00099     enum NeighborsMethod
00100     {
00104         Brute, 
00105         VpTree
00106 #ifdef TAPKEE_USE_LGPL_COVERTREE
00107 
00108 
00109         , CoverTree
00110 #endif
00111     };
00112 #ifdef TAPKEE_USE_LGPL_COVERTREE
00113     static NeighborsMethod default_neighbors_method = CoverTree;
00114 #else
00115     static NeighborsMethod default_neighbors_method = Brute;
00116 #endif
00117 
00119     enum EigenMethod
00120     {
00121 #ifdef TAPKEE_WITH_ARPACK
00122 
00123 
00124 
00125         Arpack,
00126 #endif
00127 
00128 
00129         Randomized,
00132         Dense
00133     };
00134 #ifdef TAPKEE_WITH_ARPACK
00135     static EigenMethod default_eigen_method = Arpack;
00136 #else
00137     static EigenMethod default_eigen_method = Dense;
00138 #endif
00139 
00140 }
00141 
00142 #endif
00143 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines