diff data/model/EditableDenseThreeDimensionalModel.h @ 534:6038cb6fcd30

* Some simple compression for dense 3d models that actually represent multirate data such as wavelet transform outputs. If a column has many elements at top or bottom that are the same as those of an earlier column, store a reference to that one and truncate the duplicate values.
author Chris Cannam
date Fri, 23 Jan 2009 13:31:51 +0000
parents 55ad231c9db7
children 3ccf48fb81d6
line wrap: on
line diff
--- a/data/model/EditableDenseThreeDimensionalModel.h	Thu Jan 22 17:58:33 2009 +0000
+++ b/data/model/EditableDenseThreeDimensionalModel.h	Fri Jan 23 13:31:51 2009 +0000
@@ -125,6 +125,10 @@
     typedef QVector<Column> ValueMatrix;
     ValueMatrix m_data;
 
+    std::vector<signed char> m_trunc; // +ve -> top is truncated, -ve -> bottom
+    void truncateAndStore(size_t index, const Column & values);
+    Column expandAndRetrieve(size_t index) const;
+
     std::vector<QString> m_binNames;
 
     size_t m_sampleRate;