#ifndef SAIGE_VISION_EXAMPLE_MAIN_H_
#define SAIGE_VISION_EXAMPLE_MAIN_H_
#include "SaigeVisionAPI.h"
#include <string>
#include <vector>
#include <map>
typedef enum Examples {
CLASSIFICATION,
DETECTION,
SEGMENTATION,
ANOMALY_DETECTION,
OCR,
IMAGE_ENHANCEMENT,
ROTATED_OBJECT_DETECTION,
CLASSIFICATION_DETECTION,
CLASSIFICATION_BATCH,
ANOMALY_DETECTION_BATCH,
SEGMENTATION_BATCH,
UTILITY,
ERROR_CODE,
CLASSIFICATION_WITH_META,
CLASSIFICATION_MULTIPAGE,
MULTI_THREAD_INFERENCE
};
static std::map<Examples, bool> exampleSelector = {{CLASSIFICATION, false},
{DETECTION, false},
{SEGMENTATION, false},
{ANOMALY_DETECTION, false},
{OCR, false},
{IMAGE_ENHANCEMENT, false},
{ROTATED_OBJECT_DETECTION, false},
{CLASSIFICATION_DETECTION, false},
{CLASSIFICATION_BATCH, false},
{ANOMALY_DETECTION_BATCH, false},
{SEGMENTATION_BATCH, false},
{UTILITY, false},
{ERROR_CODE, false},
{CLASSIFICATION_WITH_META, false},
{CLASSIFICATION_MULTIPAGE, false},
{MULTI_THREAD_INFERENCE, false}};
void UpdateExampleSelectorFromArgv(const char* arg1);
namespace cls {
int run();
int run_batch();
int run_with_meta();
int run_multipage();
} // namespace cls
namespace det {
int run();
}
namespace seg {
int run();
int run_batch();
} // namespace seg
namespace iad {
int run();
int run_batch();
} // namespace iad
namespace ocr {
int run();
}
namespace rod {
int run();
}
namespace cls_det {
int run();
}
namespace ien {
int run();
}
namespace err {
int run();
}
namespace util {
int run();
}
namespace mul {
int run_multi_models();
}
std::string get_env_var(const std::string& key);
#endif