Skip to content

Commit 822709f

Browse files
author
SzabolcsGergely
committed
Add ObjectTrackerConfig message
1 parent 79225af commit 822709f

File tree

5 files changed

+59
-1
lines changed

5 files changed

+59
-1
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ pybind11_add_module(${TARGET_NAME}
159159
src/pipeline/datatype/PointCloudConfigBindings.cpp
160160
src/pipeline/datatype/PointCloudDataBindings.cpp
161161
src/pipeline/datatype/ImageAlignConfigBindings.cpp
162+
src/pipeline/datatype/ObjectTrackerConfigBindings.cpp
162163
)
163164

164165
if(WIN32)

src/DatatypeBindings.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ void bind_tracklets(pybind11::module& m, void* pCallstack);
2828
void bind_pointcloudconfig(pybind11::module& m, void* pCallstack);
2929
void bind_pointclouddata(pybind11::module& m, void* pCallstack);
3030
void bind_imagealignconfig(pybind11::module& m, void* pCallstack);
31+
void bind_objecttrackerconfig(pybind11::module& m, void* pCallstack);
3132

3233
void DatatypeBindings::addToCallstack(std::deque<StackFunction>& callstack) {
3334
// Bind common datatypebindings
@@ -59,6 +60,7 @@ void DatatypeBindings::addToCallstack(std::deque<StackFunction>& callstack) {
5960
callstack.push_front(bind_pointcloudconfig);
6061
callstack.push_front(bind_pointclouddata);
6162
callstack.push_front(bind_imagealignconfig);
63+
callstack.push_front(bind_objecttrackerconfig);
6264
}
6365

6466
void DatatypeBindings::bind(pybind11::module& m, void* pCallstack){
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#include "DatatypeBindings.hpp"
2+
#include "pipeline/CommonBindings.hpp"
3+
#include <unordered_map>
4+
#include <memory>
5+
6+
// depthai
7+
#include "depthai/pipeline/datatype/ObjectTrackerConfig.hpp"
8+
9+
//pybind
10+
#include <pybind11/chrono.h>
11+
#include <pybind11/numpy.h>
12+
13+
// #include "spdlog/spdlog.h"
14+
15+
void bind_objecttrackerconfig(pybind11::module& m, void* pCallstack){
16+
17+
using namespace dai;
18+
19+
py::class_<RawObjectTrackerConfig, RawBuffer, std::shared_ptr<RawObjectTrackerConfig>> rawConfig(m, "RawObjectTrackerConfig", DOC(dai, RawObjectTrackerConfig));
20+
py::class_<ObjectTrackerConfig, Buffer, std::shared_ptr<ObjectTrackerConfig>> config(m, "ObjectTrackerConfig", DOC(dai, ObjectTrackerConfig));
21+
22+
///////////////////////////////////////////////////////////////////////
23+
///////////////////////////////////////////////////////////////////////
24+
///////////////////////////////////////////////////////////////////////
25+
// Call the rest of the type defines, then perform the actual bindings
26+
Callstack* callstack = (Callstack*) pCallstack;
27+
auto cb = callstack->top();
28+
callstack->pop();
29+
cb(m, pCallstack);
30+
// Actual bindings
31+
///////////////////////////////////////////////////////////////////////
32+
///////////////////////////////////////////////////////////////////////
33+
///////////////////////////////////////////////////////////////////////
34+
35+
// Metadata / raw
36+
rawConfig
37+
.def(py::init<>())
38+
.def_readwrite("trackletIdsToRemove", &RawObjectTrackerConfig::trackletIdsToRemove, DOC(dai, RawObjectTrackerConfig, trackletIdsToRemove))
39+
;
40+
41+
// Message
42+
config
43+
.def(py::init<>())
44+
.def(py::init<std::shared_ptr<RawObjectTrackerConfig>>())
45+
46+
.def("set", &ObjectTrackerConfig::set, py::arg("config"), DOC(dai, ObjectTrackerConfig, set))
47+
.def("get", &ObjectTrackerConfig::get, DOC(dai, ObjectTrackerConfig, get))
48+
.def("forceRemoveID", &ObjectTrackerConfig::forceRemoveID, DOC(dai, ObjectTrackerConfig, forceRemoveID))
49+
.def("forceRemoveIDs", &ObjectTrackerConfig::forceRemoveIDs, DOC(dai, ObjectTrackerConfig, forceRemoveIDs))
50+
;
51+
52+
// add aliases
53+
54+
}

src/pipeline/node/ObjectTrackerBindings.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ void bind_objecttracker(pybind11::module& m, void* pCallstack){
5858
.def_readonly("inputTrackerFrame", &ObjectTracker::inputTrackerFrame, DOC(dai, node, ObjectTracker, inputTrackerFrame))
5959
.def_readonly("inputDetectionFrame", &ObjectTracker::inputDetectionFrame, DOC(dai, node, ObjectTracker, inputDetectionFrame))
6060
.def_readonly("inputDetections", &ObjectTracker::inputDetections, DOC(dai, node, ObjectTracker, inputDetections))
61+
.def_readonly("inputConfig", &ObjectTracker::inputConfig, DOC(dai, node, ObjectTracker, inputConfig))
6162
.def_readonly("out", &ObjectTracker::out, DOC(dai, node, ObjectTracker, out))
6263
.def_readonly("passthroughTrackerFrame", &ObjectTracker::passthroughTrackerFrame, DOC(dai, node, ObjectTracker, passthroughTrackerFrame))
6364
.def_readonly("passthroughDetectionFrame", &ObjectTracker::passthroughDetectionFrame, DOC(dai, node, ObjectTracker, passthroughDetectionFrame))

0 commit comments

Comments
 (0)