From 232c42c357455e40fa2388c81931208dc9c466f0 Mon Sep 17 00:00:00 2001 From: zrezke Date: Wed, 21 Jun 2023 23:46:46 +0200 Subject: [PATCH] Removed turbo jpeg dependency, fill in changelog --- CHANGELOG.md | 11 +++ Cargo.lock | 70 +++++++++---------- Cargo.toml | 54 +++++++------- .../re_viewer/src/ui/device_settings_panel.rs | 2 +- rerun_py/depthai_viewer/_backend/device.py | 7 +- rerun_py/depthai_viewer/_backend/messages.py | 3 +- .../depthai_viewer/_backend/packet_handler.py | 6 +- rerun_py/depthai_viewer/_backend/store.py | 6 +- rerun_py/depthai_viewer/requirements.txt | 1 - 9 files changed, 82 insertions(+), 78 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56cdd155abba..7b82d74d3550 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Depthai Viewer changelog +## 0.1.0 +Depthai Viewer official Beta release on pypi! + +- Performance improvements +- Better Auto Layouts +- Tweaks to UI for a better UX + +## 0.0.8-alpha.0 + +- Pre-release + ## 0.0.7 - Install depthai_sdk from artifactory diff --git a/Cargo.lock b/Cargo.lock index d0ebcc97a6c8..d5a7410a78b2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -124,7 +124,7 @@ checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" [[package]] name = "api_demo" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", "clap 4.1.4", @@ -1277,7 +1277,7 @@ dependencies = [ [[package]] name = "depthai-viewer" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", "backtrace", @@ -1392,7 +1392,7 @@ dependencies = [ [[package]] name = "dna" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "depthai-viewer", "itertools", @@ -2832,7 +2832,7 @@ dependencies = [ [[package]] name = "minimal" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "depthai-viewer", ] @@ -2845,7 +2845,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "minimal_options" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", "clap 4.1.4", @@ -3263,7 +3263,7 @@ dependencies = [ [[package]] name = "objectron" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", "clap 4.1.4", @@ -3881,7 +3881,7 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "raw_mesh" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", "bytes", @@ -3921,7 +3921,7 @@ dependencies = [ [[package]] name = "re_analytics" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", "crossbeam", @@ -3942,7 +3942,7 @@ dependencies = [ [[package]] name = "re_arrow_store" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -3969,7 +3969,7 @@ dependencies = [ [[package]] name = "re_build_build_info" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", "time 0.3.20", @@ -3977,18 +3977,18 @@ dependencies = [ [[package]] name = "re_build_info" -version = "0.0.8-alpha.0" +version = "0.1.0" [[package]] name = "re_build_web_viewer" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "cargo_metadata", ] [[package]] name = "re_data_store" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "criterion", @@ -4011,14 +4011,14 @@ dependencies = [ [[package]] name = "re_error" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", ] [[package]] name = "re_format" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "arrow2", "arrow2_convert", @@ -4028,7 +4028,7 @@ dependencies = [ [[package]] name = "re_int_histogram" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "criterion", "insta", @@ -4039,7 +4039,7 @@ dependencies = [ [[package]] name = "re_log" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "env_logger", "js-sys", @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "re_log_encoding" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "criterion", "ehttp", @@ -4077,7 +4077,7 @@ dependencies = [ [[package]] name = "re_log_types" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "array-init", @@ -4116,7 +4116,7 @@ dependencies = [ [[package]] name = "re_memory" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "backtrace", @@ -4136,7 +4136,7 @@ dependencies = [ [[package]] name = "re_query" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "arrow2", "criterion", @@ -4154,7 +4154,7 @@ dependencies = [ [[package]] name = "re_renderer" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -4207,7 +4207,7 @@ dependencies = [ [[package]] name = "re_sdk" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "arrow2_convert", "document-features", @@ -4227,7 +4227,7 @@ dependencies = [ [[package]] name = "re_sdk_comms" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -4243,7 +4243,7 @@ dependencies = [ [[package]] name = "re_smart_channel" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "crossbeam", "instant", @@ -4251,7 +4251,7 @@ dependencies = [ [[package]] name = "re_string_interner" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "nohash-hasher", @@ -4262,7 +4262,7 @@ dependencies = [ [[package]] name = "re_tensor_ops" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "ndarray", @@ -4272,7 +4272,7 @@ dependencies = [ [[package]] name = "re_tuid" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "arrow2", "arrow2_convert", @@ -4286,7 +4286,7 @@ dependencies = [ [[package]] name = "re_ui" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "eframe", "egui", @@ -4305,7 +4305,7 @@ dependencies = [ [[package]] name = "re_viewer" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "ahash 0.8.2", "anyhow", @@ -4376,7 +4376,7 @@ dependencies = [ [[package]] name = "re_web_viewer_server" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "cargo_metadata", "ctrlc", @@ -4393,7 +4393,7 @@ dependencies = [ [[package]] name = "re_ws_comms" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "anyhow", "bincode", @@ -4465,7 +4465,7 @@ checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" [[package]] name = "rerun_py" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "arrow2", "depthai-viewer", @@ -4569,7 +4569,7 @@ dependencies = [ [[package]] name = "run_wasm" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "cargo-run-wasm", "pico-args", @@ -5123,7 +5123,7 @@ dependencies = [ [[package]] name = "test_image_memory" -version = "0.0.8-alpha.0" +version = "0.1.0" dependencies = [ "depthai-viewer", "mimalloc", diff --git a/Cargo.toml b/Cargo.toml index 5e1442a43535..46bd58949df0 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.67" -version = "0.0.8-alpha.0" +version = "0.1.0" [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.0.8-alpha.0" } -re_analytics = { path = "crates/re_analytics", version = "0.0.8-alpha.0" } -re_arrow_store = { path = "crates/re_arrow_store", version = "0.0.8-alpha.0" } -re_build_build_info = { path = "crates/re_build_build_info", version = "0.0.8-alpha.0" } -re_build_info = { path = "crates/re_build_info", version = "0.0.8-alpha.0" } -re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "0.0.8-alpha.0" } -re_data_store = { path = "crates/re_data_store", version = "0.0.8-alpha.0" } -re_error = { path = "crates/re_error", version = "0.0.8-alpha.0" } -re_format = { path = "crates/re_format", version = "0.0.8-alpha.0" } -re_int_histogram = { path = "crates/re_int_histogram", version = "0.0.8-alpha.0" } -re_log = { path = "crates/re_log", version = "0.0.8-alpha.0" } -re_log_encoding = { path = "crates/re_log_encoding", version = "0.0.8-alpha.0" } -re_log_types = { path = "crates/re_log_types", version = "0.0.8-alpha.0" } -re_memory = { path = "crates/re_memory", version = "0.0.8-alpha.0" } -re_query = { path = "crates/re_query", version = "0.0.8-alpha.0" } -re_renderer = { path = "crates/re_renderer", version = "0.0.8-alpha.0", default-features = false } -re_sdk = { path = "crates/re_sdk", version = "0.0.8-alpha.0" } -re_smart_channel = { path = "crates/re_smart_channel", version = "0.0.8-alpha.0" } -re_string_interner = { path = "crates/re_string_interner", version = "0.0.8-alpha.0" } -re_tensor_ops = { path = "crates/re_tensor_ops", version = "0.0.8-alpha.0" } -re_tuid = { path = "crates/re_tuid", version = "0.0.8-alpha.0" } -re_ui = { path = "crates/re_ui", version = "0.0.8-alpha.0" } -re_viewer = { path = "crates/re_viewer", version = "0.0.8-alpha.0", default-features = false } -re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "0.0.8-alpha.0" } -re_ws_comms = { path = "crates/re_ws_comms", version = "0.0.8-alpha.0" } -depthai-viewer = { path = "crates/rerun", version = "0.0.8-alpha.0" } +re_sdk_comms = { path = "crates/re_sdk_comms", version = "0.1.0" } +re_analytics = { path = "crates/re_analytics", version = "0.1.0" } +re_arrow_store = { path = "crates/re_arrow_store", version = "0.1.0" } +re_build_build_info = { path = "crates/re_build_build_info", version = "0.1.0" } +re_build_info = { path = "crates/re_build_info", version = "0.1.0" } +re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "0.1.0" } +re_data_store = { path = "crates/re_data_store", version = "0.1.0" } +re_error = { path = "crates/re_error", version = "0.1.0" } +re_format = { path = "crates/re_format", version = "0.1.0" } +re_int_histogram = { path = "crates/re_int_histogram", version = "0.1.0" } +re_log = { path = "crates/re_log", version = "0.1.0" } +re_log_encoding = { path = "crates/re_log_encoding", version = "0.1.0" } +re_log_types = { path = "crates/re_log_types", version = "0.1.0" } +re_memory = { path = "crates/re_memory", version = "0.1.0" } +re_query = { path = "crates/re_query", version = "0.1.0" } +re_renderer = { path = "crates/re_renderer", version = "0.1.0", default-features = false } +re_sdk = { path = "crates/re_sdk", version = "0.1.0" } +re_smart_channel = { path = "crates/re_smart_channel", version = "0.1.0" } +re_string_interner = { path = "crates/re_string_interner", version = "0.1.0" } +re_tensor_ops = { path = "crates/re_tensor_ops", version = "0.1.0" } +re_tuid = { path = "crates/re_tuid", version = "0.1.0" } +re_ui = { path = "crates/re_ui", version = "0.1.0" } +re_viewer = { path = "crates/re_viewer", version = "0.1.0", default-features = false } +re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "0.1.0" } +re_ws_comms = { path = "crates/re_ws_comms", version = "0.1.0" } +depthai-viewer = { path = "crates/rerun", version = "0.1.0" } ahash = "0.8" anyhow = "1.0" diff --git a/crates/re_viewer/src/ui/device_settings_panel.rs b/crates/re_viewer/src/ui/device_settings_panel.rs index 8a17f8d2b9d3..8cb191fb9bd7 100644 --- a/crates/re_viewer/src/ui/device_settings_panel.rs +++ b/crates/re_viewer/src/ui/device_settings_panel.rs @@ -197,7 +197,7 @@ impl DeviceSettingsPanel { ); ctx.re_ui.labeled_dragvalue( ui, - egui::Id::from("fps"), + egui::Id::from("fps"), // TODO(filip): using "fps" as id causes all fps sliders to be linked - This is a bug, but also kind of a feature None, "FPS", &mut camera_config.fps, diff --git a/rerun_py/depthai_viewer/_backend/device.py b/rerun_py/depthai_viewer/_backend/device.py index 03bad6403db4..d874879f31ec 100644 --- a/rerun_py/depthai_viewer/_backend/device.py +++ b/rerun_py/depthai_viewer/_backend/device.py @@ -4,15 +4,15 @@ from typing import Dict, List, Optional, Tuple import depthai as dai -import depthai_viewer as viewer import numpy as np from depthai_sdk import OakCamera from depthai_sdk.components import CameraComponent, NNComponent, StereoComponent from depthai_sdk.components.camera_helper import ( - colorResolutions, getClosestIspScale, - monoResolutions, ) +from numpy.typing import NDArray + +import depthai_viewer as viewer from depthai_viewer._backend import classification_labels from depthai_viewer._backend.device_configuration import ( CameraConfiguration, @@ -40,7 +40,6 @@ SyncedCallbackArgs, ) from depthai_viewer._backend.store import Store -from numpy.typing import NDArray class XlinkStatistics: diff --git a/rerun_py/depthai_viewer/_backend/messages.py b/rerun_py/depthai_viewer/_backend/messages.py index 3c3c04e0e63d..10358dbb8cb4 100644 --- a/rerun_py/depthai_viewer/_backend/messages.py +++ b/rerun_py/depthai_viewer/_backend/messages.py @@ -2,9 +2,10 @@ from enum import Enum from typing import List, Optional -from depthai_viewer._backend.device_configuration import DeviceProperties, PipelineConfiguration import depthai as dai +from depthai_viewer._backend.device_configuration import DeviceProperties, PipelineConfiguration + class MessageType: SUBSCRIPTIONS = "Subscriptions" # Get or set subscriptions diff --git a/rerun_py/depthai_viewer/_backend/packet_handler.py b/rerun_py/depthai_viewer/_backend/packet_handler.py index c482021e623a..ea3cfca0e1c8 100644 --- a/rerun_py/depthai_viewer/_backend/packet_handler.py +++ b/rerun_py/depthai_viewer/_backend/packet_handler.py @@ -14,7 +14,6 @@ ) from numpy.typing import NDArray from pydantic import BaseModel -from turbojpeg import TJFLAG_FASTDCT, TJFLAG_FASTUPSAMPLE, TurboJPEG import depthai_viewer as viewer from depthai_viewer._backend.device_configuration import CameraConfiguration @@ -53,7 +52,6 @@ class PacketHandler: store: Store _ahrs: Mahony _get_camera_intrinsics: Callable[[dai.CameraBoardSocket, int, int], NDArray[np.float32]] - _jpeg_decoder: TurboJPEG = TurboJPEG() def __init__( self, store: Store, intrinsics_getter: Callable[[dai.CameraBoardSocket, int, int], NDArray[np.float32]] @@ -121,9 +119,7 @@ def _on_camera_frame(self, packet: FramePacket, board_socket: dai.CameraBoardSoc img_frame = packet.frame if packet.msg.getType() == dai.RawImgFrame.Type.RAW8 else packet.msg.getData() h, w = packet.msg.getHeight(), packet.msg.getWidth() if packet.msg.getType() == dai.ImgFrame.Type.BITSTREAM: - img_frame = cv2.cvtColor( - self._jpeg_decoder.decode(img_frame, flags=TJFLAG_FASTUPSAMPLE | TJFLAG_FASTDCT), cv2.COLOR_BGR2RGBA - ) + img_frame = cv2.cvtColor(cv2.imdecode(img_frame, cv2.IMREAD_UNCHANGED), cv2.COLOR_BGR2RGB) h, w = img_frame.shape[:2] child_from_parent: NDArray[np.float32] diff --git a/rerun_py/depthai_viewer/_backend/store.py b/rerun_py/depthai_viewer/_backend/store.py index 4bd1135d8f75..dbf074715e5a 100644 --- a/rerun_py/depthai_viewer/_backend/store.py +++ b/rerun_py/depthai_viewer/_backend/store.py @@ -7,15 +7,13 @@ class Store: - """ - This class is used to store common data that is used by the backend. - """ + """Used to store common data that is used by the backend.""" _pipeline_config: Optional[PipelineConfiguration] = None _subscriptions: List[Topic] = [] _send_message_queue: Queue # type: ignore[type-arg] - def __init__(self): + def __init__(self) -> None: self._send_message_queue = Queue() def set_pipeline_config(self, pipeline_config: PipelineConfiguration) -> None: diff --git a/rerun_py/depthai_viewer/requirements.txt b/rerun_py/depthai_viewer/requirements.txt index 6951baf051db..9db721fae628 100644 --- a/rerun_py/depthai_viewer/requirements.txt +++ b/rerun_py/depthai_viewer/requirements.txt @@ -7,4 +7,3 @@ depthai==2.22.0.0 websockets pydantic deprecated -pyturbojpeg==1.7.1