Mercurial > hg > silvet
diff src/Silvet.cpp @ 34:7d81407a2fd8
Start on EM class
author | Chris Cannam |
---|---|
date | Fri, 04 Apr 2014 14:28:41 +0100 |
parents | e08c330a761d |
children | 74b77a4d6552 |
line wrap: on
line diff
--- a/src/Silvet.cpp Fri Apr 04 13:43:51 2014 +0100 +++ b/src/Silvet.cpp Fri Apr 04 14:28:41 2014 +0100 @@ -14,8 +14,7 @@ */ #include "Silvet.h" - -#include "data/include/templates.h" +#include "EM.h" #include "maths/MedianFilter.h" #include "dsp/rateconversion/Resampler.h" @@ -267,6 +266,19 @@ } Grid cqout = m_cq->process(data); + return transcribe(cqout); +} + +Silvet::FeatureSet +Silvet::getRemainingFeatures() +{ + Grid cqout = m_cq->getRemainingBlocks(); + return transcribe(cqout); +} + +Silvet::FeatureSet +Silvet::transcribe(const Grid &cqout) +{ Grid filtered = preProcess(cqout); FeatureSet fs; @@ -279,16 +291,21 @@ fs[m_cqOutputNo].push_back(f); } + int width = filtered.size(); + + int iterations = 12; + + for (int i = 0; i < width; ++i) { + EM em; + for (int j = 0; j < iterations; ++j) { + em.iterate(filtered[i]); + } + //!!! now do something with the results from em! + } + return fs; } -Silvet::FeatureSet -Silvet::getRemainingFeatures() -{ - - return FeatureSet(); -} - Silvet::Grid Silvet::preProcess(const Grid &in) { @@ -331,8 +348,6 @@ int ix = inCol.size() - j - 55; - //!!! note these filters introduce more latency - double val = inCol[ix]; m_filterA[j]->push(val);