A median filter for floating point values

Dependents:   Heiko

Committer:
Generic
Date:
Mon Oct 10 06:27:16 2016 +0000
Revision:
5:9083665c67d8
Parent:
3:ec86928ff12d
?;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kerneels Bezuidenhout 1:7e434a01533c 1 #include "MedianFilter.hpp"
Kerneels Bezuidenhout 1:7e434a01533c 2
Kerneels Bezuidenhout 1:7e434a01533c 3 MedianFilter::MedianFilter(int size)
Kerneels Bezuidenhout 1:7e434a01533c 4 {
Generic 3:ec86928ff12d 5 _size = size;
Kerneels Bezuidenhout 2:269c66e647f8 6
Generic 3:ec86928ff12d 7 for( float i = 0; i < _size; i++)
Kerneels Bezuidenhout 2:269c66e647f8 8 _window.push_back(i);
Kerneels Bezuidenhout 1:7e434a01533c 9 }
Kerneels Bezuidenhout 1:7e434a01533c 10
Kerneels Bezuidenhout 1:7e434a01533c 11 float MedianFilter::Process(float val)
Kerneels Bezuidenhout 1:7e434a01533c 12 {
Kerneels Bezuidenhout 2:269c66e647f8 13 _window.pop_front();
Kerneels Bezuidenhout 2:269c66e647f8 14 _window.push_back(val);
Kerneels Bezuidenhout 1:7e434a01533c 15
Kerneels Bezuidenhout 1:7e434a01533c 16 deque<float> _temp(_window);
Kerneels Bezuidenhout 1:7e434a01533c 17
Generic 3:ec86928ff12d 18 sort(_temp.begin(), _temp.end());
Kerneels Bezuidenhout 1:7e434a01533c 19
Generic 3:ec86928ff12d 20 return _temp[_size/2];
Kerneels Bezuidenhout 1:7e434a01533c 21 }