Bela
Real-time, ultra-low-latency audio and sensor processing system for BeagleBone Black
Loading...
Searching...
No Matches
CentroidDetection.h
1#pragma once
2#include <stdint.h>
3#include <vector>
4#include <memory>
5
6class CentroidDetection
7{
8public:
9 typedef float DATA_T;
10 CentroidDetection() {};
11 CentroidDetection(unsigned int numReadings, unsigned int maxNumCentroids, float sizeScale);
12 CentroidDetection(const std::vector<unsigned int>& order, unsigned int maxNumCentroids, float sizeScale);
13 int setup(unsigned int numReadings, unsigned int maxNumCentroids, float sizeScale);
14 int setup(const std::vector<unsigned int>& order, unsigned int maxNumCentroids, float sizeScale);
15 void process(const DATA_T* rawData);
16 void setSizeScale(float sizeScale);
17 void setMinimumTouchSize(DATA_T minSize);
18 void setNoiseThreshold(DATA_T threshold);
25 void setWrapAround(unsigned int n);
30 void setMultiplierBits(unsigned int n);
31 unsigned int getNumTouches() const;
32 DATA_T touchLocation(unsigned int touch_num) const;
33 DATA_T touchSize(unsigned int touch_num) const;
34 DATA_T compoundTouchLocation() const;
35 DATA_T compoundTouchSize() const;
36private:
37 typedef uint16_t WORD;
39 std::vector<DATA_T> centroids;
40 std::vector<DATA_T> sizes;
41 std::vector<WORD> centroidBuffer;
42 std::vector<WORD> sizeBuffer;
43 unsigned int maxNumCentroids;
44 std::vector<unsigned int> order;
45 unsigned int num_sensors;
46 std::vector<WORD> data;
47 float sizeScale;
48 float locationScale;
49 std::shared_ptr<CalculateCentroids> cc;
50 unsigned int num_touches;
51 DATA_T noiseThreshold;
52};
Definition CentroidDetection.cpp:6
void setWrapAround(unsigned int n)
Definition CentroidDetection.cpp:64
void setMultiplierBits(unsigned int n)
Definition CentroidDetection.cpp:69