-
Notifications
You must be signed in to change notification settings - Fork 0
/
geomcorr.h
46 lines (39 loc) · 1.29 KB
/
geomcorr.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef GEOMCORR_H
#define GEOMCORR_H
#include "image_cuda_compatible.h"
#include"thrust/device_vector.h"
#include"gaincorr.h"
class Geomcorr
{
friend class Gaincorr;
public:
Geomcorr();
~Geomcorr();
void extractCoordinates(Image_cuda_compatible &image, bool drawOnly = false, bool onlyN = false);
void readAndCalculateGeom();
void initializeDeviceVector(int n, int size, int u);
void addCoordinates();
void addCoordinates(Image_cuda_compatible &);
bool exportText(std::string filename);
void calculateEta();
void fitEllipse(int i, float* a, float* b, float* c, float* u, float* v, double *error);
void fitEllipseWu(int i, float* a, float* b, float* c, float* u, float* v, double *error);
int getn();
double calculatePhase(int i, float u);
bool coordinatesToCPU(int* h_x, int* h_y, int n);
double getEta();
void dAndVWithWu(float* a, float* b, float* v, float* D, float* v0 );
bool isBallOnLeftSide(int i, float u0);
private:
float* d_filter;
int filterWidth ;
Gaincorr *gaincorr;
int* d_coordinates;
int* d_addedCoordinates;
int n; // number of circles visible on all images
int u; // unseen circles ( on first image)
int size;
int* d_coordinatesFromThatImage;
double eta;
};
#endif // GEOMCORR_H