-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
V3 RGBD Node #1198
Open
Serafadam
wants to merge
76
commits into
v3_develop
Choose a base branch
from
v3_rgbd_node
base: v3_develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
V3 RGBD Node #1198
Changes from 68 commits
Commits
Show all changes
76 commits
Select commit
Hold shift + click to select a range
5c579c9
rgb node init impl
Serafadam 111386d
add python bindings for rgbd
Serafadam b37d9d9
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam 90a9ee6
fix bindings
Serafadam 858d4ba
remove byte padding for point3frgb to fix issues with visualizer
Serafadam a2d0158
add internal imagealign
Serafadam 6be50ea
add compute
Serafadam 9da4916
update shaders compilation
Serafadam 97fe9fb
add glsllang-tools to ci
Serafadam f4494be
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam d7be197
pimpl in rgbd
Serafadam 60bbe9f
update pimpl
Serafadam 0a4a933
fix basalt
Serafadam b8f9ba4
remove kompute from default deps
Serafadam 86be142
remove internal imagealign
Serafadam b015ea1
remove gpu code from visualizer example
Serafadam 594343e
remove glslang tools from ci
Serafadam 1ccc2ee
fix bindings
Serafadam 899e8cf
remove align from header
Serafadam d1083b9
fix examples
Serafadam 0eba35b
add test
Serafadam 1297fa8
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam d2f45f7
add autocreate test
Serafadam dd46354
add docstrings
Serafadam d3ef82b
fix docstrings
Serafadam fa935ef
try compiling shaders
Serafadam a9878ba
use blocking get
Serafadam 893f3c1
better performance on cpuMt
Serafadam 9d5fda8
debug arm
Serafadam b69ca75
kompute support off
Serafadam 9e2965e
try printing logs for kompute
Serafadam 812a004
install additional x deps for arm
Serafadam 74babb4
try debugging pkgconfig
Serafadam 2b2ee64
install xcb-devel
Serafadam 6a449d7
more logs
Serafadam 1cbe1ee
check pkgconfig
Serafadam 391a6ed
pkg config path
Serafadam 538e03a
remove cmake install from arm
Serafadam 8da3fd6
set pkgconfig path
Serafadam 0578e27
set pkgconfig executable directly
Serafadam de4e727
try setting via other way
Serafadam 72d519c
debug cleanup
Serafadam 83366f7
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam 9e0a58b
update stereo properties in examples, refactor initialization method
Serafadam 641df1c
pr updates
Serafadam 8576003
update vcpkg logs path for build_docstrings
Serafadam a6b4b47
add python example tests
Serafadam fe17fe7
fix typo
Serafadam b2e3d6f
update env vars for eventsmanager
Serafadam 78d697f
fix ci, make compute optional
Serafadam b11585f
try updating tests
Serafadam 312b7a0
fix python tests
Serafadam 8907adf
update stereodepth build docs
Serafadam 0174f43
update python tests, open3dcpu
Serafadam 7126b7a
explicit align node for rvc4
Serafadam 0776b3a
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam 6caac1f
fix rgbd example size typo
Serafadam a2cee33
fix examples for rvc4
Serafadam f82f1cc
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam 97fd833
add getstereopair for oak4d
Serafadam 26fe959
update stereo autocreate to work on rvc4
Serafadam e8248ae
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam c75906f
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam be89d47
bump fw
Serafadam b9019e6
Merge branch 'v3_develop' into v3_rgbd_node
Serafadam e2c0152
get intrinsics from frame directly
Serafadam e89dacb
merge v3_develop
Serafadam d21bcde
add apt update to pytest ci
Serafadam 4c5d238
Merge branch 'v3_develop' into v3_rgbd_node
704383f
Update the examples to 640x400
67b36ff
update sizes in some examples
Serafadam a7d4f93
install python rerun o3d deps for example tests
Serafadam dec8f33
rgbdata serialization
Serafadam 649feda
rgbdata bindings
Serafadam 1529130
PR updates
Serafadam f2bc564
test for rgbddata
Serafadam File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
echo "Searching vcpkg-manifest-install.log for failing port logs..." | ||
LOGFILE=$(find . -name "vcpkg-manifest-install.log" | head -n 1) | ||
if [ -z "$LOGFILE" ]; then | ||
echo "No vcpkg-manifest-install.log found!" | ||
exit 1 | ||
else | ||
echo "Found log file: $LOGFILE" | ||
fi | ||
|
||
# 1) Grab lines following "See logs for more information:" | ||
# 2) From those lines, extract only the file paths ending in ".log" | ||
# 3) Remove any leading spaces | ||
grep -A50 "See logs for more information:" $LOGFILE \ | ||
| grep "\.log" \ | ||
| sed 's/^[[:space:]]*//' \ | ||
> failed_logs.txt | ||
|
||
# Check if we found any logs | ||
# If not, print a message and exit | ||
# Otherwise, print the log paths | ||
if [ ! -s failed_logs.txt ]; then | ||
echo "No failed logs found!" | ||
exit 1 | ||
else | ||
echo "Found the following failed logs:" | ||
cat failed_logs.txt | ||
fi | ||
|
||
# Now read each log path we found, and print it | ||
while IFS= read -r log; do | ||
echo "==== Showing log: $log ====" | ||
cat "$log" || true | ||
echo | ||
|
||
# Also show CMakeOutput.log (and/or CMakeError.log) within the same port’s directory | ||
# Often it’s in the same or neighboring folder (e.g. arm64-linux-rel/CMakeFiles/CMakeOutput.log). | ||
# We'll "walk up" one directory and search for CMakeOutput.log in CMakeFiles/. | ||
port_dir="$(dirname "$log")" | ||
# In some cases (e.g. config-arm64-linux-out.log), you may need to go up another level: | ||
# port_dir="$(dirname "$port_dir")" | ||
|
||
# We'll now look for any CMakeOutput.log within this port’s subdirectories | ||
found_outputs=$(find "$port_dir" -name "CMakeOutput.log" -o -name "CMakeError.log" -print 2>/dev/null) | ||
if [ -n "$found_outputs" ]; then | ||
for cof in $found_outputs; do | ||
echo "==== Showing $cof ====" | ||
cat "$cof" || true | ||
echo | ||
done | ||
fi | ||
done < failed_logs.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
39 changes: 39 additions & 0 deletions
39
bindings/python/src/pipeline/datatype/RGBDDataBindings.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
|
||
#include "DatatypeBindings.hpp" | ||
#include "pipeline/CommonBindings.hpp" | ||
#include <unordered_map> | ||
#include <memory> | ||
|
||
// depthai | ||
#include "depthai/pipeline/datatype/RGBDData.hpp" | ||
|
||
//pybind | ||
#include <pybind11/chrono.h> | ||
#include <pybind11/numpy.h> | ||
|
||
void bind_transformdata(pybind11::module& m, void* pCallstack){ | ||
|
||
using namespace dai; | ||
|
||
py::class_<RGBDData, Py<RGBDData>, Buffer, std::shared_ptr<RGBDData>> rgbdData(m, "RGBDData", DOC(dai, RGBDData)); | ||
|
||
/////////////////////////////////////////////////////////////////////// | ||
/////////////////////////////////////////////////////////////////////// | ||
/////////////////////////////////////////////////////////////////////// | ||
// Call the rest of the type defines, then perform the actual bindings | ||
Callstack* callstack = (Callstack*) pCallstack; | ||
auto cb = callstack->top(); | ||
callstack->pop(); | ||
cb(m, pCallstack); | ||
// Actual bindings | ||
/////////////////////////////////////////////////////////////////////// | ||
/////////////////////////////////////////////////////////////////////// | ||
/////////////////////////////////////////////////////////////////////// | ||
|
||
// Metadata / raw | ||
rgbdData | ||
.def(py::init<>()) | ||
.def("__repr__", &RGBDData::str) | ||
.def_readwrite("rgbFrame", &RGBDData::rgbFrame, DOC(dai, RGBDData, rgbFrame)) | ||
.def_readwrite("depthFrame", &RGBDData::depthFrame, DOC(dai, RGBDData, depthFrame)); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
|
||
#include <pybind11/eval.h> | ||
|
||
#include "Common.hpp" | ||
#include "NodeBindings.hpp" | ||
#include "depthai/pipeline/ThreadedHostNode.hpp" | ||
#include "depthai/pipeline/node/host/RGBD.hpp" | ||
|
||
extern py::handle daiNodeModule; | ||
|
||
void bind_rgbd(pybind11::module& m, void* pCallstack) { | ||
using namespace dai; | ||
using namespace dai::node; | ||
|
||
// declare upfront | ||
auto rgbdNode = ADD_NODE_DERIVED(RGBD, ThreadedHostNode); | ||
|
||
/////////////////////////////////////////////////////////////////////// | ||
/////////////////////////////////////////////////////////////////////// | ||
/////////////////////////////////////////////////////////////////////// | ||
// Call the rest of the type defines, then perform the actual bindings | ||
Callstack* callstack = (Callstack*)pCallstack; | ||
auto cb = callstack->top(); | ||
callstack->pop(); | ||
cb(m, pCallstack); | ||
// Actual bindings | ||
/////////////////////////////////////////////////////////////////////// | ||
/////////////////////////////////////////////////////////////////////// | ||
/////////////////////////////////////////////////////////////////////// | ||
|
||
// RGBD Node | ||
rgbdNode | ||
.def_property_readonly( | ||
"inColor", [](RGBD& node) { return &node.inColor; }, py::return_value_policy::reference_internal) | ||
.def_property_readonly( | ||
"inDepth", [](RGBD& node) { return &node.inDepth; }, py::return_value_policy::reference_internal) | ||
.def_readonly("pcl", &RGBD::pcl, DOC(dai, node, RGBD, pcl)) | ||
.def("build", static_cast<std::shared_ptr<RGBD> (RGBD::*)()>(&RGBD::build)) | ||
.def("build", | ||
static_cast<std::shared_ptr<RGBD> (RGBD::*)(bool, StereoDepth::PresetMode, std::pair<int, int>)>(&RGBD::build), | ||
py::arg("autocreate"), | ||
py::arg("mode") = StereoDepth::PresetMode::HIGH_ACCURACY, | ||
py::arg("size") = std::pair<int, int>(1280, 720), | ||
DOC(dai, node, RGBD, build, 2)) | ||
.def("setDepthUnits", &RGBD::setDepthUnit, py::arg("units"), DOC(dai, node, RGBD, setDepthUnit)) | ||
.def("useCPU", &RGBD::useCPU, DOC(dai, node, RGBD, useCPU)) | ||
.def("useCPUMT", &RGBD::useCPUMT, py::arg("numThreads") = 2, DOC(dai, node, RGBD, useCPUMT)) | ||
.def("useGPU", &RGBD::useGPU, py::arg("device") = 0, DOC(dai, node, RGBD, useGPU)) | ||
.def("printDevices", &RGBD::printDevices, DOC(dai, node, RGBD, printDevices)); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's default to 1280x800 instead, it's the most common resolution for mono cameras.