RefractiveIndex/src/AbstractAnalysis.h

78 lines
2.0 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"
#include "ofxOpenCv.h"
2012-01-24 15:13:07 +01:00
#include <string>
#define ANALYSIS_PATH "analysis/"
#define SYNTHESIS_PATH "synthesis/"
2012-01-24 15:13:07 +01:00
#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();
// show the results to the screen
2012-01-24 15:13:07 +01:00
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_allocate_images();
2012-01-24 15:13:07 +01:00
virtual void saveImageAnalysis(string filename);
virtual void saveImageSynthesis(string filename, ofxCvImage* newPixels, ofImageType newType);
// 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;
// display the results from disk
virtual void displayresults() = 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_analysis, _whole_file_path_synthesis;
vector<string> _saved_filenames_analysis;
vector<string> _saved_filenames_synthesis;
int _state;
ofImage myColorImage1;
ofImage myColorImage2;
ofImage myGrayImage1;
//int _run_cnt;
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;
};