Conscience Core
CscDetectorAiAPI.h
Go to the documentation of this file.
1 #ifndef CscDetectorAiAPI_h
2 #define CscDetectorAiAPI_h
3 
5 #include "CscCommon.h"
7 #include <iostream>
8 #include <opencv2/imgcodecs.hpp>
9 #include <opencv2/imgproc/imgproc.hpp>
10 #include <opencv2/objdetect.hpp>
11 #include <vector>
12 
13 using std::string;
14 
16 
18 public:
19  static constexpr const char *DETECTOR_PARAM_KEY_WEBHOOKPATH = "webhookPath";
20  static constexpr const char *DETECTOR_PARAM_KEY_IMAGE_DESCRIPTION_MODEL = "imageDescriptionModel";
21  static constexpr const char *DETECTOR_PARAM_KEY_IMAGE_DESCRIPTION_PROMPT = "imageDescriptionPrompt";
22  static constexpr const char *DETECTOR_PARAM_KEY_QUESTIONS_ABOUT_DESCRIPTION_MODEL = "questionsAboutDescriptionModel";
23  static constexpr const char *DETECTOR_PARAM_KEY_QUESTIONS_ABOUT_DESCRIPTION_PROMPT = "questionsAboutDescriptionPrompt";
24  static constexpr const char *DETECTOR_PARAM_KEY_INTERVAL_TO_CHECK_IMAGE_IN_MILLIS = "intervalToCheckImageInMillis";
25  CscDetectorAiAPI(optional<string> aiApiWebhookPath, const map<string, string> &additionWebhookParams);
27  virtual bool equals(CscDetectorEngine *) const override;
28 
29 private:
30  const int DEFAULT_INTERVAL_TO_CHECK_IMAGE_IN_MILLIS = 80000;
31  int intervalToCheckImageInMillis;
32  bool callInProgress = false;
33  optional<string> aiApiWebhookPath;
34  map<string, string> additionWebhookParams;
35  unique_ptr<CscLogger> logger = CscLogger::getForCategory("CscDetectorAiAPI");
36  optional<unsigned long long> lastTimeCheck = {};
37 
41  CscWorldObject *createObjectForDetectionResult(int modelId, string modelName);
42 
43 protected:
48  std::string extractCleanJson(const std::string &rawInput);
49 };
50 
51 }
52 
53 #endif /* CscDetectorAiAPI_hpp */
conscience_core::detector_engine::CscDetectorAiAPI::detectOnImage
ptr< DetectionResult > detectOnImage(const DetectorSourceImage &image, ptr< DetectionParameters > parameters) override
Definition: CscDetectorAiAPI.cpp:30
conscience_core::detector_engine::CscDetectorEngine
Definition: CscDetectorEngine.h:107
conscience_core::detector_engine::CscDetectorAiAPI::extractCleanJson
std::string extractCleanJson(const std::string &rawInput)
Definition: CscDetectorAiAPI.cpp:240
CscWorldObject
Definition: CscWorldObject.h:26
conscience_core::detector_engine
Definition: ConscienceVisionDetectorRepository.cpp:30
CscDetectorEngine.h
conscience_core::detector_engine::CscDetectorAiAPI::DETECTOR_PARAM_KEY_IMAGE_DESCRIPTION_PROMPT
static constexpr const char * DETECTOR_PARAM_KEY_IMAGE_DESCRIPTION_PROMPT
Definition: CscDetectorAiAPI.h:21
conscience_core::detector_engine::CscDetectorAiAPI::DETECTOR_PARAM_KEY_WEBHOOKPATH
static constexpr const char * DETECTOR_PARAM_KEY_WEBHOOKPATH
Definition: CscDetectorAiAPI.h:19
conscience_core::detector_engine::CscDetectorAiAPI
Definition: CscDetectorAiAPI.h:17
CscWorldObject.h
conscience_core::detector_engine::CscDetectorAiAPI::DETECTOR_PARAM_KEY_IMAGE_DESCRIPTION_MODEL
static constexpr const char * DETECTOR_PARAM_KEY_IMAGE_DESCRIPTION_MODEL
Definition: CscDetectorAiAPI.h:20
CscCommon.h
conscience_core::detector_engine::DetectorSourceImage
Definition: CscDetectorEngine.h:66
conscience_core::detector_engine::CscDetectorAiAPI::DETECTOR_PARAM_KEY_INTERVAL_TO_CHECK_IMAGE_IN_MILLIS
static constexpr const char * DETECTOR_PARAM_KEY_INTERVAL_TO_CHECK_IMAGE_IN_MILLIS
Definition: CscDetectorAiAPI.h:24
conscience_core::detector_engine::CscDetectorAiAPI::CscDetectorAiAPI
CscDetectorAiAPI(optional< string > aiApiWebhookPath, const map< string, string > &additionWebhookParams)
Definition: CscDetectorAiAPI.cpp:20
conscience_core::detector_engine::CscDetectorAiAPI::equals
virtual bool equals(CscDetectorEngine *) const override
Definition: CscDetectorAiAPI.cpp:209
conscience_core::detector_engine::CscDetectorAiAPI::DETECTOR_PARAM_KEY_QUESTIONS_ABOUT_DESCRIPTION_PROMPT
static constexpr const char * DETECTOR_PARAM_KEY_QUESTIONS_ABOUT_DESCRIPTION_PROMPT
Definition: CscDetectorAiAPI.h:23
conscience_core::detector_engine::CscDetectorAiAPI::DETECTOR_PARAM_KEY_QUESTIONS_ABOUT_DESCRIPTION_MODEL
static constexpr const char * DETECTOR_PARAM_KEY_QUESTIONS_ABOUT_DESCRIPTION_MODEL
Definition: CscDetectorAiAPI.h:22
conscience_core::bridging::commands::environment_objects::optional< string >
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< string >
Definition: environmentObjectsCommands.h:373
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29