You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

67 lines
1.8 KiB

#pragma once
#include <fstream>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <memory>
#include <set>
#include <sstream>
#include <string>
#include <vector>
namespace a8k_opt_algo {
using namespace std;
typedef enum {
kOptErr_suc,
kOptErr_pointNumError,
} ecode_t;
class OptAlgoPreProcessResult {
public:
bool scanAgain;
int32_t suggestScanGain;
};
ecode_t T_A8kOptAlgoPreProcess(vector<float> ogigin_val, //
int32_t now_scan_gain, //
int32_t expectResultRangeStart, //
int32_t expectResultRangeEnd, //
OptAlgoPreProcessResult& result);
ecode_t F_A8kOptAlgoPreProcess(vector<float> ogigin_val, //
int32_t now_scan_gain, //
int32_t expectResultRangeStart, //
int32_t expectResultRangeEnd, //
OptAlgoPreProcessResult& result);
class PeakInfo {
public:
bool find_peak;
float area;
int peak_pos;
int peak_start_pos;
int peak_end_pos;
};
class OptAlgoResult {
public:
vector<float> input;
vector<float> displayData;
PeakInfo pin040;
PeakInfo pin080;
PeakInfo pin120;
PeakInfo pin160;
PeakInfo pin200;
};
ecode_t A8kOptAlgoProcess(vector<float> ogigin_val, OptAlgoResult& result);
class PorcessContext {
public:
vector<float> raw;
vector<float> avg;
vector<float> diff;
vector<float> diffX2;
float agvline;
};
void A8kOptAlgoGetProcessContext(PorcessContext& context);
}