mocap-desktop-gui 2.3.1__py3-none-any.whl → 2.4.1__py3-none-any.whl

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.
Files changed (96) hide show
  1. mocap_desktop_gui/__init__.py +4 -4
  2. mocap_desktop_gui/axengine_1755532232_2406665611.py +246 -0
  3. mocap_desktop_gui/gen/__init__.py +4 -4
  4. mocap_desktop_gui/gen/rc_icons.py +4 -4
  5. mocap_desktop_gui/gen/rc_qml.py +4 -4
  6. mocap_desktop_gui/gen/rc_style.py +4 -4
  7. mocap_desktop_gui/main.py +4 -4
  8. mocap_desktop_gui/mc/__init__.py +4 -4
  9. mocap_desktop_gui/mc/bld_fbx_2_glb.py +4 -4
  10. mocap_desktop_gui/mc/bld_utils.py +4 -4
  11. mocap_desktop_gui/mc/{camera_models.py → cm_license/AccessHandler.py} +4 -4
  12. mocap_desktop_gui/mc/cm_license/LicenseCheck.py +18 -0
  13. mocap_desktop_gui/mc/cm_license/ListProductItem.py +18 -0
  14. mocap_desktop_gui/mc/gpu_info.py +4 -4
  15. mocap_desktop_gui/mc/mc_actor_profile.py +4 -4
  16. mocap_desktop_gui/mc/mc_actor_profile_model.py +4 -4
  17. mocap_desktop_gui/mc/mc_app_manager.py +4 -4
  18. mocap_desktop_gui/mc/mc_auth_core.py +4 -4
  19. mocap_desktop_gui/mc/mc_calib.py +4 -4
  20. mocap_desktop_gui/mc/mc_calib_data.py +18 -0
  21. mocap_desktop_gui/mc/mc_camera_views_model.py +4 -4
  22. mocap_desktop_gui/mc/mc_cloud_service.py +4 -4
  23. mocap_desktop_gui/mc/mc_common_paths.py +4 -4
  24. mocap_desktop_gui/mc/mc_context.py +4 -4
  25. mocap_desktop_gui/mc/mc_diagnosis.py +4 -4
  26. mocap_desktop_gui/mc/mc_env_vars.py +18 -0
  27. mocap_desktop_gui/mc/mc_error_codes.py +4 -4
  28. mocap_desktop_gui/mc/mc_file_util.py +4 -4
  29. mocap_desktop_gui/mc/mc_import_folder.py +4 -4
  30. mocap_desktop_gui/mc/mc_intrinsic_cam_models.py +18 -0
  31. mocap_desktop_gui/mc/mc_mocap_edit_session.py +18 -0
  32. mocap_desktop_gui/mc/mc_mocap_models.py +4 -4
  33. mocap_desktop_gui/mc/mc_project.py +4 -4
  34. mocap_desktop_gui/mc/mc_project_manager.py +4 -4
  35. mocap_desktop_gui/mc/mc_qml_defines.py +4 -4
  36. mocap_desktop_gui/mc/mc_rig.py +4 -4
  37. mocap_desktop_gui/mc/mc_scene_3d_service.py +4 -4
  38. mocap_desktop_gui/mc/mc_sync_media_player.py +4 -4
  39. mocap_desktop_gui/mc/mc_sync_video_decoder_service.py +4 -4
  40. mocap_desktop_gui/mc/mc_sync_video_paint_item.py +4 -4
  41. mocap_desktop_gui/mc/mc_take.py +4 -4
  42. mocap_desktop_gui/mc/mc_take_cloud_job.py +4 -4
  43. mocap_desktop_gui/mc/mc_take_cloud_job_action.py +4 -4
  44. mocap_desktop_gui/mc/mc_take_cloud_job_calib.py +4 -4
  45. mocap_desktop_gui/mc/mc_take_list_model.py +4 -4
  46. mocap_desktop_gui/mc/mc_take_local_job.py +4 -4
  47. mocap_desktop_gui/mc/mc_take_local_job_action.py +4 -4
  48. mocap_desktop_gui/mc/mc_take_local_job_calib.py +4 -4
  49. mocap_desktop_gui/mc/mc_take_local_job_service.py +4 -4
  50. mocap_desktop_gui/mc/mc_take_run.py +4 -4
  51. mocap_desktop_gui/mc/mc_take_run_common.py +4 -4
  52. mocap_desktop_gui/mc/mc_take_run_data_prep.py +4 -4
  53. mocap_desktop_gui/mc/mc_take_run_settings.py +4 -4
  54. mocap_desktop_gui/mc/mc_take_runs_base.py +18 -0
  55. mocap_desktop_gui/mc/mc_take_runs_cloud_manager.py +4 -4
  56. mocap_desktop_gui/mc/mc_take_runs_local_manager.py +4 -4
  57. mocap_desktop_gui/mc/mc_take_runs_manager.py +4 -4
  58. mocap_desktop_gui/mc/mc_take_settings.py +4 -4
  59. mocap_desktop_gui/mc/mc_take_settings_action.py +4 -4
  60. mocap_desktop_gui/mc/mc_take_video_model.py +4 -4
  61. mocap_desktop_gui/mc/mc_task_trt_engine_gen.py +4 -4
  62. mocap_desktop_gui/mc/mc_video.py +4 -4
  63. mocap_desktop_gui/mc/mc_video_file_parser.py +4 -4
  64. mocap_desktop_gui/mc/mc_video_manager.py +4 -4
  65. mocap_desktop_gui/mc/mc_video_uploader.py +4 -4
  66. mocap_desktop_gui/mc/mc_videos_uploader.py +4 -4
  67. mocap_desktop_gui/mc/mc_worker.py +4 -4
  68. mocap_desktop_gui/mc/qml_engine.py +4 -4
  69. mocap_desktop_gui/mc/rig/default/move_mo/Move_Mo.blend +0 -0
  70. mocap_desktop_gui/mc/rig/default/move_ve/Move_Ve.blend +0 -0
  71. mocap_desktop_gui/mc/rig/default/move_ve/mapping_body.csv +0 -0
  72. mocap_desktop_gui/mc/rig/default/move_ve/mapping_fingers.csv +0 -0
  73. mocap_desktop_gui/mc/rig/rig_path.py +4 -4
  74. mocap_desktop_gui/mc/settings/camera_models.yaml +2 -2
  75. mocap_desktop_gui/mc/settings/camera_models_path.py +18 -0
  76. mocap_desktop_gui/mc/settings/settings_action.yaml +10 -268
  77. mocap_desktop_gui/mc/settings/settings_action_m2.yaml +12 -196
  78. mocap_desktop_gui/mc/settings/settings_extrinsic.yaml +2 -147
  79. mocap_desktop_gui/mc/settings/settings_gen.py +18 -0
  80. mocap_desktop_gui/mc/settings/settings_path.py +4 -4
  81. mocap_desktop_gui/mc/util.py +4 -4
  82. mocap_desktop_gui/sample.py +4 -4
  83. {mocap_desktop_gui-2.3.1.dist-info → mocap_desktop_gui-2.4.1.dist-info}/METADATA +3 -1
  84. {mocap_desktop_gui-2.3.1.dist-info → mocap_desktop_gui-2.4.1.dist-info}/RECORD +93 -77
  85. move_errors/codes/engine/enums.py +7 -0
  86. move_errors/codes/engine/ops_animation_files_exports.py +41 -0
  87. move_errors/codes/engine/ops_blender_files_creation.py +41 -0
  88. move_errors/codes/engine/ops_blender_v2_export.py +40 -0
  89. move_errors/codes/engine/ops_hands_gen2.py +40 -0
  90. move_errors/codes/engine/ops_kalman_v2.py +40 -0
  91. move_errors/codes/engine/ops_online_ball_tracking.py +40 -0
  92. move_errors/codes/engine/ops_prep_kalman_v2.py +40 -0
  93. move_errors/codes/internal_services/jobs_runner.py +1 -4
  94. mocap_desktop_gui/axengine_1752653125_187673042.py +0 -246
  95. {mocap_desktop_gui-2.3.1.dist-info → mocap_desktop_gui-2.4.1.dist-info}/WHEEL +0 -0
  96. {mocap_desktop_gui-2.3.1.dist-info → mocap_desktop_gui-2.4.1.dist-info}/entry_points.txt +0 -0
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(942, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(539, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(1089, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(45, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(1172, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(1220, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(846, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(1278, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(463, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(870, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(381, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(1032, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(1075, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(530, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(854, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(963, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(217, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(600, globals())
File without changes
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1752653125_187673042.py')):
5
+ 'axengine_1755532232_2406665611.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1752653125_187673042 as _axengine
12
+ import axengine_1755532232_2406665611 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1752653125_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(441, globals())
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(1097, globals())
@@ -181,7 +181,7 @@ Sony_RX0_I_HD:
181
181
  displayName: "Sony RX0-I HD"
182
182
  resolution: [1280, 720]
183
183
  isLocal: true
184
- isCloud: false
184
+ isCloud: true
185
185
 
186
186
  Sony_RX0_II_FHD:
187
187
  K: [[1.29357165e03, 0.00000000e00, 9.55895638e02], [0.00000000e00, 1.28891128e03, 5.41381367e02], [0.00000000e00, 0.00000000e00, 1.00000000e00]]
@@ -189,7 +189,7 @@ Sony_RX0_II_FHD:
189
189
  displayName: "Sony RX0-II FHD"
190
190
  resolution: [1920, 1080]
191
191
  isLocal: true
192
- isCloud: false
192
+ isCloud: true
193
193
 
194
194
  OptiTrack_Prime41:
195
195
  K: [ [ 2.16063e03, 0.00000e00, 1.04008e03 ], [ 0.00000e00, 2.16124e03, 1.05735e03 ], [ 0.00000e00, 0.00000e00, 1.00000e00 ] ]
@@ -0,0 +1,18 @@
1
+ import os as _os
2
+ import sys as _sys
3
+ _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
+ while not _os.path.exists(_os.path.join(_axeSearchPath,
5
+ 'axengine_1755532232_2406665611.py')):
6
+ _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
+ if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
+ break
9
+ _axeSearchPath = _newAxeSearchPath
10
+ try:
11
+ _sys.path.append(_axeSearchPath)
12
+ import axengine_1755532232_2406665611 as _axengine
13
+ except Exception as e:
14
+ raise Exception('Failed to load AxEngine!') from e
15
+ finally:
16
+ _sys.path.pop()
17
+ from axengine_1755532232_2406665611 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(1105, globals())
@@ -3,26 +3,20 @@ general_cfg:
3
3
  foo: 'bar'
4
4
 
5
5
  ops:
6
- OpsDownloadDataset: false
7
6
  OpsInputVideosAudios: true # atm this just validates the videos metadata if is_gopro is true.
8
7
  OpsSyncMultiviewVideos: true
9
8
  OpsCorrectCalib: false
10
9
  # cpp pose and tracking op
11
10
  OpsMocap: true
12
11
  # ea jersey pose and tracking op (this is an alternative to OpsMocap)
13
- OpsMdcDetections: false
14
- OpsJerseyClassify: false
15
- OpsMdcTracking: false
12
+ OpsOnlineBallTracking: false
13
+ OpsMarkersToBlend: false
16
14
 
17
- OpsDetectObjects: false
18
- OpsDetectMarkerObjects: false
19
15
  OpsPose3dMultiview: false # runs pose-3d for mdc, mainly useful for 2 camera cases.
20
16
  OpsPrepKalmanData: true
21
17
  OpsKalman: true
22
18
  OpsHand3dPoseOnTracks: false
23
19
  OpsFloorPlaneRootAdjustment: false
24
- OpsMarkerKalmanFilter: false
25
- OpsMarkersToBlend: false
26
20
  OpsBlenderFBXExport: true
27
21
  OpsMayaExport: false
28
22
 
@@ -31,32 +25,6 @@ ops:
31
25
 
32
26
 
33
27
  ops_cfg:
34
- OpsDownloadDataset:
35
- dataset:
36
- - in_files: # input video files
37
- - "s3://testcases.moveai/MDC/case6/videos/cam01.mov"
38
- - "s3://testcases.moveai/MDC/case6/videos/cam02.mov"
39
- - "s3://testcases.moveai/MDC/case6/videos/cam03.mov"
40
- - "s3://testcases.moveai/MDC/case6/videos/cam04.mov"
41
- - "s3://testcases.moveai/MDC/case6/videos/cam05.mov"
42
- - "s3://testcases.moveai/MDC/case6/videos/cam06.mov"
43
- out_path: "~/MOX_projects/videos"
44
- unzip: false
45
- - in_files: [ "s3://testcases.moveai/MDC/case6/calib/cam01.pkl", # calib files
46
- "s3://testcases.moveai/MDC/case6/calib/cam02.pkl",
47
- "s3://testcases.moveai/MDC/case6/calib/cam03.pkl",
48
- "s3://testcases.moveai/MDC/case6/calib/cam04.pkl",
49
- "s3://testcases.moveai/MDC/case6/calib/cam05.pkl",
50
- "s3://testcases.moveai/MDC/case6/calib/cam06.pkl" ]
51
- out_path: "~/MOX_projects/calib"
52
- unzip: false
53
- - in_files: [ "s3://testcases.moveai/MDC/case1/sdc_rig.zip" ] # rig compressed directory
54
- out_path: "~/MOX_projects/rig"
55
- unzip: true
56
- - in_files: [ "s3://testcases.moveai/MDC/case1/scene/scene_3d.blend" ] # scene file
57
- out_path: "~/MOX_projects/scene"
58
- unzip: false
59
-
60
28
  OpsInputVideosAudios:
61
29
  is_gopro: false
62
30
  inputs:
@@ -64,173 +32,6 @@ ops_cfg:
64
32
  outputs:
65
33
  log_dir: '~/MOX_projects/log'
66
34
 
67
- OpsSyncMultiviewVideos:
68
- # auto sync settings
69
- # set action_ss and action_to if you want to crop a specific time range in input videos.
70
- # warning: 'ss' and 'to' must be specified on the video whose lag is smallest; otherwise, it could fail
71
- # for the case when the lag between videos are large.
72
- # example. action_start_time: '20.15' action_end_time: '30.35' means action stats from the seconds 20.15 to 30.35
73
- action_start_time: 0 # start time of the action in format seconds.millisecond. ffmpeg -ss
74
- action_end_time: "" # end time of the action in the format seconds.millisecond. ffmpeg -to
75
- search_win: [2.0, 6.0] # clap hand time range, in seconds. If no range is specified then search_win
76
- # is calculated automatically in the code based on clapping.
77
- delete_input_videos: false
78
- inputs:
79
- video_raw_dir: '~/MOX_projects/videos'
80
- outputs:
81
- log_dir: '~/MOX_projects/log'
82
- video_dir: '~/MOX_projects/videos_processed'
83
- sync_vis_dir: '~/MOX_projects/sync_vis'
84
- # Use iphone metadata to sync
85
- iphone_sync:
86
- use_host_timecode: false
87
- use_tentacle: false
88
- # manual sync settings
89
- manual_sync:
90
- active: false # set it to true if you want to run manual sync given delay in timestamp
91
- # seconds.milliseconds. relative offset. earliest camera should have ss = 0.0
92
- cams_lag: # ffmpeg -ss
93
- cam01: 0.0
94
- #cam02: 0.02
95
- #cam03: 0.04
96
- #....
97
- # all cameras share the same duration and starting time
98
- base_ss: 0.0 # seconds.milliseconds
99
- duration: 0.0 # ffmpeg -t seconds.milliseconds. 0.0 means the whole video.
100
- win_len_samples: 1024
101
- win_step_sec: 0.001
102
- use_audio_files: false
103
- timecode: false
104
-
105
-
106
- OpsCorrectCalib:
107
- bump_threshold: 0.01
108
- inputs:
109
- calib_pkl_dir: '~/MOX_projects/calib'
110
- video_dir: '~/MOX_projects/videos_processed'
111
- outputs:
112
- calib_quality_dir: '~/MOX_projects/calib_quality'
113
-
114
- OpsMocap:
115
- max_actor_number: 1
116
- enable_vis_debug: true # expensive video debugging
117
- vis_debug_rate_ms: 1000 # one frame every second
118
- enable_new_track_vis_debug: true # cheap debugging that output the first frame of a new cross-view match
119
- max_cpp_running_time_minutes: 2000
120
- use_actor_profile_if_avail: false
121
- use_cuda_decoder: true
122
- use_jersey_id_prediction: false
123
- MocapCppParams:
124
- DebugCaptureVolumeVisDir: ""
125
- DebugLabeledBBoxVisDir: ""
126
- CudaGraphInference: false
127
-
128
- YoloModelMaxBs: -1
129
- YoloModelType: "yolov5m"
130
- YoloModelFp16: true
131
-
132
- JerseyModelName: "jersey_model_7"
133
- DetectJerseyNumber: false
134
- DetectJerseyFramePeriod: 3
135
-
136
- PoseModelFp16: true
137
- UseVerticalPoseAlignment: false
138
- PoseModelMaxBs: -1
139
- Single2DPoseModelName: "pose_2D_vit_large_moveai29"
140
- use_temporal_2D_pose_refinement: false
141
- Temporal2DPoseModelName: "pose_2D_refine_3"
142
- UseTemporalRefinementPostProcess: false
143
- TemporalRefinementPostProcessQueueSize: 4
144
-
145
- NewTrackRequireHandOverShoulder: false
146
-
147
- NewTrackCheckInsideCaptureVolume: true
148
- NewTrackMinCaptureVolumeEdgeDist: 0.0
149
- NewTrackMinReprojectionError: 0.15
150
- NewTrackMinMultiviewKeypoints: 2
151
- NewTrackMinCameraNumbers: 2
152
- NewTrackMinDistanceFromOthers: 0.25
153
-
154
- ActorProfileMatchMaxTimestampDifference: 1000
155
- ActorProfileMatchMinIoU: 0.25
156
- ActorProfileMatchMinValidObsCount: 1
157
-
158
- NumMaxPeople: 1
159
- DebugNumMaxActors: -1
160
- NumMaxBoundingBoxPerFrameFactor: 4
161
-
162
- TrackingBBOX_LPF_Parameter: 0.1
163
- PoseTorsoDir_LPF_Parameter: 0.1
164
- PoseKpts_LPF_Parameter: 0.1
165
- BBOXVerticalScalingFactor: 1.0
166
- BBOXHorizontalScalingFactor: 1.0
167
-
168
- ExportSpineHeatmap: false
169
-
170
- Clamp2DBBoxSizeChange: true
171
- MaxBBSizeChangePercentage: 0.1
172
-
173
- TrackFilterTopKBest2DPoses: 4
174
- FilterBadObjectAssociation: false
175
- FilterBadObjectAssociationTemporalDstFactor: 1.5
176
- FilterBadObjectAssociationBBoxWidthFactor: 0.4
177
-
178
- Clamp3DJointLocationChange: true
179
- Max3DJointLocationChange: 0.5
180
- Max3DJointLocationMaxAcclerationFactor: 5.0
181
- ClampJointStateChange: true
182
- MaxJointStateChange: 0.5
183
- MaxJointStateMaxAcclerationFactor: 5.0
184
-
185
- UseKalmanFilter: false
186
- KalmanLatencyUpdateFrames: 0
187
- NumKalmanTransitionFrames: 20
188
- NumFramesBeforeKalmanFilter: 50
189
-
190
- NumBoneLengthOptimzationFrames: 50
191
- UseBoneLengthFromTriangulation: true
192
-
193
- PinoStateUpdateFactor: 0.0
194
- MaxPoseOptimizeIteration: 10
195
- MaxBoneOptimizeIteration: 10
196
- PoseFunctionTolerance: 0.01
197
- PoseParameterTolerance: 0.01
198
- PoseSolverHeightNormalization: true
199
- BoneLengthFunctionTolerance: 0.01
200
- BoneLengthParameterTolerance: 0.01
201
- NumCeresThreads: 4
202
-
203
- CalcCircularCaptureAreaFrom2CameraPositions: true
204
- CalcCaptureAreaFromCameraPositions: true
205
-
206
- inputs:
207
- video_dir: '~/MOX_projects/videos_processed'
208
- calib_pkl_dir: '~/MOX_projects/calib'
209
- mocap_path: '/usr/local/moveai/bin/mocap-nogui'
210
- settings_path: '/usr/local/moveai/settings_rt.ini'
211
- actor_profile_dir: null
212
- actor_prior_obs_dir: null
213
- outputs:
214
- log_dir: '~/MOX_projects/log'
215
- mocap_result_dir: '~/MOX_projects/mocap_result'
216
- mocap_new_track_debug_dir: '~/MOX_projects/mocap_new_track_debug'
217
- mocap_viz_debug_dir: '~/MOX_projects/mocap_viz_debug'
218
- vis_calib_area_dir: '~/MOX_projects/vis_calib_area'
219
- prelabelled_bb_dir: '~/MOX_projects/prelabelled_bb'
220
- pose2d_dir: '~/MOX_projects/pose2d_track'
221
- calib_yaml_dir: '~/MOX_projects/mocap_calib'
222
-
223
- OpsPose3dMultiview:
224
- torch_batch_size: 4
225
- inputs:
226
- metrabs_3dpose_ckpt_path: "/usr/local/moveai/models/metrabs/metrabs_eff2l_384px_800k_28ds_pytorch"
227
- video_dir: "~/MOX_projects/videos_processed"
228
- calib_pkl_dir: "~/MOX_projects/calib"
229
- pose2d_dir: "~/MOX_projects/pose2d_track"
230
- outputs:
231
- pose3d_dir: "~/MOX_projects/pose_3d"
232
-
233
-
234
35
  OpsPrepKalmanData:
235
36
  run_type: multiview
236
37
  mdc_use_3d_bone_dir_obs: false
@@ -293,35 +94,6 @@ ops_cfg:
293
94
  outputs:
294
95
  kalman_dir: ~/MOX_projects/kalman
295
96
 
296
- OpsQualityMetrics:
297
- visualize_epipolar_line: true
298
-
299
-
300
- OpsFloorPlaneRootAdjustment:
301
- enforce_spatial_distribution: true # To spatially distribute the sample points
302
- grid_size: 1.0 # [m]
303
- n_pts_in_cell_max: 20 # Max number of points per cell for each sample
304
- iterations: 2500
305
- Z_threshold: 0.05 # [m]
306
- ransac_sample_perc: 0.2
307
- inputs:
308
- pose2d_dir: '~/MOX_projects/pose2d_track'
309
- kalman_dir: '~/MOX_projects/kalman'
310
-
311
-
312
- OpsMarkersToBlend:
313
- export_fbx: true
314
- export_gltf: true
315
- inputs:
316
- video_dir: ~/MOX_projects/videos_processed
317
- marker_kalman_dir: ~/MOX_projects/markers_kalman
318
- marker_track_path: ~/MOX_projects/markers_kalman
319
- outputs:
320
- log_dir: ~/MOX_projects/log
321
- props_dir: ~/MOX_projects/props_anims
322
- export_dir: ~/MOX_projects/blender
323
-
324
-
325
97
  OpsBlenderFBXExport:
326
98
  camera_model: unknown
327
99
  export_fbx: true
@@ -385,44 +157,6 @@ ops_cfg:
385
157
  outputs:
386
158
  hand_dir: '~/MOX_projects/hands'
387
159
 
388
-
389
- OpsDetectObjects:
390
- # sort all detect bbs using area or score, then pick the first n_max_objects, if it > 0
391
- n_max_objects: -1 # -1 for taking all object bounding boxes.
392
- n_max_objects_selection_strategy: "area" # in ["score", "area", "score_area"]
393
- batch_size: 8
394
- # for YOLOV5.
395
- conf_thres: 0.25 # NNS threshold
396
- iou_thres: 0.45 # NNS threshold
397
- augment: false # flipping augmentation.
398
- yolov5_class_ids: [ 32 ]
399
- yolov5_class_names: [ 'ball' ]
400
- visualize: false
401
- inputs:
402
- video_dir: '~/MOX_projects/videos_processed'
403
- model_path: '/usr/local/moveai/models/yolo/yolov5x_updated.pt'
404
- outputs:
405
- detect_dir: '~/MOX_projects/detect_obj_2d'
406
- detect_vis_dir: '~/MOX_projects/detect_obj_2d_viz'
407
-
408
-
409
- OpsDetectMarkerObjects:
410
- marker_settings: [ { "object": "ball", "n_markers": 1, "n_objects": 1 } ]
411
- inputs :
412
- video_dir: '~/MOX_projects/videos_processed'
413
- detect_dir: '~/MOX_projects/detect_obj_2d'
414
- outputs:
415
- detect_semantic_dir: '~/MOX_projects/detect_semantic_obj_2d'
416
-
417
-
418
- OpsMarkerKalmanFilter:
419
- marker_settings: [ { "object": "ball", "n_markers": 1, "n_objects": 1 } ]
420
- inputs:
421
- detect_semantic_dir: '~/MOX_projects/detect_semantic_obj_2d'
422
- calib_pkl_dir: '~/MOX_projects/calib'
423
- outputs:
424
- marker_kalman_dir: '~/MOX_projects/markers_kalman'
425
-
426
160
  OpsOnFailure:
427
161
  inputs:
428
162
  run_dir: '~/MOX_projects'
@@ -530,3 +264,11 @@ ops_cfg:
530
264
  debug_temporal_track_association_dir: "~/MOX_projects/mdc_temporal_track_assoc_vis" # optional, can have null value
531
265
  debug_temporal_track_association_view_dir: "~/MOX_projects/mdc_temporal_track_assoc_vis_cams" # optional, can have null value
532
266
  debug_new_track_dir: "~/MOX_projects/mdc_new_track_vis" # optional, can have null value
267
+
268
+ OpsOnlineBallTracking:
269
+ inputs:
270
+ video_dir: '~/MOX_projects/videos_processed'
271
+ calib_pkl_dir: '~/MOX_projects/calib'
272
+ yolo_model_path: "/usr/local/moveai/models/yolo/yolo11x.pt"
273
+ outputs:
274
+ marker_kalman_dir: "~/MOX_projects/markers_kalman"