QTrk
testutils.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "std_incl.h"
4 #include "QueuedCPUTracker.h"
5 
6 template<typename T> T sq(T x) { return x*x; }
7 template<typename T> T distance(T x, T y) { return sqrt(x*x+y*y); }
8 
9 bool DirExists(const std::string& dirName_in);
10 int NumFilesInDir(const std::string& dirName_in);
11 int NumJpgInDir(const std::string& dirName_in);
12 
13 float distance(vector2f a,vector2f b);
14 
16  Console = 1,
17  Files = 2,
18  Images = 4
19 };
20 
21 class outputter{
22 public:
23  outputter(int mode = 1);
24  ~outputter();
25  void outputString(std::string out, bool ConsoleOnly = false);
26  void outputImage(ImageData img, std::string filename = "UsedImage");
27 
28  template<typename T>
29  void outputArray(T* arr, int size){
30  std::ostringstream out;
31  for(int ii=0;ii<size;ii++){
32  out << "[" << ii << "] : " << arr[ii] << "\n";
33  }
34  outputString(out.str());
35  }
36 
37  void newFile(std::string filename, const char* mode = "a");
38 
39  std::string folder;
40 private:
41  void init(int mode);
42  struct outputModes{
43  bool File;
44  bool Console;
45  bool Images;
46  };
48  FILE* outputFile;
49 };
50 
51 ImageData CropImage(ImageData img, int x, int y, int w, int h);
52 ImageData ResizeImage(ImageData img, int factor);
53 ImageData AddImages(ImageData img1, ImageData img2, vector2f displacement);
54 ImageData GaussMask(ImageData img, float sigma);
55 ImageData SkewImage(ImageData img, float fact);
56 
57 void GetOuterEdges(float* out,int size, ImageData img);
58 float BackgroundMedian(ImageData img);
59 float BackgroundStdDev(ImageData img);
60 float BackgroundRMS(ImageData img);
std::string folder
Definition: testutils.h:39
void outputImage(ImageData img, std::string filename="UsedImage")
Definition: testutils.cpp:82
void outputString(std::string out, bool ConsoleOnly=false)
Definition: testutils.cpp:70
FILE * outputFile
Definition: testutils.h:48
void outputArray(T *arr, int size)
Definition: testutils.h:29
outputter(int mode=1)
Definition: testutils.cpp:63
float BackgroundStdDev(ImageData img)
Definition: testutils.cpp:249
vector3< T > sqrt(const vector3< T > &a)
Definition: std_incl.h:112
ImageData CropImage(ImageData img, int x, int y, int w, int h)
Definition: testutils.cpp:132
ImageData ResizeImage(ImageData img, int factor)
Definition: testutils.cpp:148
outputModes modes
Definition: testutils.h:47
OutputModes
Definition: testutils.h:15
void GetOuterEdges(float *out, int size, ImageData img)
Definition: testutils.cpp:212
int NumJpgInDir(const std::string &dirName_in)
Definition: testutils.cpp:42
ImageData AddImages(ImageData img1, ImageData img2, vector2f displacement)
Definition: testutils.cpp:164
float BackgroundRMS(ImageData img)
Definition: testutils.cpp:258
ImageData GaussMask(ImageData img, float sigma)
Definition: testutils.cpp:180
T distance(T x, T y)
Definition: testutils.h:7
int NumFilesInDir(const std::string &dirName_in)
Definition: testutils.cpp:24
ImageData SkewImage(ImageData img, float fact)
Definition: testutils.cpp:194
void newFile(std::string filename, const char *mode="a")
Definition: testutils.cpp:89
void init(int mode)
Definition: testutils.cpp:109
T sq(T x)
Definition: testutils.h:6
float BackgroundMedian(ImageData img)
Definition: testutils.cpp:235
bool DirExists(const std::string &dirName_in)
Definition: testutils.cpp:12