ndi_stabilizer_config.json 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. {
  2. "controller_port": 5277,
  3. "variable_list": [
  4. {
  5. "name": "probe_in_tracker",
  6. "type": "transform_obj"
  7. },
  8. {
  9. "name": "probe_uncertainty",
  10. "type": "double_obj"
  11. },
  12. {
  13. "name": "tip_in_tracker",
  14. "type": "scalarxyz_obj"
  15. },
  16. {
  17. "name": "picked_tip_in_tracker",
  18. "type": "scalarxyz_obj"
  19. },
  20. {
  21. "name": "picked_probe_in_tracker",
  22. "type": "transform_obj"
  23. }
  24. ],
  25. "object_list": [
  26. {
  27. "type": "ndi_interface",
  28. "name": "ndi",
  29. "init_config": {
  30. "address_type": "ethernet",
  31. "ip": "10.0.0.5",
  32. "tcp_port": 8765,
  33. "com_port": "COM3",
  34. "tool_list": [
  35. {
  36. "rom_path": "/home/tpx/data/roms/Probe_Small_4Ball.rom",
  37. "outputs": {
  38. "transform": "probe_in_tracker",
  39. "marker_uncertainty": "probe_uncertainty"
  40. }
  41. }
  42. ]
  43. },
  44. "start_config": {
  45. "allow_unreliable": true,
  46. "prefer_stream_tracking": true
  47. }
  48. },
  49. {
  50. "type": "transform_obj_validity_watcher",
  51. "name": "probe_in_tracker_validity_watcher",
  52. "start_config": {
  53. "variable_name": "probe_in_tracker"
  54. }
  55. },
  56. {
  57. "type": "scalarxyz_transformer",
  58. "name": "probe_tip_transformer",
  59. "start_config": {
  60. "transform_type": "point",
  61. "transform_var_name": "probe_in_tracker",
  62. "target_value": [
  63. -0.02,
  64. -0.92,
  65. 1.54
  66. ],
  67. "output_var_name": "tip_in_tracker"
  68. },
  69. "dependencies": [
  70. "ndi"
  71. ]
  72. },
  73. {
  74. "type": "transform_stabilizer",
  75. "name": "point_picker",
  76. "start_config": {
  77. "stable_type": "point",
  78. "input_var_name": "tip_in_tracker",
  79. "output_var_name": "picked_tip_in_tracker",
  80. "linear_tolerance_mm": 0.02,
  81. "angular_tolerance_deg": 0.01,
  82. "temporal_interval_s": 1.5,
  83. "counting_interval": 150
  84. },
  85. "dependencies": [
  86. "probe_tip_transformer"
  87. ]
  88. },
  89. {
  90. "type": "scalarxyz_obj_watcher",
  91. "name": "picked_point_watcher",
  92. "start_config": {
  93. "variable_name": "picked_tip_in_tracker"
  94. }
  95. },
  96. {
  97. "type": "transform_stabilizer",
  98. "name": "transform_picker",
  99. "start_config": {
  100. "stable_type": "transform",
  101. "input_var_name": "probe_in_tracker",
  102. "output_var_name": "picked_probe_in_tracker",
  103. "linear_tolerance_mm": 0.02,
  104. "angular_tolerance_deg": 0.01,
  105. "temporal_interval_s": 3,
  106. "counting_interval": 150
  107. },
  108. "dependencies": [
  109. "ndi"
  110. ]
  111. },
  112. {
  113. "type": "transform_obj_watcher",
  114. "name": "picked_transform_watcher",
  115. "start_config": {
  116. "variable_name": "picked_probe_in_tracker"
  117. }
  118. },
  119. {
  120. "type": "empty_object",
  121. "name": "all",
  122. "dependencies": [
  123. "point_picker",
  124. "picked_point_watcher",
  125. "transform_picker",
  126. "picked_transform_watcher",
  127. "probe_in_tracker_validity_watcher"
  128. ]
  129. }
  130. ]
  131. }