Marsyas
0.6.0-alpha
|
00001 #ifndef MARSYAS_SIMILARITYMATRIX2_H 00002 #define MARSYAS_SIMILARITYMATRIX2_H 00003 00004 #include <marsyas/system/MarSystem.h> 00005 #include "Metric.h" 00006 #include <vector> 00007 00008 namespace Marsyas 00009 { 00023 class SimilarityMatrix: public MarSystem 00024 { 00025 private: 00026 realvec i_featVec_; 00027 realvec j_featVec_; 00028 realvec stackedFeatVecs_; 00029 realvec metricResult_; 00030 00031 realvec sizes_; 00032 realvec vars_; 00033 realvec covMatrix_; 00034 std::vector<realvec> invecs_; 00035 00036 MarControlPtr ctrl_stdDev_; 00037 MarControlPtr ctrl_covMatrix_; 00038 MarControlPtr ctrl_calcCovMatrix_; 00039 MarControlPtr ctrl_normalize_; 00040 MarControlPtr ctrl_sizes_; 00041 // MarControlPtr ctrl_disMatrix_; 00042 00043 void addControls(); 00044 void myUpdate(MarControlPtr sender); 00045 00046 public: 00047 enum covMatrixType { 00048 noCovMatrix = 0, 00049 fixedStdDev = 1, 00050 diagCovMatrix = 2, 00051 fullCovMatrix = 3 00052 }; 00053 00054 SimilarityMatrix(std::string name); 00055 SimilarityMatrix(const SimilarityMatrix& a); 00056 ~SimilarityMatrix(); 00057 00058 MarSystem* clone() const; 00059 00060 void myProcess(realvec& in, realvec& out); 00061 }; 00062 } 00063 00064 #endif