RefractiveIndex/src/AbstractAnalysis.h

63 lines
1.5 KiB
C
Raw Normal View History

2012-01-24 15:13:07 +01:00
/*
~ author: dviid
~ contact: dviid@labs.ciid.dk
*/
#pragma once
2012-02-11 18:54:46 +01:00
#include "ofMain.h"
#include "ofEvents.h"
2012-01-24 15:13:07 +01:00
#include <string>
#define ANALYSIS_PATH "analysis/"
#define STATE_ACQUIRING 0x1111
#define STATE_SYNTHESISING 0x2222
#define STATE_DISPLAY_RESULTS 0x3333
#define STATE_STOP 0xDEADBEEF
2012-01-24 15:13:07 +01:00
class AbstractAnalysis {
public:
AbstractAnalysis(string name) : _name(name) {;}
virtual ~AbstractAnalysis(){;}
// generic function to set up the camera
virtual void setup(int camWidth, int camHeight){_cam_w = camWidth; _cam_h = camHeight;}
// this is the main threaded loop for a given analysis
2012-02-11 18:54:46 +01:00
void do_synthesize();
2012-01-24 15:13:07 +01:00
// ofx
virtual void draw() = 0;
2012-02-11 18:54:46 +01:00
protected:
2012-01-24 15:13:07 +01:00
virtual void create_dir();
2012-01-24 15:13:07 +01:00
// acquire images - all the children (see - do_synthesize)
virtual void acquire() = 0;
// analysis + synthesize images - all the children (see - do_synthesize)
virtual void synthesise() = 0;
2012-01-24 15:13:07 +01:00
public:
string _name;
2012-02-11 18:54:46 +01:00
// event
2012-02-11 18:54:46 +01:00
ofEvent<string> _synthesize_cb;
2012-01-24 15:13:07 +01:00
protected:
int _cam_w, _cam_h;
string _whole_file_path;
vector<string> _saved_filenames;
int _state;
float DELTA_T_SAVE;
int NUM_PHASE;
int NUM_RUN;
int NUM_SAVE_PER_RUN;
2012-01-24 15:13:07 +01:00
friend class AnalysisAdaptor;
};