source: trunk/MagicSoft/Cosy/videodev/CaosFilter.h@ 1803

Last change on this file since 1803 was 1803, checked in by tbretz, 22 years ago
*** empty log message ***
File size: 1.7 KB
Line 
1#ifndef CAOSFILTER_H
2#define CAOSFILTER_H
3
4#ifndef __CINT__
5#include <TROOT.h>
6#endif
7
8typedef unsigned char byte;
9
10class Leds;
11
12class CaosFilter
13{
14 static void DrawBox(const int x1, const int y1,
15 const int x2, const int y2,
16 byte *buffer, const int col);
17
18 static void MarkPoint(const int x, const int y,
19 byte *buffer, const int col);
20
21 static float Mean(const byte *buffer, const int offset,
22 int *min, int *max);
23
24 static float SDev(const byte *buffer, const int offset,
25 const double mean);
26
27 static int GetMeanPosition(const byte *bitmap,
28 const int x, const int y,
29 const int box);
30
31 static int GetMeanPosition(const byte *bitmap, const int x, const int y,
32 const int box, Float_t &mx, Float_t &my);
33
34 static bool CalcCenter(Float_t *px, Float_t *py, Float_t &cx, Float_t &cy, Float_t &R);
35
36 static void InterpolCenter(int &m, Float_t *x, Float_t *y, Float_t &px, Float_t &py,
37 Float_t &pr, Float_t &sx, Float_t &sy, Float_t &sr);
38
39 static void CalcRings(int &m, Float_t *x, Float_t *y, Float_t &px, Float_t &py,
40 Float_t &pr, float *v, float *w);
41
42 static int FilterLeds(float *xw, float *yw, float *xl, float *yl);
43
44
45public:
46 static void Execute(byte *img, float *xw, float *yw, float *xl, float *yl,
47 float &prx, float &pry, float &pr, float *v, float *w);
48
49 static void Execute(byte *img, Leds &leds, Double_t conv);
50
51 static void FilterLeds(Leds &leds);
52
53 ClassDef(CaosFilter, 0)
54};
55
56#endif
Note: See TracBrowser for help on using the repository browser.