summaryrefslogtreecommitdiffhomepage
path: root/tracker-easy/settings.h
blob: 4d043e6ae8134f81978010b4c7d9d4c134281e59 (plain)
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
#pragma once

#include "options/options.hpp"
#include <opencv2/calib3d.hpp>

#include <QString>


namespace EasyTracker {

    using namespace options;

#ifdef __clang__
#   pragma clang diagnostic push
#   pragma clang diagnostic ignored "-Wweak-vtables"
#endif

    struct Settings final : options::opts
    {
        using slider_value = options::slider_value;

        value<QString> camera_name{ b, "camera-name", "" };
        value<int> cam_res_x{ b, "camera-res-width", 640 },
            cam_res_y{ b, "camera-res-height", 480 },
            cam_fps{ b, "camera-fps", 30 };
        value<double> min_point_size{ b, "min-point-size", 2.5 },
            max_point_size{ b, "max-point-size", 50 };
        value<int> DeadzoneRectHalfEdgeSize { b, "deadzone-rect-half-edge-size", 1 };

        value<int> m01_x{ b, "m_01-x", 0 }, m01_y{ b, "m_01-y", 0 }, m01_z{ b, "m_01-z", 0 };
        value<int> m02_x{ b, "m_02-x", 0 }, m02_y{ b, "m_02-y", 0 }, m02_z{ b, "m_02-z", 0 };

        value<int> t_MH_x{ b, "model-centroid-x", 0 },
            t_MH_y{ b, "model-centroid-y", 0 },
            t_MH_z{ b, "model-centroid-z", 0 };

        value<int> clip_ty{ b, "clip-ty", 40 },
            clip_tz{ b, "clip-tz", 30 },
            clip_by{ b, "clip-by", 70 },
            clip_bz{ b, "clip-bz", 80 };

        value<int> active_model_panel{ b, "active-model-panel", 0 },
            cap_x{ b, "cap-x", 35 },
            cap_y{ b, "cap-y", 55 },
            cap_z{ b, "cap-z", 100 };

        value<int> fov{ b, "camera-fov", 56 };

        value<bool> debug{ b, "debug", false };

        value<bool> auto_threshold{ b, "automatic-threshold", true };
        value<int> PnpSolver{ b, "pnp-solver", cv::SOLVEPNP_P3P };

        value<slider_value> threshold_slider{ b, "threshold-slider", { 128, 0, 255 } };

        explicit Settings(const QString& name) : opts(name) {}
    };

#ifdef __clang__
#   pragma clang diagnostic pop
#endif

} //