@luxonis/visualizer-protobuf 2.66.9 → 2.66.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-C41fk9FJ.js → index-BHSCyWTx.js} +22 -22
- package/dist/{index-Clq69yV3.js → index-BOSTLpqR.js} +101 -31
- package/dist/{index-Ct1D6II_.js → index-BwR3Iw0A.js} +1 -1
- package/dist/{index-0xvyd9_r.js → index-C5g4sPQV.js} +1 -1
- package/dist/{index-Bb6PcuFb.js → index-CFJCMpe3.js} +1 -1
- package/dist/{index-BZBENqR3.js → index-CMk3yuIe.js} +1 -1
- package/dist/{index-DuwwCf0Y.js → index-CT4S0Kky.js} +1 -1
- package/dist/{index-BWnke17_.js → index-Cux47RKo.js} +1 -1
- package/dist/{index-Cyl0afzE.js → index-DKiZ2X4o.js} +1 -1
- package/dist/{index-AReJXz0b.js → index-DgB4MyqP.js} +1 -1
- package/dist/{index-CyYbEgIe.js → index-DgsLl2EF.js} +1 -1
- package/dist/{index-CAKA0YwJ.js → index-DjfMAVx2.js} +2 -2
- package/dist/{index-BJslJPfz.js → index-DoUU7hig.js} +1 -1
- package/dist/{index-DnFWiYGu.js → index-Dq_6x13l.js} +1 -1
- package/dist/{index-DkTZCwWX.js → index-H7DkPNZj.js} +1 -1
- package/dist/{index-nO2O7il5.js → index-QTvh2vP4.js} +1 -1
- package/dist/{index-JFZDeEB8.js → index-kNDsHDY4.js} +1 -1
- package/dist/{index-CRGrBIhH.js → index-v8qHRTgH.js} +1 -1
- package/dist/{index-D-mDIWK_.js → index-w7ND8d2T.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js +54 -39
- package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js.map +1 -1
- package/dist/lib/src/messaging/deserialization.worker.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.d.ts +1 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js +95 -28
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.js.map +1 -1
- package/dist/{pointcloudFromDepth.worker-hil48rbC.js → pointcloudFromDepth.worker-CoUfUVnZ.js} +55 -40
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageAnnotations.js","sourceRoot":"","sources":["../../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,CAAC,EAAE,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AAOpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,MAAM,+BAA+B,GAAG,iCAAiC,CAAC;AAmB1E,gHAAgH;AAChH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,gCAAgC;IAChC,oCAAoC;IACpC,8BAA8B;IAC9B,kCAAkC;IAClC,8BAA8B;CAC/B,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAC;IAC/C,GAAG,2BAA2B;IAC9B,GAAG,sBAAsB;IACzB,GAAG,4BAA4B;IAC/B,GAAG,yBAAyB;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK,CAAC,QAAQ;IAClD,QAAQ,CAA0B;IAElC,mBAAmB,GAAG,IAAI,GAAG,EAAyC,CAAC;IACvE,YAAY,CAAsB;IAElC,MAAM,CAAS;IACf,YAAY,CAAS;IACrB,aAAa,CAAS;IACtB,WAAW,CAAS;IACpB,YAAY,CAAS;IACrB,WAAW,CAAS;IAEb,0BAA0B,GAAG,gCAAgC,CAAC;IAErE,YAAmB,OAAgC;QACjD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageAnnotations.js","sourceRoot":"","sources":["../../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.ts"],"names":[],"mappings":"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"}
|
package/dist/{pointcloudFromDepth.worker-hil48rbC.js → pointcloudFromDepth.worker-CoUfUVnZ.js}
RENAMED
|
@@ -5,7 +5,7 @@ import { i as i420ToRgbaToPointcloud } from './utils-Hzt3wxhG.js';
|
|
|
5
5
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
6
6
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
7
7
|
/// <reference types="@webgpu/types" />
|
|
8
|
-
function depthToPointCloudBuffer(uint16Array, width, height, fx, fy) {
|
|
8
|
+
function depthToPointCloudBuffer(uint16Array, width, height, fx, fy, maxSteroDepth) {
|
|
9
9
|
const numPixels = width * height;
|
|
10
10
|
const points = new Float32Array(numPixels * 3);
|
|
11
11
|
for (let v = 0; v < height; v++) {
|
|
@@ -23,6 +23,13 @@ function depthToPointCloudBuffer(uint16Array, width, height, fx, fy) {
|
|
|
23
23
|
x = (u - imageCenterX) * scaledDepth / fx;
|
|
24
24
|
y = (v - imageCenterY) * scaledDepth / fy;
|
|
25
25
|
z = scaledDepth;
|
|
26
|
+
|
|
27
|
+
// Filter out points beyond maxSteroDepth
|
|
28
|
+
if (z > maxSteroDepth) {
|
|
29
|
+
x = 0.0;
|
|
30
|
+
y = 0.0;
|
|
31
|
+
z = 0.0;
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
34
|
const pointOffset = pixelIndex * 3;
|
|
28
35
|
points[pointOffset] = x;
|
|
@@ -62,6 +69,7 @@ struct Intrinsics {
|
|
|
62
69
|
i420Height: f32,
|
|
63
70
|
numFrames_f: f32,
|
|
64
71
|
bytesPerI420Frame_f: f32,
|
|
72
|
+
maxSteroDepth: f32,
|
|
65
73
|
};
|
|
66
74
|
|
|
67
75
|
struct OutputPointData {
|
|
@@ -129,44 +137,52 @@ fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
|
|
|
129
137
|
let fx = intrinsics.fx;
|
|
130
138
|
let fy = intrinsics.fy;
|
|
131
139
|
let depthScale = intrinsics.depthScale;
|
|
140
|
+
let maxSteroDepth = intrinsics.maxSteroDepth;
|
|
132
141
|
if (rawDepthU16 > 0u && fx != 0.0 && fy != 0.0 && depthScale > 0.0) {
|
|
133
142
|
let z = f32(rawDepthU16) * depthScale;
|
|
134
143
|
let imageCenterX = f32(depthWidth) * 0.5;
|
|
135
144
|
let imageCenterY = f32(depthHeight) * 0.5;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
let
|
|
157
|
-
let
|
|
158
|
-
let
|
|
159
|
-
let
|
|
160
|
-
let
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
145
|
+
let x = (u - imageCenterX) * z / fx;
|
|
146
|
+
let y = (v - imageCenterY) * z / fy;
|
|
147
|
+
|
|
148
|
+
// Filter out points beyond maxSteroDepth
|
|
149
|
+
if (z <= maxSteroDepth) {
|
|
150
|
+
outputPoint.x = x;
|
|
151
|
+
outputPoint.y = y;
|
|
152
|
+
outputPoint.z = z;
|
|
153
|
+
|
|
154
|
+
if (i420WidthU > 0u && i420HeightU > 0u && bytesPerI420Frame > 0u) {
|
|
155
|
+
let i420X = min(i420WidthU - 1u, u32(floor(u * (intrinsics.i420Width / intrinsics.depthWidth))));
|
|
156
|
+
let i420Y = min(i420HeightU - 1u, u32(floor(v * (intrinsics.i420Height / intrinsics.depthHeight))));
|
|
157
|
+
let frameSizeY = i420WidthU * i420HeightU;
|
|
158
|
+
let uvWidth = (i420WidthU + 1u) / 2u;
|
|
159
|
+
let uvHeight = (i420HeightU + 1u) / 2u;
|
|
160
|
+
let frameSizeUV = uvWidth * uvHeight;
|
|
161
|
+
let uOffsetBytes = frameSizeY;
|
|
162
|
+
let vOffsetBytes = frameSizeY + frameSizeUV;
|
|
163
|
+
let yIndexBytes = i420Y * i420WidthU + i420X;
|
|
164
|
+
let uvX = i420X / 2u;
|
|
165
|
+
let uvY = i420Y / 2u;
|
|
166
|
+
let uvIndexBytes = uvY * uvWidth + uvX;
|
|
167
|
+
let uIndexBytes = uOffsetBytes + uvIndexBytes;
|
|
168
|
+
let vIndexBytes = vOffsetBytes + uvIndexBytes;
|
|
169
|
+
let i420BufferTotalElements = arrayLength(&i420Buffer);
|
|
170
|
+
if (yIndexBytes < bytesPerI420Frame && uIndexBytes < bytesPerI420Frame && vIndexBytes < bytesPerI420Frame && (i420_frame_offset + (vIndexBytes / 4u)) < i420BufferTotalElements) {
|
|
171
|
+
let y_byte = getI420Byte(yIndexBytes, i420_frame_offset, i420BufferTotalElements);
|
|
172
|
+
let u_byte = getI420Byte(uIndexBytes, i420_frame_offset, i420BufferTotalElements);
|
|
173
|
+
let v_byte = getI420Byte(vIndexBytes, i420_frame_offset, i420BufferTotalElements);
|
|
174
|
+
let y_f = f32(y_byte);
|
|
175
|
+
let u_f = f32(u_byte) - 128.0;
|
|
176
|
+
let v_f = f32(v_byte) - 128.0;
|
|
177
|
+
var r_f = y_f + 1.402 * v_f;
|
|
178
|
+
var g_f = y_f - 0.344136 * u_f - 0.714136 * v_f;
|
|
179
|
+
var b_f = y_f + 1.772 * u_f;
|
|
180
|
+
let r = u32(clamp(r_f, 0.0, 255.0)) & 0xFFu;
|
|
181
|
+
let g = u32(clamp(g_f, 0.0, 255.0)) & 0xFFu;
|
|
182
|
+
let b = u32(clamp(b_f, 0.0, 255.0)) & 0xFFu;
|
|
183
|
+
let a = 255u;
|
|
184
|
+
outputPoint.color = (r) | (g << 8u) | (b << 16u) | (a << 24u);
|
|
185
|
+
}
|
|
170
186
|
}
|
|
171
187
|
}
|
|
172
188
|
}
|
|
@@ -174,9 +190,8 @@ fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
|
|
|
174
190
|
xyzColorBuffer[global_output_idx] = outputPoint;
|
|
175
191
|
}
|
|
176
192
|
}
|
|
177
|
-
|
|
178
193
|
`;
|
|
179
|
-
async function depthToPointcloudGPU(depthFrames, depthWidth, depthHeight, fx, fy, cx, cy, i420Frames, i420Width, i420Height, {
|
|
194
|
+
async function depthToPointcloudGPU(depthFrames, depthWidth, depthHeight, fx, fy, cx, cy, i420Frames, i420Width, i420Height, maxSteroDepth, {
|
|
180
195
|
hasGPU
|
|
181
196
|
}) {
|
|
182
197
|
const numFrames = depthFrames.length;
|
|
@@ -207,7 +222,7 @@ async function depthToPointcloudGPU(depthFrames, depthWidth, depthHeight, fx, fy
|
|
|
207
222
|
continue;
|
|
208
223
|
}
|
|
209
224
|
try {
|
|
210
|
-
const xyzData = depthToPointCloudBuffer(depthFrame, depthWidth, depthHeight, fx, fy);
|
|
225
|
+
const xyzData = depthToPointCloudBuffer(depthFrame, depthWidth, depthHeight, fx, fy, maxSteroDepth);
|
|
211
226
|
results.push(i420ToRgbaToPointcloud(colorFrame, i420Width, i420Height, depthWidth, depthHeight, xyzData));
|
|
212
227
|
} catch (cpuError) {
|
|
213
228
|
console.error(`CPU Fallback: Error processing frame ${i}:`, cpuError);
|
|
@@ -241,7 +256,7 @@ async function depthToPointcloudGPU(depthFrames, depthWidth, depthHeight, fx, fy
|
|
|
241
256
|
}
|
|
242
257
|
const i420AlignedStrideBytes = Math.ceil(i420BytesPerFrame / 4) * 4;
|
|
243
258
|
const totalI420BufferSize = i420AlignedStrideBytes * numFrames;
|
|
244
|
-
const intrinsicsData = new Float32Array([fx, fy, cx, cy, depthScale, depthWidth, depthHeight, i420Width, i420Height, numFrames, i420BytesPerFrame]);
|
|
259
|
+
const intrinsicsData = new Float32Array([fx, fy, cx, cy, depthScale, depthWidth, depthHeight, i420Width, i420Height, numFrames, i420BytesPerFrame, maxSteroDepth]);
|
|
245
260
|
const intrinsicsBufferSize = Math.max(intrinsicsData.byteLength, 64);
|
|
246
261
|
intrinsicsBuffer = device.createBuffer({
|
|
247
262
|
label: "Intrinsics Buffer",
|
|
@@ -431,7 +446,7 @@ async function depthToPointcloudGPU(depthFrames, depthWidth, depthHeight, fx, fy
|
|
|
431
446
|
continue;
|
|
432
447
|
}
|
|
433
448
|
try {
|
|
434
|
-
const xyzData = depthToPointCloudBuffer(depthFrame, depthWidth, depthHeight, fx, fy);
|
|
449
|
+
const xyzData = depthToPointCloudBuffer(depthFrame, depthWidth, depthHeight, fx, fy, maxSteroDepth);
|
|
435
450
|
results.push(i420ToRgbaToPointcloud(colorFrame, i420Width, i420Height, depthWidth, depthHeight, xyzData));
|
|
436
451
|
} catch (cpuError) {
|
|
437
452
|
console.error(`CPU Fallback (error path): Error processing frame ${i}:`, cpuError);
|