matrice 1.0.99269__tar.gz → 1.0.99270__tar.gz

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 (255) hide show
  1. {matrice-1.0.99269/src/matrice.egg-info → matrice-1.0.99270}/PKG-INFO +1 -1
  2. {matrice-1.0.99269 → matrice-1.0.99270}/setup.py +1 -1
  3. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/proximity_detection.py +85 -64
  4. {matrice-1.0.99269 → matrice-1.0.99270/src/matrice.egg-info}/PKG-INFO +1 -1
  5. {matrice-1.0.99269 → matrice-1.0.99270}/LICENSE.txt +0 -0
  6. {matrice-1.0.99269 → matrice-1.0.99270}/README.md +0 -0
  7. {matrice-1.0.99269 → matrice-1.0.99270}/setup.cfg +0 -0
  8. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/__init__.py +0 -0
  9. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/action.py +0 -0
  10. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/actionTracker.py +0 -0
  11. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/action_tracker.py +0 -0
  12. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/annotation.py +0 -0
  13. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/app_store.py +0 -0
  14. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/application.py +0 -0
  15. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute.py +0 -0
  16. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/__init__.py +0 -0
  17. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/action_instance.py +0 -0
  18. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/actions_manager.py +0 -0
  19. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/actions_scaledown_manager.py +0 -0
  20. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/instance_manager.py +0 -0
  21. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/instance_utils.py +0 -0
  22. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/prechecks.py +0 -0
  23. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/resources_tracker.py +0 -0
  24. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/scaling.py +0 -0
  25. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/shutdown_manager.py +0 -0
  26. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/compute_manager/task_utils.py +0 -0
  27. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/__init__.py +0 -0
  28. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/aug_server.py +0 -0
  29. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/aug_server_v2.py +0 -0
  30. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/__init__.py +0 -0
  31. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/base.py +0 -0
  32. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/__init__.py +0 -0
  33. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/bit_depth_reduction.py +0 -0
  34. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/blur.py +0 -0
  35. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/brightness_contrast.py +0 -0
  36. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/color_jitter.py +0 -0
  37. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/compression_artifacts.py +0 -0
  38. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/downscale_upscale.py +0 -0
  39. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/film_grain.py +0 -0
  40. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/flip.py +0 -0
  41. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/fog.py +0 -0
  42. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/horizontal_flip.py +0 -0
  43. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/hsv.py +0 -0
  44. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/iso_noise.py +0 -0
  45. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/low_light.py +0 -0
  46. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/posterize.py +0 -0
  47. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/rain.py +0 -0
  48. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/random_affine.py +0 -0
  49. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/salt_pepper.py +0 -0
  50. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/shadows.py +0 -0
  51. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/snow.py +0 -0
  52. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/speckle.py +0 -0
  53. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/augmentation_utils/strategies/sunflare.py +0 -0
  54. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/client.py +0 -0
  55. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/client_utils.py +0 -0
  56. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/create_dataset.py +0 -0
  57. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_augmentation.py +0 -0
  58. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_augmentor.py +0 -0
  59. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/__init__.py +0 -0
  60. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/imagenet_classification.py +0 -0
  61. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/labelbox_classification.py +0 -0
  62. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/labelbox_detection.py +0 -0
  63. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/mscoco_detection.py +0 -0
  64. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/pascalvoc_detection.py +0 -0
  65. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/unlabelled.py +0 -0
  66. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/video_davis_segmentation.py +0 -0
  67. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/video_detection_mscoco.py +0 -0
  68. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/video_imagenet_classification.py +0 -0
  69. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/video_kinetics_activity_recognition.py +0 -0
  70. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/video_mot_tracking.py +0 -0
  71. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/video_mscoco_detection.py +0 -0
  72. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/video_youtube_bb_tracking.py +0 -0
  73. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_formats/yolo_detection.py +0 -0
  74. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_labelling.py +0 -0
  75. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_prep.py +0 -0
  76. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/data_processor.py +0 -0
  77. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/image_augmentations.py +0 -0
  78. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/image_data_augmentation.py +0 -0
  79. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/new_data_augmentation.py +0 -0
  80. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/pipeline.py +0 -0
  81. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/server.py +0 -0
  82. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/server_utils.py +0 -0
  83. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/data_processing/video_server.py +0 -0
  84. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/dataset.py +0 -0
  85. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/__init__.py +0 -0
  86. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/aggregator/__init__.py +0 -0
  87. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/aggregator/aggregator.py +0 -0
  88. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/aggregator/ingestor.py +0 -0
  89. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/aggregator/pipeline.py +0 -0
  90. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/aggregator/publisher.py +0 -0
  91. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/aggregator/synchronizer.py +0 -0
  92. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/__init__.py +0 -0
  93. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/auto_streaming/__init__.py +0 -0
  94. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/auto_streaming/auto_streaming.py +0 -0
  95. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/auto_streaming/auto_streaming_utils.py +0 -0
  96. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/client.py +0 -0
  97. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/client_stream_utils.py +0 -0
  98. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/client_utils.py +0 -0
  99. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/frame_comparators.py +0 -0
  100. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/streaming_gateway/__init__.py +0 -0
  101. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/streaming_gateway/streaming_gateway.py +0 -0
  102. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/streaming_gateway/streaming_gateway_utils.py +0 -0
  103. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/client/streaming_gateway/streaming_results_handler.py +0 -0
  104. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/__init__.py +0 -0
  105. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/inference/__init__.py +0 -0
  106. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/inference/batch_manager.py +0 -0
  107. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/inference/cache_manager.py +0 -0
  108. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/inference/inference_interface.py +0 -0
  109. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/inference/model_manager.py +0 -0
  110. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/inference/triton_utils.py +0 -0
  111. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/proxy/__init__.py +0 -0
  112. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/proxy/proxy_interface.py +0 -0
  113. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/proxy/proxy_utils.py +0 -0
  114. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/server.py +0 -0
  115. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/server/stream_worker.py +0 -0
  116. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/__init__.py +0 -0
  117. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/boundary_drawing_internal/__init__.py +0 -0
  118. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/boundary_drawing_internal/boundary_drawing_internal.py +0 -0
  119. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/boundary_drawing_internal/boundary_drawing_tool.py +0 -0
  120. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/boundary_drawing_internal/example_usage.py +0 -0
  121. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/kafka_utils.py +0 -0
  122. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/__init__.py +0 -0
  123. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/advanced_tracker/__init__.py +0 -0
  124. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/advanced_tracker/base.py +0 -0
  125. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/advanced_tracker/config.py +0 -0
  126. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/advanced_tracker/kalman_filter.py +0 -0
  127. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/advanced_tracker/matching.py +0 -0
  128. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/advanced_tracker/strack.py +0 -0
  129. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/advanced_tracker/tracker.py +0 -0
  130. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/config.py +0 -0
  131. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/core/__init__.py +0 -0
  132. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/core/base.py +0 -0
  133. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/core/config.py +0 -0
  134. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/core/config_utils.py +0 -0
  135. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/processor.py +0 -0
  136. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/__init__.py +0 -0
  137. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/run_tests.py +0 -0
  138. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_advanced_customer_service.py +0 -0
  139. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_basic_counting_tracking.py +0 -0
  140. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_comprehensive.py +0 -0
  141. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_config.py +0 -0
  142. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_customer_service.py +0 -0
  143. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_data_generators.py +0 -0
  144. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_people_counting.py +0 -0
  145. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_processor.py +0 -0
  146. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_utilities.py +0 -0
  147. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/test_cases/test_utils.py +0 -0
  148. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/Histopathological_Cancer_Detection_img.py +0 -0
  149. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/__init__.py +0 -0
  150. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/abandoned_object_detection.py +0 -0
  151. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/advanced_customer_service.py +0 -0
  152. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/age_detection.py +0 -0
  153. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/anti_spoofing_detection.py +0 -0
  154. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/assembly_line_detection.py +0 -0
  155. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/banana_defect_detection.py +0 -0
  156. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/basic_counting_tracking.py +0 -0
  157. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/blood_cancer_detection_img.py +0 -0
  158. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/car_damage_detection.py +0 -0
  159. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/car_part_segmentation.py +0 -0
  160. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/cardiomegaly_classification.py +0 -0
  161. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/chicken_pose_detection.py +0 -0
  162. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/child_monitoring.py +0 -0
  163. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/color_detection.py +0 -0
  164. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/color_map_utils.py +0 -0
  165. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/concrete_crack_detection.py +0 -0
  166. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/crop_weed_detection.py +0 -0
  167. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/customer_service.py +0 -0
  168. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/defect_detection_products.py +0 -0
  169. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/distracted_driver_detection.py +0 -0
  170. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/drowsy_driver_detection.py +0 -0
  171. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/emergency_vehicle_detection.py +0 -0
  172. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/face_emotion.py +0 -0
  173. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/face_recognition.py +0 -0
  174. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/fashion_detection.py +0 -0
  175. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/field_mapping.py +0 -0
  176. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/fire_detection.py +0 -0
  177. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/flare_analysis.py +0 -0
  178. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/flower_segmentation.py +0 -0
  179. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/gas_leak_detection.py +0 -0
  180. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/gender_detection.py +0 -0
  181. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/human_activity_recognition.py +0 -0
  182. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/intrusion_detection.py +0 -0
  183. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/leaf.py +0 -0
  184. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/leaf_disease.py +0 -0
  185. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/leak_detection.py +0 -0
  186. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/license_plate_detection.py +0 -0
  187. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/litter_monitoring.py +0 -0
  188. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/mask_detection.py +0 -0
  189. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/parking.py +0 -0
  190. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/parking_space_detection.py +0 -0
  191. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/pedestrian_detection.py +0 -0
  192. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/people_counting.py +0 -0
  193. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/pipeline_detection.py +0 -0
  194. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/plaque_segmentation_img.py +0 -0
  195. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/pothole_segmentation.py +0 -0
  196. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/ppe_compliance.py +0 -0
  197. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/price_tag_detection.py +0 -0
  198. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/road_lane_detection.py +0 -0
  199. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/road_traffic_density.py +0 -0
  200. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/road_view_segmentation.py +0 -0
  201. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/shelf_inventory_detection.py +0 -0
  202. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/shoplifting_detection.py +0 -0
  203. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/shopping_cart_analysis.py +0 -0
  204. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/skin_cancer_classification_img.py +0 -0
  205. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/smoker_detection.py +0 -0
  206. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/solar_panel.py +0 -0
  207. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/template_usecase.py +0 -0
  208. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/theft_detection.py +0 -0
  209. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/traffic_sign_monitoring.py +0 -0
  210. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/underwater_pollution_detection.py +0 -0
  211. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/vehicle_monitoring.py +0 -0
  212. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/warehouse_object_segmentation.py +0 -0
  213. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/waterbody_segmentation.py +0 -0
  214. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/weapon_detection.py +0 -0
  215. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/weld_defect_detection.py +0 -0
  216. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/windmill_maintenance.py +0 -0
  217. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/usecases/wound_segmentation.py +0 -0
  218. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/__init__.py +0 -0
  219. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/advanced_counting_utils.py +0 -0
  220. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/advanced_helper_utils.py +0 -0
  221. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/advanced_tracking_utils.py +0 -0
  222. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/alerting_utils.py +0 -0
  223. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/category_mapping_utils.py +0 -0
  224. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/color_utils.py +0 -0
  225. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/counting_utils.py +0 -0
  226. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/filter_utils.py +0 -0
  227. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/format_utils.py +0 -0
  228. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/geometry_utils.py +0 -0
  229. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/smoothing_utils.py +0 -0
  230. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deploy/utils/post_processing/utils/tracking_utils.py +0 -0
  231. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deployment/__init__.py +0 -0
  232. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deployment/camera_manager.py +0 -0
  233. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deployment/deployment.py +0 -0
  234. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deployment/inference_pipeline.py +0 -0
  235. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/deployment/streaming_gateway_manager.py +0 -0
  236. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/docker_utils.py +0 -0
  237. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/drift_monitor.py +0 -0
  238. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/exported_model.py +0 -0
  239. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/local_test.py +0 -0
  240. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/metrics_calculator.py +0 -0
  241. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/metrics_calculator_oop.py +0 -0
  242. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/model_store.py +0 -0
  243. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/models.py +0 -0
  244. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/pipeline.py +0 -0
  245. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/projects.py +0 -0
  246. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/rpc.py +0 -0
  247. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/scaling.py +0 -0
  248. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/session.py +0 -0
  249. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/testing.py +0 -0
  250. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/token_auth.py +0 -0
  251. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice/utils.py +0 -0
  252. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice.egg-info/SOURCES.txt +0 -0
  253. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice.egg-info/dependency_links.txt +0 -0
  254. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice.egg-info/requires.txt +0 -0
  255. {matrice-1.0.99269 → matrice-1.0.99270}/src/matrice.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrice
3
- Version: 1.0.99269
3
+ Version: 1.0.99270
4
4
  Summary: SDK for connecting to matrice.ai services
5
5
  Home-page: https://github.com/matrice-ai/python-sdk
6
6
  Author: Matrice.ai
@@ -14,7 +14,7 @@ long_description = (here / "README.md").read_text(encoding="utf-8")
14
14
  setup(
15
15
  name="matrice",
16
16
 
17
- version = "1.0.99269",
17
+ version = "1.0.99270",
18
18
 
19
19
  description="SDK for connecting to matrice.ai services",
20
20
  long_description=long_description,
@@ -66,6 +66,7 @@ class ProximityUseCase(BaseProcessor):
66
66
  # Proximity counting
67
67
  self._total_proximity_count = 0 # Total proximity events across all calls
68
68
  self._observed_proximity_pairs: Set[frozenset] = set() # Unique canonical ID pairs seen across frames
69
+ self._last_frame_proximity_pairs: Set[tuple] = set() # Pairs detected in the most recent frame (track-id based)
69
70
 
70
71
 
71
72
  # --------------------------------------------------------------------- #
@@ -589,10 +590,10 @@ class ProximityUseCase(BaseProcessor):
589
590
  """Count UNIQUE proximity events between detections in a frame.
590
591
 
591
592
  Rules:
592
- - If canonical track IDs are present, deduplicate by track_id first.
593
- - Otherwise, deduplicate overlapping boxes using IoU to avoid duplicate detections of the same person.
594
- - Count each pair once (i < j) using Euclidean distance between bottom-center points.
595
- - Distance is evaluated in meters when calibration is available. If unavailable, pixel threshold is used as a fallback.
593
+ - Use IoU-NMS to deduplicate overlapping boxes (highest confidence kept).
594
+ - Use track IDs when available to build stable (id1,id2) pairs.
595
+ - Count each pair once (i < j) using Euclidean distance between box centers.
596
+ - Distance is evaluated in meters when calibration is available; otherwise, fallback to pixel threshold.
596
597
  - Maintain a running set of unique canonical-ID pairs across frames to compute total unique proximity events.
597
598
  """
598
599
  if not detections:
@@ -603,81 +604,101 @@ class ProximityUseCase(BaseProcessor):
603
604
  threshold_meters = getattr(config, "proximity_threshold_meters", 1.0)
604
605
  threshold_pixels_fallback = getattr(config, "proximity_threshold_pixels", 400.0)
605
606
 
606
- iou_duplicate_threshold = getattr(self, "_proximity_iou_duplicate_threshold", 0.5)
607
+ overlap_iou_threshold = getattr(self, "_proximity_iou_duplicate_threshold", 0.5)
607
608
 
608
- # Step 1: Deduplicate detections
609
- unique_detections: List[Dict[str, Any]] = []
610
- seen_track_ids: Set[Any] = set()
609
+ # Helper: convert bbox to xyxy list
610
+ def _to_xyxy(bbox: Any) -> List[float]:
611
+ if isinstance(bbox, list):
612
+ if len(bbox) >= 4:
613
+ return [float(bbox[0]), float(bbox[1]), float(bbox[2]), float(bbox[3])]
614
+ return []
615
+ if isinstance(bbox, dict):
616
+ if all(k in bbox for k in ("xmin", "ymin", "xmax", "ymax")):
617
+ return [float(bbox["xmin"]), float(bbox["ymin"]), float(bbox["xmax"]), float(bbox["ymax"])]
618
+ if all(k in bbox for k in ("x1", "y1", "x2", "y2")):
619
+ return [float(bbox["x1"]), float(bbox["y1"]), float(bbox["x2"]), float(bbox["y2"])]
620
+ # Fallback: take first four values
621
+ vals = list(bbox.values())
622
+ if len(vals) >= 4:
623
+ return [float(vals[0]), float(vals[1]), float(vals[2]), float(vals[3])]
624
+ return []
625
+ return []
611
626
 
627
+ # Prepare tracked detections (track_id, bbox_xyxy, conf)
628
+ tracked_detections: List[Dict[str, Any]] = []
612
629
  for det in detections:
613
- track_id = det.get("track_id")
614
- bbox = det.get("bounding_box", det.get("bbox", {}))
630
+ bbox = _to_xyxy(det.get("bounding_box", det.get("bbox", {})))
615
631
  if not bbox:
616
632
  continue
633
+ tracked_detections.append({
634
+ "track_id": det.get("track_id"),
635
+ "bbox": bbox,
636
+ "confidence": float(det.get("confidence", 1.0))
637
+ })
617
638
 
618
- # Prefer canonical track IDs if present (set earlier in _update_tracking_state)
619
- if track_id is not None:
620
- if track_id in seen_track_ids:
621
- continue
622
- seen_track_ids.add(track_id)
623
- unique_detections.append(det)
624
- continue
625
-
626
- # Fallback: IoU-based dedup for pure detection outputs without track IDs
627
- is_duplicate = False
628
- for kept in unique_detections:
629
- kept_bbox = kept.get("bounding_box", kept.get("bbox", {}))
630
- if self._compute_iou(bbox, kept_bbox) >= iou_duplicate_threshold:
631
- is_duplicate = True
632
- break
633
- if not is_duplicate:
634
- unique_detections.append(det)
635
-
636
- # Step 2: Compute proximity pairs uniquely (i < j)
637
- frame_unique_count = 0
638
-
639
- for i in range(len(unique_detections)):
640
- det_i = unique_detections[i]
641
- bbox_i = det_i.get("bounding_box", det_i.get("bbox", {}))
642
- p_i = get_bbox_bottom25_center(bbox_i) or get_bbox_center(bbox_i)
643
- if not p_i:
644
- continue
645
-
646
- for j in range(i + 1, len(unique_detections)):
647
- det_j = unique_detections[j]
648
- bbox_j = det_j.get("bounding_box", det_j.get("bbox", {}))
649
- p_j = get_bbox_bottom25_center(bbox_j) or get_bbox_center(bbox_j)
650
- if not p_j:
651
- continue
652
-
653
- dx = float(p_i[0]) - float(p_j[0])
654
- dy = float(p_i[1]) - float(p_j[1])
655
- pixel_distance = math.hypot(dx, dy)
639
+ # IoU-NMS to remove overlapping boxes, keep highest confidence
640
+ kept: List[Dict[str, Any]] = self._nms_by_iou(tracked_detections, overlap_iou_threshold)
641
+
642
+ # Compute centroids
643
+ centroids: Dict[Any, tuple] = {}
644
+ for td in kept:
645
+ x1, y1, x2, y2 = map(float, td["bbox"])
646
+ cx, cy = (x1 + x2) / 2.0, (y1 + y2) / 2.0
647
+ centroids[td.get("track_id")] = (cx, cy)
648
+
649
+ # Build current frame proximity pairs using track IDs only when both exist
650
+ current_pairs: Set[tuple] = set()
651
+ ids_list = [tid for tid in centroids.keys() if tid is not None]
652
+ for i in range(len(ids_list)):
653
+ for j in range(i + 1, len(ids_list)):
654
+ id1, id2 = ids_list[i], ids_list[j]
655
+ cx1, cy1 = centroids[id1]
656
+ cx2, cy2 = centroids[id2]
657
+ pixel_distance = math.hypot(cx1 - cx2, cy1 - cy2)
656
658
 
657
659
  is_close = False
658
660
  if meters_per_pixel:
659
661
  meters_distance = pixel_distance * float(meters_per_pixel)
660
- if meters_distance < float(threshold_meters):
661
- is_close = True
662
+ is_close = meters_distance < float(threshold_meters)
662
663
  else:
663
- if pixel_distance < float(threshold_pixels_fallback):
664
- is_close = True
664
+ is_close = pixel_distance < float(threshold_pixels_fallback)
665
+
666
+ if is_close:
667
+ pair = (id1, id2) if id1 <= id2 else (id2, id1)
668
+ current_pairs.add(pair)
665
669
 
666
- if not is_close:
667
- continue
670
+ # Update global unique proximity pairs
671
+ new_unique_pairs = {frozenset(p) for p in current_pairs} - self._observed_proximity_pairs
672
+ if new_unique_pairs:
673
+ self._total_proximity_count += len(new_unique_pairs)
674
+ self._observed_proximity_pairs.update(new_unique_pairs)
668
675
 
669
- frame_unique_count += 1
676
+ # Store last frame pairs
677
+ self._last_frame_proximity_pairs = current_pairs
670
678
 
671
- # Update global unique proximity pairs only when both have canonical IDs
672
- id_i = det_i.get("track_id")
673
- id_j = det_j.get("track_id")
674
- if id_i is not None and id_j is not None:
675
- pair_key = frozenset({id_i, id_j})
676
- if pair_key not in self._observed_proximity_pairs:
677
- self._observed_proximity_pairs.add(pair_key)
678
- self._total_proximity_count += 1
679
+ # Return count of unique pairs in current frame
680
+ return len(current_pairs)
679
681
 
680
- return frame_unique_count
682
+ def _nms_by_iou(self, detections: List[Dict[str, Any]], iou_threshold: float) -> List[Dict[str, Any]]:
683
+ """Perform simple IoU-based NMS on a list of detections.
684
+
685
+ Each detection is a dict with keys: 'bbox' as [x1,y1,x2,y2], 'confidence' (float), and optional 'track_id'.
686
+ Keeps highest-confidence detections when overlap exceeds threshold.
687
+ """
688
+ if not detections:
689
+ return []
690
+ # Sort by confidence descending
691
+ dets = sorted(detections, key=lambda d: float(d.get("confidence", 1.0)), reverse=True)
692
+ kept: List[Dict[str, Any]] = []
693
+ for det in dets:
694
+ should_keep = True
695
+ for kept_det in kept:
696
+ if self._compute_iou(det["bbox"], kept_det["bbox"]) >= iou_threshold:
697
+ should_keep = False
698
+ break
699
+ if should_keep:
700
+ kept.append(det)
701
+ return kept
681
702
 
682
703
  def _get_meters_per_pixel(self, config: ProximityConfig, stream_info: Optional[Dict[str, Any]] = None) -> Optional[float]:
683
704
  """Compute meters-per-pixel scale using config and optional stream_info.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrice
3
- Version: 1.0.99269
3
+ Version: 1.0.99270
4
4
  Summary: SDK for connecting to matrice.ai services
5
5
  Home-page: https://github.com/matrice-ai/python-sdk
6
6
  Author: Matrice.ai
File without changes
File without changes
File without changes