Skip to content

File ExampleMain.h

Go to the documentation of this file.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
#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,
    REPEAT_CREATE_DELETE,
    VALIDATION_METRIC
};

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},
                                                   {REPEAT_CREATE_DELETE, false},
                                                   {VALIDATION_METRIC, 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();
}

namespace repeat {
int run();
}

namespace valmetric {
int run();
}
std::string get_env_var(const std::string& key);
std::string get_runtime_base();
#endif