Skip to content

Commit 788adb7

Browse files
committed
gRPC-based Endoscopy Tool Tracking application with Data Flow Tracking
Signed-off-by: Victor Chang <vicchang@nvidia.com>
1 parent 78fc53b commit 788adb7

25 files changed

+1612
-4
lines changed

.vscode/launch.json

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -915,6 +915,76 @@
915915
},
916916
//#endregion ucx_h264_endoscopy_tool_tracking
917917

918+
919+
//#region grpc_endoscopy_tool_tracking
920+
{
921+
"name": "(gdb) grpc_endoscopy_tool_tracking/cpp (edge)",
922+
"type": "cppdbg",
923+
"request": "launch",
924+
"preLaunchTask": "Build grpc_endoscopy_tool_tracking (delay 3s)",
925+
"program": "${workspaceFolder}/build/grpc_endoscopy_tool_tracking/applications/distributed/grpc/grpc_endoscopy_tool_tracking/cpp/grpc_endoscopy_tool_tracking_edge",
926+
"environment": [
927+
{
928+
"name": "HOLOSCAN_INPUT_PATH",
929+
"value": "${env:HOLOHUB_DATA_DIR}/endoscopy"
930+
},
931+
{
932+
"name": "HOLOSCAN_LOG_LEVEL",
933+
"value": "INFO"
934+
}
935+
],
936+
"stopAtEntry": false,
937+
"cwd": "${workspaceFolder}/build/grpc_endoscopy_tool_tracking/applications/distributed/grpc/grpc_endoscopy_tool_tracking/cpp",
938+
"externalConsole": false,
939+
"MIMode": "gdb",
940+
"setupCommands": [
941+
{
942+
"description": "Enable pretty-printing for gdb",
943+
"text": "-enable-pretty-printing",
944+
"ignoreFailures": true
945+
}
946+
],
947+
"presentation": {
948+
"hidden": false,
949+
"group": "grpc_endoscopy_tool_tracking",
950+
"order": 1
951+
}
952+
},
953+
{
954+
"name": "(gdb) grpc_endoscopy_tool_tracking/cpp (cloud)",
955+
"type": "cppdbg",
956+
"request": "launch",
957+
"preLaunchTask": "Build grpc_endoscopy_tool_tracking",
958+
"program": "${workspaceFolder}/build/grpc_endoscopy_tool_tracking/applications/distributed/grpc/grpc_endoscopy_tool_tracking/cpp/grpc_endoscopy_tool_tracking_cloud",
959+
"environment": [
960+
{
961+
"name": "HOLOSCAN_INPUT_PATH",
962+
"value": "${env:HOLOHUB_DATA_DIR}/endoscopy"
963+
},
964+
{
965+
"name": "HOLOSCAN_LOG_LEVEL",
966+
"value": "INFO"
967+
}
968+
],
969+
"stopAtEntry": false,
970+
"cwd": "${workspaceFolder}/build/grpc_endoscopy_tool_tracking/applications/distributed/grpc/grpc_endoscopy_tool_tracking/cpp",
971+
"externalConsole": false,
972+
"MIMode": "gdb",
973+
"setupCommands": [
974+
{
975+
"description": "Enable pretty-printing for gdb",
976+
"text": "-enable-pretty-printing",
977+
"ignoreFailures": true
978+
}
979+
],
980+
"presentation": {
981+
"hidden": false,
982+
"group": "grpc_endoscopy_tool_tracking",
983+
"order": 1
984+
}
985+
},
986+
//#endregion grpc_endoscopy_tool_tracking
987+
918988
//#region grpc_h264_endoscopy_tool_tracking
919989
{
920990
"name": "(gdb) grpc_h264_endoscopy_tool_tracking/cpp (edge)",
@@ -1227,6 +1297,20 @@
12271297
"order": 11
12281298
}
12291299
},
1300+
{
1301+
"name": "(compound) grpc_endoscopy_tool_tracking/cpp (cloud & edge)",
1302+
"configurations": [
1303+
"(gdb) grpc_endoscopy_tool_tracking/cpp (cloud)",
1304+
"(gdb) grpc_endoscopy_tool_tracking/cpp (edge)"
1305+
],
1306+
"preLaunchTask": "Build grpc_endoscopy_tool_tracking",
1307+
"stopAll": true,
1308+
"presentation": {
1309+
"hidden": false,
1310+
"group": "grpc_endoscopy_tool_tracking",
1311+
"order": 11
1312+
}
1313+
},
12301314
{
12311315
"name": "(compound) grpc_h264_endoscopy_tool_tracking/cpp (cloud & edge)",
12321316
"configurations": [

.vscode/tasks.json

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,53 @@
272272
"group": "ucx_endoscopy_tool_tracking"
273273
}
274274
},
275+
{
276+
"type": "shell",
277+
"label": "Build grpc_endoscopy_tool_tracking",
278+
"command": "./run",
279+
"args": [
280+
"build",
281+
"grpc_endoscopy_tool_tracking",
282+
"--type",
283+
"debug"
284+
],
285+
"options": {
286+
"cwd": "${env:WORKSPACE_DIR}"
287+
},
288+
"group": "build",
289+
"problemMatcher": [],
290+
"detail": "CMake template build task",
291+
"presentation": {
292+
"echo": true,
293+
"reveal": "silent",
294+
"focus": true,
295+
"panel": "dedicated",
296+
"showReuseMessage": false,
297+
"clear": true,
298+
"group": "grpc_endoscopy_tool_tracking"
299+
}
300+
},
301+
{
302+
"type": "shell",
303+
"label": "Build grpc_endoscopy_tool_tracking (delay 3s)",
304+
"command": "sleep 3",
305+
"dependsOn": "Build grpc_endoscopy_tool_tracking",
306+
"options": {
307+
"cwd": "${env:WORKSPACE_DIR}"
308+
},
309+
"group": "build",
310+
"problemMatcher": [],
311+
"detail": "CMake template build task",
312+
"presentation": {
313+
"echo": true,
314+
"reveal": "silent",
315+
"focus": true,
316+
"panel": "dedicated",
317+
"showReuseMessage": false,
318+
"clear": true,
319+
"group": "grpc_endoscopy_tool_tracking"
320+
}
321+
},
275322
{
276323
"type": "shell",
277324
"label": "Build h264_endoscopy_tool_tracking",
@@ -332,6 +379,53 @@
332379
"problemMatcher": [],
333380
"detail": "CMake template build task"
334381
},
382+
{
383+
"type": "shell",
384+
"label": "Build grpc_endoscopy_tool_tracking",
385+
"command": "./run",
386+
"args": [
387+
"build",
388+
"grpc_endoscopy_tool_tracking",
389+
"--type",
390+
"debug"
391+
],
392+
"options": {
393+
"cwd": "${env:WORKSPACE_DIR}"
394+
},
395+
"group": "build",
396+
"problemMatcher": [],
397+
"detail": "CMake template build task",
398+
"presentation": {
399+
"echo": true,
400+
"reveal": "silent",
401+
"focus": true,
402+
"panel": "dedicated",
403+
"showReuseMessage": false,
404+
"clear": true,
405+
"group": "grpc_endoscopy_tool_tracking"
406+
}
407+
},
408+
{
409+
"type": "shell",
410+
"label": "Build grpc_endoscopy_tool_tracking (delay 3s)",
411+
"command": "sleep 3",
412+
"dependsOn": "Build grpc_endoscopy_tool_tracking",
413+
"options": {
414+
"cwd": "${env:WORKSPACE_DIR}"
415+
},
416+
"group": "build",
417+
"problemMatcher": [],
418+
"detail": "CMake template build task",
419+
"presentation": {
420+
"echo": true,
421+
"reveal": "silent",
422+
"focus": true,
423+
"panel": "dedicated",
424+
"showReuseMessage": false,
425+
"clear": true,
426+
"group": "grpc_endoscopy_tool_tracking"
427+
}
428+
},
335429
{
336430
"type": "shell",
337431
"label": "Build grpc_h264_endoscopy_tool_tracking",

applications/distributed/grpc/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
# limitations under the License.
1515

1616

17+
18+
add_holohub_application(grpc_endoscopy_tool_tracking DEPENDS
19+
OPERATORS lstm_tensor_rt_inference
20+
tool_tracking_postprocessor
21+
grpc_operators)
22+
1723
add_holohub_application(grpc_h264_endoscopy_tool_tracking DEPENDS
1824
OPERATORS video_encoder
1925
tensor_to_video_buffer
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
cmake_minimum_required(VERSION 3.20)
17+
project(grpc_endoscopy_tool_tracking LANGUAGES NONE)
18+
19+
# Download the endoscopy sample data
20+
if(HOLOHUB_DOWNLOAD_DATASETS)
21+
include(holoscan_download_data)
22+
holoscan_download_data(endoscopy
23+
URL https://api.ngc.nvidia.com/v2/resources/nvidia/clara-holoscan/holoscan_endoscopy_sample_data/versions/20230222/zip
24+
DOWNLOAD_NAME holoscan_endoscopy_sample_data_20230222.zip
25+
URL_MD5 d54f84a562d29ed560a87d2607eba973
26+
DOWNLOAD_DIR ${HOLOHUB_DATA_DIR}
27+
GENERATE_GXF_ENTITIES
28+
GXF_ENTITIES_HEIGHT 480
29+
GXF_ENTITIES_WIDTH 854
30+
GXF_ENTITIES_CHANNELS 3
31+
GXF_ENTITIES_FRAMERATE 30
32+
)
33+
endif()
34+
35+
add_subdirectory(cpp)

0 commit comments

Comments
 (0)