CVB++ 15.0
sample_test_result_factory.hpp
1#pragma once
2
3#include "../_cexports/c_polimago.h"
4
5#include "../global.hpp"
6#include "test_result_factory.hpp"
7#include "../minos/training_set.hpp"
8#include "classification_predictor.hpp"
9#include "classification_test_result.hpp"
10#include "regression_predictor.hpp"
11#include "../sample_database/sample_classification_image_list.hpp"
12#include "../sample_database/sample_regression_image_list.hpp"
13
14#include <memory>
15
16namespace Cvb
17{
18 CVB_BEGIN_INLINE_NS
19
21 namespace Polimago
22 {
24 namespace Testing
25 {
26
29
31 class SampleTestResultFactory : public TestResultFactory
32 {
33 public:
35
39 : TestResultFactory()
40 {
41 }
42
44 SampleTestResultFactory &operator=(const SampleTestResultFactory &other) = delete;
46 SampleTestResultFactory &operator=(SampleTestResultFactory &&other) = delete;
47 virtual ~SampleTestResultFactory() = default;
48
49 public:
50#if 0
52
60 {
61 return Internal::DoResCallObjectOut<ClassificationTestResult>([&](void* & res)
62 {
63 return CVB_CALL_CAPI(PMSampleTestOnSil (database.Handle (), ..., clf.Handle(), res));
64 });
65 }
66
68
75 std::unique_ptr<RegressionTestResult> RunTest (const RegressionPredictor & clf, const SampleDatabase::SampleRegressionImageList & database)
76 {
77 return Internal::DoResCallObjectOut<RegressionTestResult>([&](void* & res)
78 {
79 return CVB_CALL_CAPI(PMSampleTestOnSil (database.Handle (), ..., clf.Handle(), res));
80 });
81 }
82
84
91 std::unique_ptr<ClassificationTestResult> RunTest (const ClassificationPredictor & clf, const Minos::TrainingSet & database)
92 {
93 return Internal::DoResCallObjectOut<ClassificationTestResult>([&](void* & res)
94 {
95 return CVB_CALL_CAPI(PMSampleTestOnMts (database.Handle (), ..., clf.Handle(), res));
96 });
97 }
98#endif
99 };
100
103
104 } /* namespace Testing */
105
108
109 } /* namespace Polimago */
110 CVB_END_INLINE_NS
111} /* namespace Cvb */
Predictor to classify patterns with.
Definition classification_predictor.hpp:57
void * Handle() const noexcept
Classic API Polimago handle.
Definition predictor_base.hpp:68
SampleTestResultFactory()
Constructor.
Definition sample_test_result_factory.hpp:38
Factory object for running a sample test in which all the elements of a training database are classif...
Definition sample_test_result_factory.hpp:32
SampleTestResultFactory()
Constructor.
Definition sample_test_result_factory.hpp:38
Classifier type that operates on images.
Definition decl_classification_sil.hpp:213
void * Handle() const noexcept
Classic API SIL handle.
Definition sample_list.hpp:411
Classifier type that operates on images.
Definition decl_regression_sil.hpp:190
Namespace for the Polimago package testing functionality.
Definition classification_test_result.hpp:21
std::shared_ptr< SampleTestResultFactory > SampleTestResultFactoryPtr
Convenience shared pointer for SampleTestResultFactory.
Definition sample_test_result_factory.hpp:102
Namespace for the Polimago package.
Definition classification_predictor.hpp:38
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17