eis/eqpalg/build_algorithm.h

47 lines
1.5 KiB
C++

#pragma once
/**
* @file eqpalg/build_algorithm.h
* @brief 构建算法实例
* @author Cat (null.null.null@qq.com)
* @version 0.1
* @date 2021-07-08
*
* Company: Baosight Co. Ltd.
* DO NOT COPY/USE WITHOUT PERMISSION
*
*/
#include <eqpalg/alg_base.h>
#include <json/json.h>
#include <memory>
#include <string>
#include <utility>
/**
* @brief 构建算法实例
* 算法号 算法名
* 1 实时逻辑判断
* 2 监控变量-上下限 含自学习
* 3 动作反馈
* 4 动作反馈-上下限 含自学习
* 5 监控变量-上下限-持续 含自学习
* 6 运行时间累计
* 7 出现次数累计
* 8 斜率监控
* 9 离群检测
* 10 故障代码1
* 11 故障代码2
* 12 多项式拟合
* 13 线性相关性
* @param algId 算法模板id
* @param ruleId 算法实例id
* @param name 算法实例名称
* @param rule_json 算法参数
* @param padding_low 向下偏移
* @param padding_up 向上偏移
* @return std::unique_ptr<AlgBase>
*/
std::unique_ptr<AlgBase> build_algorithm(int algId, const string& ruleId,
const string& name,
const mix_cc::json& rule_json,
const double padding_low,
const double padding_up);