From 7d253c91f43bb4a078211f5cd74c777a44fbf13a Mon Sep 17 00:00:00 2001 From: Filip Jeretina <59307111+zrezke@users.noreply.github.com> Date: Wed, 19 Jun 2024 14:30:47 +0200 Subject: [PATCH] Release 0.2.3 (#68) * OAK D SR POE and some reliability improvements (#35) * WIP add support for tof (oak d sr poe) * Accommodate new sdk, make tof stream show up, more or less properly. Still need to fix a few gui bugs. * Fixed gui bugs with which sensors are "AI capable" improved a bit on resolution search stability. did py-lints * install wheel from artifactory * Update rerun_py/depthai_viewer/_backend/device.py * Update rerun_py/depthai_viewer/_backend/device.py * Use sentry.luxonis * Added in the new tof_decoding. * Py lints * Fixed rebase issues * Fixed tiny1c temperature resolution. Bumped depthai tof decoding branch. Added new filters. Don't fail when sentry init fails. Likely fix viewer crashing when there is no internet available. * fix pylints * OAK-D-LR better default, fixed point cloud coloring when using albedo texture, aligned depth from ToF on oak d sr poe to CAM_B * Lints * Pin numpy requirement. Fix OAK-D-SR not starting. * Bumped version. --- CHANGELOG.md | 6 ++ Cargo.lock | 70 +++++++++---------- Cargo.toml | 54 +++++++------- rerun_py/depthai_viewer/_backend/device.py | 3 + .../device_defaults/oak_d_sr_default.py | 33 +++++++++ rerun_py/depthai_viewer/requirements.txt | 2 +- 6 files changed, 105 insertions(+), 63 deletions(-) create mode 100644 rerun_py/depthai_viewer/_backend/device_defaults/oak_d_sr_default.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 164180e09c16..af84ae1bea28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # Depthai Viewer changelog +## 0.2.3 + +- Fixed https://github.com/luxonis/depthai-viewer/issues/66 , OAK-D-SR not starting correctly. +- Pinned numpy>=1.23,<2.0.0, because numpy 2.0.0 breaks depthai. + ## 0.2.2 + - Added `--viewer-mode` flag. Mostly intended for internal use, when using the viewer as if it was stock rerun (doesn't install the dependencies and doesn't try to connect to a device.). main benefit over stock rerun are albedo textured depth clouds. ## 0.2.1 diff --git a/Cargo.lock b/Cargo.lock index 931a277e9cb9..a0b3b91d871a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -174,7 +174,7 @@ checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "api_demo" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", "clap 4.4.11", @@ -1390,7 +1390,7 @@ dependencies = [ [[package]] name = "depthai-viewer" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", "backtrace", @@ -1495,7 +1495,7 @@ dependencies = [ [[package]] name = "dna" -version = "0.2.2" +version = "0.2.3" dependencies = [ "depthai-viewer", "itertools", @@ -3105,7 +3105,7 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minimal" -version = "0.2.2" +version = "0.2.3" dependencies = [ "depthai-viewer", ] @@ -3118,7 +3118,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "minimal_options" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", "clap 4.4.11", @@ -3599,7 +3599,7 @@ dependencies = [ [[package]] name = "objectron" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", "clap 4.4.11", @@ -4324,7 +4324,7 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "raw_mesh" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", "bytes", @@ -4371,7 +4371,7 @@ dependencies = [ [[package]] name = "re_analytics" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", "crossbeam", @@ -4392,7 +4392,7 @@ dependencies = [ [[package]] name = "re_arrow_store" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "anyhow", @@ -4419,7 +4419,7 @@ dependencies = [ [[package]] name = "re_build_build_info" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", "time", @@ -4427,18 +4427,18 @@ dependencies = [ [[package]] name = "re_build_info" -version = "0.2.2" +version = "0.2.3" [[package]] name = "re_build_web_viewer" -version = "0.2.2" +version = "0.2.3" dependencies = [ "cargo_metadata", ] [[package]] name = "re_data_store" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "criterion", @@ -4461,14 +4461,14 @@ dependencies = [ [[package]] name = "re_error" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", ] [[package]] name = "re_format" -version = "0.2.2" +version = "0.2.3" dependencies = [ "arrow2", "arrow2_convert", @@ -4478,7 +4478,7 @@ dependencies = [ [[package]] name = "re_int_histogram" -version = "0.2.2" +version = "0.2.3" dependencies = [ "criterion", "insta", @@ -4489,7 +4489,7 @@ dependencies = [ [[package]] name = "re_log" -version = "0.2.2" +version = "0.2.3" dependencies = [ "env_logger", "js-sys", @@ -4502,7 +4502,7 @@ dependencies = [ [[package]] name = "re_log_encoding" -version = "0.2.2" +version = "0.2.3" dependencies = [ "criterion", "ehttp", @@ -4527,7 +4527,7 @@ dependencies = [ [[package]] name = "re_log_types" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "array-init", @@ -4566,7 +4566,7 @@ dependencies = [ [[package]] name = "re_memory" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "backtrace", @@ -4586,7 +4586,7 @@ dependencies = [ [[package]] name = "re_query" -version = "0.2.2" +version = "0.2.3" dependencies = [ "arrow2", "criterion", @@ -4604,7 +4604,7 @@ dependencies = [ [[package]] name = "re_renderer" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "anyhow", @@ -4657,7 +4657,7 @@ dependencies = [ [[package]] name = "re_sdk" -version = "0.2.2" +version = "0.2.3" dependencies = [ "arrow2_convert", "document-features", @@ -4677,7 +4677,7 @@ dependencies = [ [[package]] name = "re_sdk_comms" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "anyhow", @@ -4693,7 +4693,7 @@ dependencies = [ [[package]] name = "re_smart_channel" -version = "0.2.2" +version = "0.2.3" dependencies = [ "crossbeam", "instant", @@ -4701,7 +4701,7 @@ dependencies = [ [[package]] name = "re_string_interner" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "nohash-hasher", @@ -4712,7 +4712,7 @@ dependencies = [ [[package]] name = "re_tensor_ops" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "ndarray", @@ -4722,7 +4722,7 @@ dependencies = [ [[package]] name = "re_tuid" -version = "0.2.2" +version = "0.2.3" dependencies = [ "arrow2", "arrow2_convert", @@ -4736,7 +4736,7 @@ dependencies = [ [[package]] name = "re_ui" -version = "0.2.2" +version = "0.2.3" dependencies = [ "eframe", "egui", @@ -4755,7 +4755,7 @@ dependencies = [ [[package]] name = "re_viewer" -version = "0.2.2" +version = "0.2.3" dependencies = [ "ahash", "anyhow", @@ -4830,7 +4830,7 @@ dependencies = [ [[package]] name = "re_web_viewer_server" -version = "0.2.2" +version = "0.2.3" dependencies = [ "cargo_metadata", "ctrlc", @@ -4847,7 +4847,7 @@ dependencies = [ [[package]] name = "re_ws_comms" -version = "0.2.2" +version = "0.2.3" dependencies = [ "anyhow", "bincode", @@ -4987,7 +4987,7 @@ dependencies = [ [[package]] name = "rerun_py" -version = "0.2.2" +version = "0.2.3" dependencies = [ "arrow2", "depthai-viewer", @@ -5106,7 +5106,7 @@ dependencies = [ [[package]] name = "run_wasm" -version = "0.2.2" +version = "0.2.3" dependencies = [ "cargo-run-wasm", "pico-args", @@ -5876,7 +5876,7 @@ dependencies = [ [[package]] name = "test_image_memory" -version = "0.2.2" +version = "0.2.3" dependencies = [ "depthai-viewer", "mimalloc", diff --git a/Cargo.toml b/Cargo.toml index 9575a8d28ed3..a35102e0e906 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,39 +16,39 @@ include = ["../../LICENSE-APACHE", "../../LICENSE-MIT", "**/*.rs", "Cargo.toml"] license = "MIT OR Apache-2.0" repository = "https://github.com/rerun-io/rerun" rust-version = "1.74" -version = "0.2.2" +version = "0.2.3" [workspace.dependencies] # When using alpha-release, always use exact version, e.g. `version = "=0.x.y-alpha.z" # This is because we treat alpha-releases as incompatible, but semver doesn't. # In particular: if we compile rerun 0.3.0-alpha.0 we only want it to use # re_log_types 0.3.0-alpha.0, NOT 0.3.0-alpha.4 even though it is newer and semver-compatible. -re_sdk_comms = { path = "crates/re_sdk_comms", version = "0.2.2" } -re_analytics = { path = "crates/re_analytics", version = "0.2.2" } -re_arrow_store = { path = "crates/re_arrow_store", version = "0.2.2" } -re_build_build_info = { path = "crates/re_build_build_info", version = "0.2.2" } -re_build_info = { path = "crates/re_build_info", version = "0.2.2" } -re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "0.2.2", default-features = false } -re_data_store = { path = "crates/re_data_store", version = "0.2.2" } -re_error = { path = "crates/re_error", version = "0.2.2" } -re_format = { path = "crates/re_format", version = "0.2.2" } -re_int_histogram = { path = "crates/re_int_histogram", version = "0.2.2" } -re_log = { path = "crates/re_log", version = "0.2.2" } -re_log_encoding = { path = "crates/re_log_encoding", version = "0.2.2" } -re_log_types = { path = "crates/re_log_types", version = "0.2.2" } -re_memory = { path = "crates/re_memory", version = "0.2.2" } -re_query = { path = "crates/re_query", version = "0.2.2" } -re_renderer = { path = "crates/re_renderer", version = "0.2.2", default-features = false } -re_sdk = { path = "crates/re_sdk", version = "0.2.2" } -re_smart_channel = { path = "crates/re_smart_channel", version = "0.2.2" } -re_string_interner = { path = "crates/re_string_interner", version = "0.2.2" } -re_tensor_ops = { path = "crates/re_tensor_ops", version = "0.2.2" } -re_tuid = { path = "crates/re_tuid", version = "0.2.2" } -re_ui = { path = "crates/re_ui", version = "0.2.2" } -re_viewer = { path = "crates/re_viewer", version = "0.2.2", default-features = false } -re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "0.2.2" } -re_ws_comms = { path = "crates/re_ws_comms", version = "0.2.2" } -depthai-viewer = { path = "crates/rerun", version = "0.2.2" } +re_sdk_comms = { path = "crates/re_sdk_comms", version = "0.2.3" } +re_analytics = { path = "crates/re_analytics", version = "0.2.3" } +re_arrow_store = { path = "crates/re_arrow_store", version = "0.2.3" } +re_build_build_info = { path = "crates/re_build_build_info", version = "0.2.3" } +re_build_info = { path = "crates/re_build_info", version = "0.2.3" } +re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "0.2.3", default-features = false } +re_data_store = { path = "crates/re_data_store", version = "0.2.3" } +re_error = { path = "crates/re_error", version = "0.2.3" } +re_format = { path = "crates/re_format", version = "0.2.3" } +re_int_histogram = { path = "crates/re_int_histogram", version = "0.2.3" } +re_log = { path = "crates/re_log", version = "0.2.3" } +re_log_encoding = { path = "crates/re_log_encoding", version = "0.2.3" } +re_log_types = { path = "crates/re_log_types", version = "0.2.3" } +re_memory = { path = "crates/re_memory", version = "0.2.3" } +re_query = { path = "crates/re_query", version = "0.2.3" } +re_renderer = { path = "crates/re_renderer", version = "0.2.3", default-features = false } +re_sdk = { path = "crates/re_sdk", version = "0.2.3" } +re_smart_channel = { path = "crates/re_smart_channel", version = "0.2.3" } +re_string_interner = { path = "crates/re_string_interner", version = "0.2.3" } +re_tensor_ops = { path = "crates/re_tensor_ops", version = "0.2.3" } +re_tuid = { path = "crates/re_tuid", version = "0.2.3" } +re_ui = { path = "crates/re_ui", version = "0.2.3" } +re_viewer = { path = "crates/re_viewer", version = "0.2.3", default-features = false } +re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "0.2.3" } +re_ws_comms = { path = "crates/re_ws_comms", version = "0.2.3" } +depthai-viewer = { path = "crates/rerun", version = "0.2.3" } ahash = "0.8" anyhow = "1.0" diff --git a/rerun_py/depthai_viewer/_backend/device.py b/rerun_py/depthai_viewer/_backend/device.py index fd7df925f4ef..729da9c55ab2 100644 --- a/rerun_py/depthai_viewer/_backend/device.py +++ b/rerun_py/depthai_viewer/_backend/device.py @@ -35,6 +35,7 @@ from depthai_viewer._backend.device_defaults import ( oak_d_generic_default, oak_d_lr_default, + oak_d_sr_default, oak_d_sr_poe_default, oak_t_default, ) @@ -402,6 +403,8 @@ def update_pipeline(self, runtime_only: bool) -> Message: config = oak_t_default.config elif self._oak.device.getDeviceName() == "OAK-D-SR-POE": config = oak_d_sr_poe_default.config + elif self._oak.device.getDeviceName() == "OAK-D-SR": + config = oak_d_sr_default.config elif self._oak.device.getDeviceName() == "OAK-D-LR": config = oak_d_lr_default.config elif "OAK-D" in self._oak.device.getDeviceName(): diff --git a/rerun_py/depthai_viewer/_backend/device_defaults/oak_d_sr_default.py b/rerun_py/depthai_viewer/_backend/device_defaults/oak_d_sr_default.py new file mode 100644 index 000000000000..39b22002f52d --- /dev/null +++ b/rerun_py/depthai_viewer/_backend/device_defaults/oak_d_sr_default.py @@ -0,0 +1,33 @@ +import depthai as dai +from depthai_viewer._backend.device_configuration import ( + AiModelConfiguration, + CameraConfiguration, + CameraSensorResolution, + PipelineConfiguration, + StereoDepthConfiguration, +) + +config = PipelineConfiguration( + cameras=[ + CameraConfiguration( + fps=15, + resolution=CameraSensorResolution.THE_480_P, + kind=dai.CameraSensorType.COLOR, + board_socket=dai.CameraBoardSocket.CAM_B, + stream_enabled=True, + name="Left", + ), + CameraConfiguration( + fps=15, + resolution=CameraSensorResolution.THE_480_P, + kind=dai.CameraSensorType.COLOR, + board_socket=dai.CameraBoardSocket.CAM_C, + stream_enabled=True, + name="Right", + ), + ], + stereo=StereoDepthConfiguration( + align=dai.CameraBoardSocket.CAM_B, stereo_pair=(dai.CameraBoardSocket.CAM_B, dai.CameraBoardSocket.CAM_C) + ), + ai_model=AiModelConfiguration(camera=dai.CameraBoardSocket.CAM_B), +) diff --git a/rerun_py/depthai_viewer/requirements.txt b/rerun_py/depthai_viewer/requirements.txt index 793536b93c9a..829bed13cdfc 100644 --- a/rerun_py/depthai_viewer/requirements.txt +++ b/rerun_py/depthai_viewer/requirements.txt @@ -1,4 +1,4 @@ -numpy>=1.23 +numpy>=1.23,<2.0.0 pyarrow==16.0.0 setuptools ahrs