Vector3 Modified

Dependents:   optWingforHAPS_Eigen hexaTest_Eigen

Revision:
6:50f2909f08fe
Parent:
3:ec86928ff12d
diff -r 9083665c67d8 -r 50f2909f08fe MedianFilter.cpp
--- a/MedianFilter.cpp	Mon Oct 10 06:27:16 2016 +0000
+++ b/MedianFilter.cpp	Tue Jun 29 08:07:47 2021 +0000
@@ -5,17 +5,33 @@
   _size = size;  
 
   for( float i = 0; i < _size; i++)
-    _window.push_back(i);
+  {
+    _windowx.push_back(i);
+    _windowy.push_back(i);
+    _windowz.push_back(i);
+    }
 }
 
-float MedianFilter::Process(float val)
+Vector3 MedianFilter::Process(Vector3 val)
 {
-  _window.pop_front();
-  _window.push_back(val);
-
-  deque<float> _temp(_window);
-
-  sort(_temp.begin(), _temp.end());
-
-  return _temp[_size/2];
+  Vector3 out;
+  
+  _windowx.pop_front();
+  _windowx.push_back(val.x);
+  deque<float> _tempx(_windowx);
+  sort(_tempx.begin(), _tempx.end());
+  out.x = _tempx[_size/2];
+  
+  _windowy.pop_front();
+  _windowy.push_back(val.y);
+  deque<float> _tempy(_windowy);
+  sort(_tempy.begin(), _tempy.end());
+  out.y = _tempy[_size/2];
+  
+  _windowz.pop_front();
+  _windowz.push_back(val.z);
+  deque<float> _tempz(_windowz);
+  sort(_tempz.begin(), _tempz.end());
+  out.z = _tempz[_size/2];
+  return out;
 }