changeset 58:6ca3c80e1f43

Permit processing a single column
author Chris Cannam
date Thu, 15 Aug 2019 16:25:12 +0100
parents 9eab1b374344
children 14823d51a573
files src/CRP.cpp src/CRP.h
diffstat 2 files changed, 25 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/CRP.cpp	Thu Aug 15 11:11:22 2019 +0100
+++ b/src/CRP.cpp	Thu Aug 15 16:25:12 2019 +0100
@@ -42,18 +42,24 @@
     RealBlock out;
 
     for (RealColumn col: in) {
-
-	if (m_params.applyLogCompression) {
-            col = LogCompress::process(col, m_params.logFactor, m_params.logAddTerm);
-	}
-
-        out.push_back(MathUtilities::normaliseLp
-                      (OctaveFold::process
-                       (m_dctReduce.process
-                        (Resize::process(col))),
-                       m_params.normP, m_params.normThresh));
-    }        
+        out.push_back(process(col));
+    }
 
     return out;
 }
 
+RealColumn
+CRP::process(RealColumn col)
+{
+    if (m_params.applyLogCompression) {
+        col = LogCompress::process
+            (col, m_params.logFactor, m_params.logAddTerm);
+    }
+
+    return MathUtilities::normaliseLp
+        (OctaveFold::process
+         (m_dctReduce.process
+          (Resize::process(col))),
+         m_params.normP, m_params.normThresh);
+}
+
--- a/src/CRP.h	Thu Aug 15 11:11:22 2019 +0100
+++ b/src/CRP.h	Thu Aug 15 16:25:12 2019 +0100
@@ -49,7 +49,15 @@
     CRP(Parameters params);
     ~CRP();
 
+    /**
+     * Process a block as produced by PitchFilterbank.
+     */
     RealBlock process(const RealBlock &in);
+
+    /**
+     * Process a single column.
+     */
+    RealColumn process(RealColumn col);
     
 private:
     Parameters m_params;