Vector3 Modified
Dependents: optWingforHAPS_Eigen hexaTest_Eigen
Diff: MedianFilter.cpp
- Revision:
- 6:50f2909f08fe
- Parent:
- 3:ec86928ff12d
--- 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; }