Ver Fonte

Some minor change.

jcsyshc há 1 ano atrás
pai
commit
e4d89b45b1

+ 6 - 2
CMakeLists.txt

@@ -146,14 +146,18 @@ else ()
 endif ()
 set(IMGUI_BACKENDS_DIR ${IMGUI_DIR}/backends)
 target_include_directories(${PROJECT_NAME} PRIVATE ${IMGUI_DIR} ${IMGUI_BACKENDS_DIR})
-target_sources(${PROJECT_NAME} PRIVATE
-        ${IMGUI_DIR}/imgui.cpp
+set(IMGUI_IMPL_FILES ${IMGUI_DIR}/imgui.cpp
         ${IMGUI_DIR}/imgui_draw.cpp
         ${IMGUI_DIR}/imgui_tables.cpp
         ${IMGUI_DIR}/imgui_widgets.cpp
         ${IMGUI_DIR}/imgui_demo.cpp
         ${IMGUI_BACKENDS_DIR}/imgui_impl_glfw.cpp
         ${IMGUI_BACKENDS_DIR}/imgui_impl_opengl3.cpp)
+target_sources(${PROJECT_NAME} PRIVATE ${IMGUI_IMPL_FILES})
+foreach(source_file ${IMGUI_IMPL_FILES})
+    set_source_files_properties(${source_file} PROPERTIES COMPILE_OPTIONS "-O3")
+    set_source_files_properties(${source_file} PROPERTIES COMPILE_OPTIONS "-DNDEBUG")
+endforeach()
 
 # ImGuiFileDialog config
 set(ImGuiFileDialog_DIR /home/tpx/src/ImGuiFileDialog-0.6.7)

+ 15 - 20
data/config_endo_guide_oldhead.yaml

@@ -13,36 +13,31 @@ monitor:
     var: camera_ref_in_tracker
   - name: MVS Camera
     var: mvs_ref_in_tracker
-  - name: Femur
-    var: femur_ref_in_tracker
-  - name: Tibia
-    var: tibia_ref_in_tracker
+  - name: Head
+    var: head_ref_in_tracker
   - name: Probe
     var: probe_ref_in_tracker
 
 augment_list:
-  - name: Femur
-    transform_var: femur_in_tracker_denoised
+  - name: Head
+    transform_var: head_in_tracker_denoised
     model: /home/tpx/data/OldHead/OldBone.stl
-  - name: Tibia
-    transform_var: tibia_in_tracker_denoised
-    model: /home/tpx/project/DepthGuide/data/model/Tibia_3.stl
+  - name: ExtraA
+    transform_var: head_in_tracker_denoised
+    model: /home/tpx/data/OldHead/Nerve.stl
+#  - name: ExtraB
+#    transform_var: head_in_tracker_denoised
+#    model: /home/tpx/data/OldHead/model2.stl
 
 probe_model: /home/tpx/project/RemoteAR3/data/models/Probe.stl
 
 registration_list:
-  - name: Femur
+  - name: Head
     model_file: /home/tpx/data/OldHead/OldBone.stl
-    collect_obj: point_picker_in_femur_ref
-    collect_var: picked_point_in_femur_ref
-    target_var: femur_in_femur_ref
-    probe_var: probe_in_femur
-  - name: Tibia
-    model_file: /home/tpx/project/DepthGuide/data/model/Tibia_3.stl
-    collect_obj: point_picker_in_tibia_ref
-    collect_var: picked_point_in_tibia_ref
-    target_var: tibia_in_tibia_ref
-    probe_var: probe_in_tibia
+    collect_obj: point_picker_in_head_ref
+    collect_var: picked_point_in_head_ref
+    target_var: head_in_head_ref
+    probe_var: probe_in_head
 
 left_camera_name: "LeftEye"
 right_camera_name: "RightEye"

+ 4 - 4
data/sophiar_config_depth_guide_v2.json

@@ -137,9 +137,9 @@
             "name": "probe",
             "parent": "probe_ref",
             "transform": [
-              -0.23,
-              -13.98,
-              -119.65,
+              -0.69,
+              -13.95,
+              -186.84,
               1,
               0,
               0,
@@ -241,7 +241,7 @@
         "com_port": "/dev/ttyUSB0",
         "tool_list": [
           {
-            "rom_path": "/home/tpx/data/roms/GlassProbe_4Ball_4.rom",
+            "rom_path": "/home/tpx/data/roms/GlassProbe_4Ball_4_SHC.rom",
             "serial_number": "3DD50000",
             "outputs": {
               "transform": "probe_ref_in_tracker"

+ 41 - 200
data/sophiar_config_endo_guide_oldhead.json

@@ -9,11 +9,11 @@
       "type": "transform_obj"
     },
     {
-      "name": "femur_ref_in_tracker",
+      "name": "head_ref_in_tracker",
       "type": "transform_obj"
     },
     {
-      "name": "femur_in_femur_ref",
+      "name": "head_in_head_ref",
       "type": "transform_obj",
       "value": [
         -158.57010140440562,
@@ -25,23 +25,6 @@
         0.6789597742738753
       ]
     },
-    {
-      "name": "tibia_ref_in_tracker",
-      "type": "transform_obj"
-    },
-    {
-      "name": "tibia_in_tibia_ref",
-      "type": "transform_obj",
-      "value": [
-        117.21224919149104,
-        38.32624851921699,
-        -72.90989200004259,
-        -0.19759914802407674,
-        0.6557689584549056,
-        -0.28931051779904626,
-        0.6687458965242118
-      ]
-    },
     {
       "name": "camera_ref_in_tracker",
       "type": "transform_obj"
@@ -71,7 +54,7 @@
       "type": "transform_obj"
     },
     {
-      "name": "femur_in_tracker",
+      "name": "head_in_tracker",
       "type": "transform_obj"
     },
     {
@@ -79,59 +62,23 @@
       "type": "transform_obj"
     },
     {
-      "name": "probe_in_femur_ref",
-      "type": "transform_obj"
-    },
-    {
-      "name": "probe_in_tibia_ref",
-      "type": "transform_obj"
-    },
-    {
-      "name": "probe_in_femur",
+      "name": "probe_in_head_ref",
       "type": "transform_obj"
     },
     {
-      "name": "probe_in_tibia",
+      "name": "probe_in_head",
       "type": "transform_obj"
     },
     {
-      "name": "femur_in_camera_ref",
-      "type": "transform_obj"
-    },
-    {
-      "name": "tibia_in_camera_ref",
-      "type": "transform_obj"
-    },
-    {
-      "name": "probe_tip_in_femur_ref",
+      "name": "probe_tip_in_head_ref",
       "type": "scalarxyz_obj"
     },
     {
-      "name": "probe_tip_in_tibia_ref",
+      "name": "picked_point_in_head_ref",
       "type": "scalarxyz_obj"
     },
     {
-      "name": "picked_point_in_femur_ref",
-      "type": "scalarxyz_obj"
-    },
-    {
-      "name": "picked_point_in_tibia_ref",
-      "type": "scalarxyz_obj"
-    },
-    {
-      "name": "probe_tip_in_femur",
-      "type": "scalarxyz_obj"
-    },
-    {
-      "name": "probe_tip_in_tibia",
-      "type": "scalarxyz_obj"
-    },
-    {
-      "name": "picked_point_in_femur",
-      "type": "scalarxyz_obj"
-    },
-    {
-      "name": "picked_point_in_tibia",
+      "name": "probe_tip_in_head",
       "type": "scalarxyz_obj"
     },
     {
@@ -147,11 +94,7 @@
       "type": "transform_obj"
     },
     {
-      "name": "femur_in_tracker_denoised",
-      "type": "transform_obj"
-    },
-    {
-      "name": "tibia_in_tracker_denoised",
+      "name": "head_in_tracker_denoised",
       "type": "transform_obj"
     }
   ],
@@ -183,24 +126,14 @@
             ]
           },
           {
-            "name": "femur_ref",
-            "parent": "tracker",
-            "transform_var_name": "femur_ref_in_tracker"
-          },
-          {
-            "name": "femur",
-            "parent": "femur_ref",
-            "transform_var_name": "femur_in_femur_ref"
-          },
-          {
-            "name": "tibia_ref",
+            "name": "head_ref",
             "parent": "tracker",
-            "transform_var_name": "tibia_ref_in_tracker"
+            "transform_var_name": "head_ref_in_tracker"
           },
           {
-            "name": "tibia",
-            "parent": "tibia_ref",
-            "transform_var_name": "tibia_in_tibia_ref"
+            "name": "head",
+            "parent": "head_ref",
+            "transform_var_name": "head_in_head_ref"
           },
           {
             "name": "camera_ref",
@@ -263,14 +196,9 @@
             "transform_var_name": "right_camera_in_tracker"
           },
           {
-            "target": "femur",
+            "target": "head",
             "observer": "tracker",
-            "transform_var_name": "femur_in_tracker"
-          },
-          {
-            "target": "tibia",
-            "observer": "tracker",
-            "transform_var_name": "tibia_in_tracker"
+            "transform_var_name": "head_in_tracker"
           },
           {
             "target": "probe",
@@ -279,33 +207,13 @@
           },
           {
             "target": "probe",
-            "observer": "femur_ref",
-            "transform_var_name": "probe_in_femur_ref"
+            "observer": "head_ref",
+            "transform_var_name": "probe_in_head_ref"
           },
           {
             "target": "probe",
-            "observer": "tibia_ref",
-            "transform_var_name": "probe_in_tibia_ref"
-          },
-          {
-            "target": "probe",
-            "observer": "femur",
-            "transform_var_name": "probe_in_femur"
-          },
-          {
-            "target": "probe",
-            "observer": "tibia",
-            "transform_var_name": "probe_in_tibia"
-          },
-          {
-            "target": "femur",
-            "observer": "camera_ref",
-            "transform_var_name": "femur_in_camera_ref"
-          },
-          {
-            "target": "tibia",
-            "observer": "camera_ref",
-            "transform_var_name": "tibia_in_camera_ref"
+            "observer": "head",
+            "transform_var_name": "probe_in_head"
           }
         ]
       }
@@ -343,13 +251,7 @@
             "rom_path": "/home/tpx/data/roms/Glass_3Ball_5_OldHead.rom",
             "serial_number": "39B33001",
             "outputs": {
-              "transform": "femur_ref_in_tracker"
-            }
-          },
-          {
-            "rom_path": "/home/tpx/data/roms/Glass_3Ball_6.rom",
-            "outputs": {
-              "transform": "tibia_ref_in_tracker"
+              "transform": "head_ref_in_tracker"
             }
           }
         ]
@@ -375,48 +277,23 @@
     },
     {
       "type": "transform_obj_validity_watcher",
-      "name": "femur_visibility_watcher",
+      "name": "head_visibility_watcher",
       "start_config": {
-        "variable_name": "femur_ref_in_tracker"
+        "variable_name": "head_ref_in_tracker"
       }
     },
-    {
-      "type": "transform_obj_validity_watcher",
-      "name": "tibia_visibility_watcher",
-      "start_config": {
-        "variable_name": "tibia_ref_in_tracker"
-      }
-    },
-    {
-      "type": "scalarxyz_transformer",
-      "name": "probe_tip_in_femur_ref_transformer",
-      "start_config": {
-        "transform_type": "point",
-        "transform_var_name": "probe_in_femur_ref",
-        "target_value": [
-          0,
-          0,
-          0
-        ],
-        "output_var_name": "probe_tip_in_femur_ref"
-      },
-      "dependencies": [
-        "ndi",
-        "transform_tree"
-      ]
-    },
     {
       "type": "scalarxyz_transformer",
-      "name": "probe_tip_in_tibia_ref_transformer",
+      "name": "probe_tip_in_head_ref_transformer",
       "start_config": {
         "transform_type": "point",
-        "transform_var_name": "probe_in_tibia_ref",
+        "transform_var_name": "probe_in_head_ref",
         "target_value": [
           0,
           0,
           0
         ],
-        "output_var_name": "probe_tip_in_tibia_ref"
+        "output_var_name": "probe_tip_in_head_ref"
       },
       "dependencies": [
         "ndi",
@@ -425,58 +302,30 @@
     },
     {
       "type": "transform_stabilizer",
-      "name": "point_picker_in_femur_ref",
+      "name": "point_picker_in_head_ref",
       "start_config": {
         "stable_type": "point",
-        "input_var_name": "probe_tip_in_femur_ref",
-        "output_var_name": "picked_point_in_femur_ref",
+        "input_var_name": "probe_tip_in_head_ref",
+        "output_var_name": "picked_point_in_head_ref",
         "linear_tolerance_mm": 0.05,
         "temporal_interval_s": 3
       },
       "dependencies": [
-        "probe_tip_in_femur_ref_transformer"
+        "probe_tip_in_head_ref_transformer"
       ]
     },
-    {
-      "type": "transform_stabilizer",
-      "name": "point_picker_in_tibia_ref",
-      "start_config": {
-        "stable_type": "point",
-        "input_var_name": "probe_tip_in_tibia_ref",
-        "output_var_name": "picked_point_in_tibia_ref",
-        "linear_tolerance_mm": 0.05,
-        "temporal_interval_s": 3
-      },
-      "dependencies": [
-        "probe_tip_in_tibia_ref_transformer"
-      ]
-    },
-    {
-      "type": "scalarxyz_obj_watcher",
-      "name": "picked_point_watcher_for_femur_ref",
-      "start_config": {
-        "variable_name": "picked_point_in_femur_ref"
-      }
-    },
     {
       "type": "scalarxyz_obj_watcher",
-      "name": "picked_point_watcher_for_tibia_ref",
+      "name": "picked_point_watcher_for_head_ref",
       "start_config": {
-        "variable_name": "picked_point_in_tibia_ref"
+        "variable_name": "picked_point_in_head_ref"
       }
     },
     {
       "type": "transform_obj_watcher",
-      "name": "femur_registration_result_watcher",
+      "name": "head_registration_result_watcher",
       "start_config": {
-        "variable_name": "femur_in_femur_ref"
-      }
-    },
-    {
-      "type": "transform_obj_watcher",
-      "name": "tibia_registration_result_watcher",
-      "start_config": {
-        "variable_name": "tibia_in_tibia_ref"
+        "variable_name": "head_in_head_ref"
       }
     },
     {
@@ -505,18 +354,10 @@
     },
     {
       "type": "kalman_denoiser",
-      "name": "femur_denoiser",
-      "init_config": {
-        "variable_in": "femur_in_tracker",
-        "variable_out": "femur_in_tracker_denoised"
-      }
-    },
-    {
-      "type": "kalman_denoiser",
-      "name": "tibia_denoiser",
+      "name": "head_denoiser",
       "init_config": {
-        "variable_in": "tibia_in_tracker",
-        "variable_out": "tibia_in_tracker_denoised"
+        "variable_in": "head_in_tracker",
+        "variable_out": "head_in_tracker_denoised"
       }
     },
     {
@@ -527,10 +368,10 @@
         "ndi",
         "probe_visibility_watcher",
         "camera_visibility_watcher",
-        "femur_visibility_watcher",
-        "tibia_visibility_watcher",
-        "femur_denoiser",
-        "tibia_denoiser",
+        "head_visibility_watcher",
+        "head_registration_result_watcher",
+        "head_denoiser",
+        "camera_denoiser",
         "left_camera_denoiser",
         "right_camera_denoiser"
       ]

+ 1 - 1
src/image_process/impl/camera_calibrator.cpp

@@ -551,7 +551,7 @@ namespace camera_calibrator_impl {
 
 camera_calibrator::impl::impl(const create_config &_conf) {
     conf = _conf;
-//    vg = nvgCreateGL3(NVG_ANTIALIAS | NVG_STENCIL_STROKES);
+    vg = nvgCreateGL3(NVG_ANTIALIAS | NVG_STENCIL_STROKES);
 }
 
 camera_calibrator::impl::~impl() {

+ 18 - 18
src/impl/apps/endo_guide/endo_guide.cpp

@@ -78,10 +78,10 @@ app_endo_guide::app_endo_guide(const create_config &_conf) {
     };
     cam_calib = std::make_unique<camera_calibrator>(calib_conf);
 
-    auto acl_conf = acl_guide::create_config::from_yaml(LOAD_SUB("acl_guide"));
-    acl_conf.sophiar_conn = sophiar_conn.get();
-    acl_conf.ctx = main_conf.asio_ctx;
-    acl = std::make_unique<acl_guide>(acl_conf);
+//    auto acl_conf = acl_guide::create_config::from_yaml(LOAD_SUB("acl_guide"));
+//    acl_conf.sophiar_conn = sophiar_conn.get();
+//    acl_conf.ctx = main_conf.asio_ctx;
+//    acl = std::make_unique<acl_guide>(acl_conf);
 
     auto aug_list_v1 = augment_manager::item_list_from_yaml(LOAD_LIST("augment_list"));
     auto aug_list = augment_manager_v2::item_list_from_v1(aug_list_v1, extra_name);
@@ -91,8 +91,8 @@ app_endo_guide::app_endo_guide(const create_config &_conf) {
     };
     std::copy(aug_list.begin(), aug_list.end(), std::back_inserter(aug_conf.item_list));
     aug_manager = std::make_unique<augment_manager_v2>(aug_conf);
-    aug_manager->pre_render_sig.connect(
-            [this](const auto &info) { acl->pre_render_slot(info); });
+//    aug_manager->pre_render_sig.connect(
+//            [this](const auto &info) { acl->pre_render_slot(info); });
 
     auto helper_conf = image_augment_helper_v2::create_config{
             .img_name = left_rgb, .mask_name = invalid_obj_name,
@@ -155,7 +155,7 @@ app_endo_guide::app_endo_guide(const create_config &_conf) {
     });
 
     auto sim_info = camera_calibrator::simulate_info_type{
-            .data_path = "/home/tpx/project/DepthGuide/cmake-build-debug/exp-20240605/calib/calib_data_c1.txt",
+            .data_path = "/home/tpx/project/DepthGuide/cmake-build-debug/calib_data.txt",
             .img_size = cv::Size(1920, 1080),
     };
     cam_calib->simulate_process(sim_info);
@@ -229,10 +229,10 @@ void app_endo_guide::show_ui() {
             cam_calib->show();
         }
 
-        if (ImGui::CollapsingHeader("Guidance")) {
-            auto id_guard = imgui_id_guard("Guidance");
-            acl->show();
-        }
+//        if (ImGui::CollapsingHeader("Guidance")) {
+//            auto id_guard = imgui_id_guard("Guidance");
+//            acl->show();
+//        }
 
         if (ImGui::CollapsingHeader("Streamer")) {
             {
@@ -270,14 +270,14 @@ void app_endo_guide::show_ui() {
 }
 
 void app_endo_guide::render_background() {
-    auto vp = query_viewport_size();
-    glViewport(0.25f * vp.width, 0, 0.75f * vp.width, vp.height);
+//    auto vp = query_viewport_size();
+//    glViewport(0.25f * vp.width, 0, 0.75f * vp.width, vp.height);
     bg_viewer->render();
-    for (auto k = 0; k < 3; ++k) {
-        auto delta = vp.height / 3.f;
-        glViewport(0, k * delta, 0.25f * vp.width, delta);
-        acl->render_aux(aug_manager.get(), 2 - k);
-    }
+//    for (auto k = 0; k < 3; ++k) {
+//        auto delta = vp.height / 3.f;
+//        glViewport(0, k * delta, 0.25f * vp.width, delta);
+//        acl->render_aux(aug_manager.get(), 2 - k);
+//    }
 }
 
 void app_endo_guide::start_tracking() {