matrice 1.0.99245__tar.gz → 1.0.99247__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.99245/src/matrice.egg-info → matrice-1.0.99247}/PKG-INFO +1 -1
  2. {matrice-1.0.99245 → matrice-1.0.99247}/setup.py +1 -1
  3. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/__init__.py +10 -2
  4. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/config.py +2 -0
  5. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/core/__init__.py +1 -0
  6. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/core/config.py +66 -1
  7. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/core/config_utils.py +85 -6
  8. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/processor.py +7 -3
  9. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/__init__.py +3 -0
  10. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/intrusion_detection.py +4 -4
  11. matrice-1.0.99247/src/matrice/deploy/utils/post_processing/usecases/proximity_detection.py +1559 -0
  12. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/__init__.py +3 -1
  13. {matrice-1.0.99245 → matrice-1.0.99247/src/matrice.egg-info}/PKG-INFO +1 -1
  14. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice.egg-info/SOURCES.txt +1 -0
  15. {matrice-1.0.99245 → matrice-1.0.99247}/LICENSE.txt +0 -0
  16. {matrice-1.0.99245 → matrice-1.0.99247}/README.md +0 -0
  17. {matrice-1.0.99245 → matrice-1.0.99247}/setup.cfg +0 -0
  18. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/__init__.py +0 -0
  19. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/action.py +0 -0
  20. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/actionTracker.py +0 -0
  21. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/action_tracker.py +0 -0
  22. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/annotation.py +0 -0
  23. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/app_store.py +0 -0
  24. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/application.py +0 -0
  25. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute.py +0 -0
  26. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/__init__.py +0 -0
  27. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/action_instance.py +0 -0
  28. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/actions_manager.py +0 -0
  29. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/actions_scaledown_manager.py +0 -0
  30. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/instance_manager.py +0 -0
  31. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/instance_utils.py +0 -0
  32. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/prechecks.py +0 -0
  33. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/resources_tracker.py +0 -0
  34. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/scaling.py +0 -0
  35. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/shutdown_manager.py +0 -0
  36. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/compute_manager/task_utils.py +0 -0
  37. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/__init__.py +0 -0
  38. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/aug_server.py +0 -0
  39. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/aug_server_v2.py +0 -0
  40. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/__init__.py +0 -0
  41. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/base.py +0 -0
  42. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/__init__.py +0 -0
  43. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/bit_depth_reduction.py +0 -0
  44. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/blur.py +0 -0
  45. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/brightness_contrast.py +0 -0
  46. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/color_jitter.py +0 -0
  47. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/compression_artifacts.py +0 -0
  48. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/downscale_upscale.py +0 -0
  49. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/film_grain.py +0 -0
  50. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/flip.py +0 -0
  51. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/fog.py +0 -0
  52. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/horizontal_flip.py +0 -0
  53. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/hsv.py +0 -0
  54. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/iso_noise.py +0 -0
  55. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/low_light.py +0 -0
  56. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/posterize.py +0 -0
  57. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/rain.py +0 -0
  58. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/random_affine.py +0 -0
  59. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/salt_pepper.py +0 -0
  60. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/shadows.py +0 -0
  61. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/snow.py +0 -0
  62. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/speckle.py +0 -0
  63. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/augmentation_utils/strategies/sunflare.py +0 -0
  64. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/client.py +0 -0
  65. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/client_utils.py +0 -0
  66. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/create_dataset.py +0 -0
  67. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_augmentation.py +0 -0
  68. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_augmentor.py +0 -0
  69. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/__init__.py +0 -0
  70. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/imagenet_classification.py +0 -0
  71. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/labelbox_classification.py +0 -0
  72. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/labelbox_detection.py +0 -0
  73. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/mscoco_detection.py +0 -0
  74. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/pascalvoc_detection.py +0 -0
  75. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/unlabelled.py +0 -0
  76. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/video_davis_segmentation.py +0 -0
  77. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/video_detection_mscoco.py +0 -0
  78. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/video_imagenet_classification.py +0 -0
  79. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/video_kinetics_activity_recognition.py +0 -0
  80. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/video_mot_tracking.py +0 -0
  81. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/video_mscoco_detection.py +0 -0
  82. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/video_youtube_bb_tracking.py +0 -0
  83. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_formats/yolo_detection.py +0 -0
  84. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_labelling.py +0 -0
  85. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_prep.py +0 -0
  86. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/data_processor.py +0 -0
  87. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/image_augmentations.py +0 -0
  88. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/image_data_augmentation.py +0 -0
  89. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/new_data_augmentation.py +0 -0
  90. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/pipeline.py +0 -0
  91. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/server.py +0 -0
  92. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/server_utils.py +0 -0
  93. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/data_processing/video_server.py +0 -0
  94. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/dataset.py +0 -0
  95. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/__init__.py +0 -0
  96. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/aggregator/__init__.py +0 -0
  97. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/aggregator/aggregator.py +0 -0
  98. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/aggregator/ingestor.py +0 -0
  99. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/aggregator/pipeline.py +0 -0
  100. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/aggregator/publisher.py +0 -0
  101. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/aggregator/synchronizer.py +0 -0
  102. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/__init__.py +0 -0
  103. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/auto_streaming/__init__.py +0 -0
  104. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/auto_streaming/auto_streaming.py +0 -0
  105. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/auto_streaming/auto_streaming_utils.py +0 -0
  106. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/client.py +0 -0
  107. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/client_stream_utils.py +0 -0
  108. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/client_utils.py +0 -0
  109. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/frame_comparators.py +0 -0
  110. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/streaming_gateway/__init__.py +0 -0
  111. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/streaming_gateway/streaming_gateway.py +0 -0
  112. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/streaming_gateway/streaming_gateway_utils.py +0 -0
  113. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/client/streaming_gateway/streaming_results_handler.py +0 -0
  114. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/__init__.py +0 -0
  115. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/inference/__init__.py +0 -0
  116. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/inference/batch_manager.py +0 -0
  117. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/inference/cache_manager.py +0 -0
  118. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/inference/inference_interface.py +0 -0
  119. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/inference/model_manager.py +0 -0
  120. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/inference/triton_utils.py +0 -0
  121. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/proxy/__init__.py +0 -0
  122. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/proxy/proxy_interface.py +0 -0
  123. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/proxy/proxy_utils.py +0 -0
  124. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/server.py +0 -0
  125. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/server/stream_worker.py +0 -0
  126. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/__init__.py +0 -0
  127. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/boundary_drawing_internal/__init__.py +0 -0
  128. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/boundary_drawing_internal/boundary_drawing_internal.py +0 -0
  129. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/boundary_drawing_internal/boundary_drawing_tool.py +0 -0
  130. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/boundary_drawing_internal/example_usage.py +0 -0
  131. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/kafka_utils.py +0 -0
  132. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/advanced_tracker/__init__.py +0 -0
  133. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/advanced_tracker/base.py +0 -0
  134. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/advanced_tracker/config.py +0 -0
  135. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/advanced_tracker/kalman_filter.py +0 -0
  136. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/advanced_tracker/matching.py +0 -0
  137. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/advanced_tracker/strack.py +0 -0
  138. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/advanced_tracker/tracker.py +0 -0
  139. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/core/base.py +0 -0
  140. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/__init__.py +0 -0
  141. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/run_tests.py +0 -0
  142. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_advanced_customer_service.py +0 -0
  143. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_basic_counting_tracking.py +0 -0
  144. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_comprehensive.py +0 -0
  145. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_config.py +0 -0
  146. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_customer_service.py +0 -0
  147. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_data_generators.py +0 -0
  148. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_people_counting.py +0 -0
  149. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_processor.py +0 -0
  150. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_utilities.py +0 -0
  151. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/test_cases/test_utils.py +0 -0
  152. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/Histopathological_Cancer_Detection_img.py +0 -0
  153. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/abandoned_object_detection.py +0 -0
  154. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/advanced_customer_service.py +0 -0
  155. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/age_detection.py +0 -0
  156. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/anti_spoofing_detection.py +0 -0
  157. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/assembly_line_detection.py +0 -0
  158. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/banana_defect_detection.py +0 -0
  159. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/basic_counting_tracking.py +0 -0
  160. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/blood_cancer_detection_img.py +0 -0
  161. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/car_damage_detection.py +0 -0
  162. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/car_part_segmentation.py +0 -0
  163. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/cardiomegaly_classification.py +0 -0
  164. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/chicken_pose_detection.py +0 -0
  165. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/child_monitoring.py +0 -0
  166. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/color_detection.py +0 -0
  167. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/color_map_utils.py +0 -0
  168. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/concrete_crack_detection.py +0 -0
  169. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/crop_weed_detection.py +0 -0
  170. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/customer_service.py +0 -0
  171. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/defect_detection_products.py +0 -0
  172. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/distracted_driver_detection.py +0 -0
  173. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/drowsy_driver_detection.py +0 -0
  174. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/emergency_vehicle_detection.py +0 -0
  175. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/face_emotion.py +0 -0
  176. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/face_recognition.py +0 -0
  177. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/fashion_detection.py +0 -0
  178. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/field_mapping.py +0 -0
  179. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/fire_detection.py +0 -0
  180. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/flare_analysis.py +0 -0
  181. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/flower_segmentation.py +0 -0
  182. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/gas_leak_detection.py +0 -0
  183. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/gender_detection.py +0 -0
  184. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/human_activity_recognition.py +0 -0
  185. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/leaf.py +0 -0
  186. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/leaf_disease.py +0 -0
  187. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/leak_detection.py +0 -0
  188. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/license_plate_detection.py +0 -0
  189. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/litter_monitoring.py +0 -0
  190. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/mask_detection.py +0 -0
  191. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/parking.py +0 -0
  192. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/parking_space_detection.py +0 -0
  193. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/pedestrian_detection.py +0 -0
  194. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/people_counting.py +0 -0
  195. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/pipeline_detection.py +0 -0
  196. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/plaque_segmentation_img.py +0 -0
  197. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/pothole_segmentation.py +0 -0
  198. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/ppe_compliance.py +0 -0
  199. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/price_tag_detection.py +0 -0
  200. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/road_lane_detection.py +0 -0
  201. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/road_traffic_density.py +0 -0
  202. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/road_view_segmentation.py +0 -0
  203. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/shelf_inventory_detection.py +0 -0
  204. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/shoplifting_detection.py +0 -0
  205. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/shopping_cart_analysis.py +0 -0
  206. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/skin_cancer_classification_img.py +0 -0
  207. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/smoker_detection.py +0 -0
  208. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/solar_panel.py +0 -0
  209. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/template_usecase.py +0 -0
  210. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/theft_detection.py +0 -0
  211. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/traffic_sign_monitoring.py +0 -0
  212. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/underwater_pollution_detection.py +0 -0
  213. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/vehicle_monitoring.py +0 -0
  214. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/warehouse_object_segmentation.py +0 -0
  215. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/waterbody_segmentation.py +0 -0
  216. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/weapon_detection.py +0 -0
  217. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/weld_defect_detection.py +0 -0
  218. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/windmill_maintenance.py +0 -0
  219. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/usecases/wound_segmentation.py +0 -0
  220. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/advanced_counting_utils.py +0 -0
  221. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/advanced_helper_utils.py +0 -0
  222. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/advanced_tracking_utils.py +0 -0
  223. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/alerting_utils.py +0 -0
  224. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/category_mapping_utils.py +0 -0
  225. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/color_utils.py +0 -0
  226. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/counting_utils.py +0 -0
  227. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/filter_utils.py +0 -0
  228. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/format_utils.py +0 -0
  229. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/geometry_utils.py +0 -0
  230. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/smoothing_utils.py +0 -0
  231. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deploy/utils/post_processing/utils/tracking_utils.py +0 -0
  232. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deployment/__init__.py +0 -0
  233. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deployment/camera_manager.py +0 -0
  234. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deployment/deployment.py +0 -0
  235. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deployment/inference_pipeline.py +0 -0
  236. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/deployment/streaming_gateway_manager.py +0 -0
  237. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/docker_utils.py +0 -0
  238. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/drift_monitor.py +0 -0
  239. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/exported_model.py +0 -0
  240. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/local_test.py +0 -0
  241. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/metrics_calculator.py +0 -0
  242. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/metrics_calculator_oop.py +0 -0
  243. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/model_store.py +0 -0
  244. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/models.py +0 -0
  245. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/pipeline.py +0 -0
  246. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/projects.py +0 -0
  247. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/rpc.py +0 -0
  248. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/scaling.py +0 -0
  249. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/session.py +0 -0
  250. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/testing.py +0 -0
  251. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/token_auth.py +0 -0
  252. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice/utils.py +0 -0
  253. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice.egg-info/dependency_links.txt +0 -0
  254. {matrice-1.0.99245 → matrice-1.0.99247}/src/matrice.egg-info/requires.txt +0 -0
  255. {matrice-1.0.99245 → matrice-1.0.99247}/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.99245
3
+ Version: 1.0.99247
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.99245",
17
+ version = "1.0.99247",
18
18
 
19
19
  description="SDK for connecting to matrice.ai services",
20
20
  long_description=long_description,
@@ -56,6 +56,7 @@ from .core.config import (
56
56
  BaseConfig,
57
57
  PeopleCountingConfig,
58
58
  CustomerServiceConfig,
59
+ ProximityConfig,
59
60
  ZoneConfig,
60
61
  TrackingConfig,
61
62
  AlertConfig,
@@ -130,6 +131,7 @@ from .usecases.Histopathological_Cancer_Detection_img import HistopathologicalCa
130
131
  from .usecases import (
131
132
  PeopleCountingUseCase,
132
133
  CustomerServiceUseCase,
134
+ ProximityUseCase,
133
135
  AdvancedCustomerServiceUseCase,
134
136
  BasicCountingTrackingUseCase,
135
137
  LicensePlateUseCase,
@@ -193,6 +195,7 @@ from .usecases import (
193
195
  # Register use cases automatically
194
196
  _people_counting = PeopleCountingUseCase()
195
197
  _customer_service = CustomerServiceUseCase()
198
+ _proximity_detection = ProximityUseCase()
196
199
  _advanced_customer_service = AdvancedCustomerServiceUseCase()
197
200
  _basic_counting_tracking = BasicCountingTrackingUseCase()
198
201
  _license_plate = LicensePlateUseCase()
@@ -248,7 +251,7 @@ _flower_segmentation = FlowerUseCase()
248
251
  _leaf_det = LeafUseCase()
249
252
  _smoker_detection = SmokerDetectionUseCase()
250
253
  _litter_detection = LitterDetectionUseCase()
251
- _abandoned_object_detection = AbandonedObjectDetectionUseCase()
254
+ _abandoned_object_detection = AbandonedObjectDetectionUseCase()
252
255
  _human_activity_recognition = HumanActivityUseCase()
253
256
  _gas_leak_detection = GasLeakDetectionUseCase()
254
257
 
@@ -262,6 +265,7 @@ _histopathological_cancer_detection = HistopathologicalCancerDetectionUseCase()
262
265
  registry.register_use_case(_abandoned_object_detection.category, _abandoned_object_detection.name, AbandonedObjectDetectionUseCase)
263
266
  registry.register_use_case(_litter_detection.category, _litter_detection.name, LitterDetectionUseCase)
264
267
  registry.register_use_case(_people_counting.category, _people_counting.name, PeopleCountingUseCase)
268
+ registry.register_use_case(_proximity_detection.category, _proximity_detection.name, ProximityUseCase)
265
269
  registry.register_use_case(_customer_service.category, _customer_service.name, CustomerServiceUseCase)
266
270
  registry.register_use_case(_advanced_customer_service.category, _advanced_customer_service.name, AdvancedCustomerServiceUseCase)
267
271
  registry.register_use_case(_basic_counting_tracking.category, _basic_counting_tracking.name, BasicCountingTrackingUseCase)
@@ -373,6 +377,7 @@ from .utils import ( # noqa: E402
373
377
  # New utilities
374
378
  create_people_counting_config,
375
379
  create_intrusion_detection_config,
380
+ create_proximity_detection_config,
376
381
  create_customer_service_config,
377
382
  create_advanced_customer_service_config,
378
383
  create_basic_counting_tracking_config,
@@ -457,7 +462,8 @@ __all__ = [
457
462
 
458
463
  # Configuration classes
459
464
  'BaseConfig',
460
- 'PeopleCountingConfig',
465
+ 'PeopleCountingConfig',
466
+ 'ProximityConfig',
461
467
  'CustomerServiceConfig',
462
468
  'ColorDetectionConfig',
463
469
  'LicensePlateConfig',
@@ -524,6 +530,7 @@ __all__ = [
524
530
  # Use case classes
525
531
  'PeopleCountingUseCase',
526
532
  'CustomerServiceUseCase',
533
+ 'ProximityUseCase',
527
534
  'AdvancedCustomerServiceUseCase',
528
535
  'BasicCountingTrackingUseCase',
529
536
  'LicensePlateUseCase',
@@ -643,6 +650,7 @@ __all__ = [
643
650
  # New utilities
644
651
  'create_people_counting_config',
645
652
  'create_intrusion_detection_config',
653
+ 'create_proximity_detection_config',
646
654
  'create_customer_service_config',
647
655
  'create_advanced_customer_service_config',
648
656
  'create_basic_counting_tracking_config',
@@ -1,6 +1,7 @@
1
1
  APP_NAME_TO_USECASE = {
2
2
  "people_counting": "people_counting",
3
3
  "intrusion_detection": "intrusion_detection",
4
+ "proximity_detection": "proximity_detection",
4
5
  "mask_detection": "mask_detection",
5
6
  "pipeline_detection": "pipeline_detection",
6
7
  "vehicle_monitoring": "vehicle_monitoring",
@@ -55,6 +56,7 @@ APP_NAME_TO_USECASE = {
55
56
  APP_NAME_TO_CATEGORY = {
56
57
  "people_counting": "general",
57
58
  "intrusion_detection": "security",
59
+ "proximity_detection": "security",
58
60
  "mask_detection": "mask_detection",
59
61
  "pipeline_detection": "pipeline_detection",
60
62
  "vehicle_monitoring": "traffic",
@@ -50,6 +50,7 @@ __all__ = [
50
50
  'BaseConfig',
51
51
  'PeopleCountingConfig',
52
52
  'IntrusionConfig',
53
+ 'ProximityConfig',
53
54
  'CustomerServiceConfig',
54
55
  'ZoneConfig',
55
56
  'TrackingConfig',
@@ -327,6 +327,7 @@ class PeopleCountingConfig(BaseConfig):
327
327
 
328
328
  return errors
329
329
 
330
+
330
331
  @dataclass
331
332
  class IntrusionConfig(BaseConfig):
332
333
  """Configuration for intrusion detection use case."""
@@ -346,7 +347,7 @@ class IntrusionConfig(BaseConfig):
346
347
  time_window_minutes: int = 60
347
348
 
348
349
  # Category mapping
349
- person_categories: List[str] = field(default_factory=lambda: ["person", "people", "human"])
350
+ person_categories: List[str] = field(default_factory=lambda: ["person"])
350
351
  index_to_category: Optional[Dict[int, str]] = None
351
352
 
352
353
  # Alert configuration
@@ -372,6 +373,51 @@ class IntrusionConfig(BaseConfig):
372
373
  return errors
373
374
 
374
375
 
376
+ @dataclass
377
+ class ProximityConfig(BaseConfig):
378
+ """Configuration for intrusion detection use case."""
379
+
380
+ # Smoothing configuration
381
+ enable_smoothing: bool = True
382
+ smoothing_algorithm: str = "observability" # "window" or "observability"
383
+ smoothing_window_size: int = 20
384
+ smoothing_cooldown_frames: int = 5
385
+ smoothing_confidence_range_factor: float = 0.5
386
+
387
+ # Zone configuration
388
+ zone_config: Optional[ZoneConfig] = None
389
+
390
+ # Counting parameters
391
+ enable_unique_counting: bool = True
392
+ time_window_minutes: int = 60
393
+
394
+ # Category mapping
395
+ person_categories: List[str] = field(default_factory=lambda: ["person"])
396
+ index_to_category: Optional[Dict[int, str]] = None
397
+
398
+ # Alert configuration
399
+ alert_config: Optional[AlertConfig] = None
400
+
401
+ def validate(self) -> List[str]:
402
+ """Validate proximity detection configuration."""
403
+ errors = super().validate()
404
+
405
+ if self.time_window_minutes <= 0:
406
+ errors.append("time_window_minutes must be positive")
407
+
408
+ if not self.person_categories:
409
+ errors.append("person_categories cannot be empty")
410
+
411
+ # Validate nested configurations
412
+ if self.zone_config:
413
+ errors.extend(self.zone_config.validate())
414
+
415
+ if self.alert_config:
416
+ errors.extend(self.alert_config.validate())
417
+
418
+ return errors
419
+
420
+
375
421
  @dataclass
376
422
  class CustomerServiceConfig(BaseConfig):
377
423
  """Configuration for customer service use case."""
@@ -450,6 +496,7 @@ class ConfigManager:
450
496
  "customer_service": CustomerServiceConfig,
451
497
  "advanced_customer_service": CustomerServiceConfig,
452
498
  "intrusion_detection": IntrusionConfig,
499
+ "proximity_detection": ProximityConfig,
453
500
  "basic_counting_tracking": None, # Will be set later to avoid circular import
454
501
  "license_plate_detection": None, # Will be set later to avoid circular import
455
502
  "ppe_compliance_detection": None,
@@ -1032,6 +1079,24 @@ class ConfigManager:
1032
1079
  alert_config=alert_config,
1033
1080
  **kwargs
1034
1081
  )
1082
+
1083
+ elif usecase == "proximity_detection":
1084
+ # Handle nested configurations
1085
+ zone_config = kwargs.pop("zone_config", None)
1086
+ if zone_config and isinstance(zone_config, dict):
1087
+ zone_config = ZoneConfig(**zone_config)
1088
+
1089
+ alert_config = kwargs.pop("alert_config", None)
1090
+ if alert_config and isinstance(alert_config, dict):
1091
+ alert_config = AlertConfig(**alert_config)
1092
+
1093
+ config = ProximityConfig(
1094
+ category=category or "security",
1095
+ usecase=usecase,
1096
+ zone_config=zone_config,
1097
+ alert_config=alert_config,
1098
+ **kwargs
1099
+ )
1035
1100
 
1036
1101
  elif usecase in ["customer_service", "advanced_customer_service"]:
1037
1102
  # Handle nested configurations
@@ -13,6 +13,7 @@ from .config import (
13
13
  PeopleCountingConfig,
14
14
  CustomerServiceConfig,
15
15
  IntrusionConfig,
16
+ ProximityConfig,
16
17
  ZoneConfig,
17
18
  TrackingConfig,
18
19
  AlertConfig,
@@ -132,13 +133,73 @@ def create_intrusion_detection_config(
132
133
  usecase="intrusion_detection",
133
134
  confidence_threshold=confidence_threshold,
134
135
  zone_config=zone_config,
135
- person_categories=person_categories or ["person", "people", "human"],
136
+ person_categories=person_categories or ["person"],
136
137
  enable_tracking=enable_tracking,
137
138
  time_window_minutes=time_window_minutes,
138
139
  alert_config=alert_config,
139
140
  **kwargs
140
141
  )
141
142
 
143
+
144
+ def create_proximity_detection_config(
145
+ confidence_threshold: float = 0.5,
146
+ zones: Optional[Dict[str, List[List[float]]]] = None,
147
+ person_categories: Optional[List[str]] = None,
148
+ enable_tracking: bool = False,
149
+ time_window_minutes: int = 60,
150
+ alert_thresholds: Optional[Dict[str, int]] = None,
151
+ category: str = "general",
152
+ **kwargs
153
+ ) -> ProximityConfig:
154
+ """
155
+ Create a proximity detection configuration with sensible defaults.
156
+
157
+ Args:
158
+ confidence_threshold: Minimum confidence for detections (0.0-1.0)
159
+ zones: Dictionary of zone_name -> polygon points [[x1,y1], [x2,y2], ...]
160
+ person_categories: List of category names that represent people
161
+ enable_tracking: Whether to enable object tracking
162
+ time_window_minutes: Time window for counting statistics
163
+ alert_thresholds: Dictionary of zone_name -> max_count for alerts
164
+ category: Use case category
165
+ **kwargs: Additional configuration parameters
166
+
167
+ Returns:
168
+ ProximityConfig: Configured proximity detection configuration
169
+
170
+ Example:
171
+ config = create_proximity_detection_config(
172
+ confidence_threshold=0.6,
173
+ zones={
174
+ "entrance": [[0, 0], [100, 0], [100, 100], [0, 100]],
175
+ "exit": [[200, 0], [300, 0], [300, 100], [200, 100]]
176
+ },
177
+ alert_thresholds={"entrance": 10, "exit": 5}
178
+ )
179
+ """
180
+ # Create zone configuration if zones provided
181
+ zone_config = None
182
+ if zones:
183
+ zone_config = ZoneConfig(zones=zones)
184
+
185
+ # Create alert configuration if thresholds provided
186
+ alert_config = None
187
+ if alert_thresholds:
188
+ alert_config = AlertConfig(count_thresholds=alert_thresholds)
189
+
190
+ return ProximityConfig(
191
+ category=category,
192
+ usecase="proximity_detection",
193
+ confidence_threshold=confidence_threshold,
194
+ zone_config=zone_config,
195
+ person_categories=person_categories or ["person"],
196
+ enable_tracking=enable_tracking,
197
+ time_window_minutes=time_window_minutes,
198
+ alert_config=alert_config,
199
+ **kwargs
200
+ )
201
+
202
+
142
203
  def create_customer_service_config(
143
204
  confidence_threshold: float = 0.5,
144
205
  customer_areas: Optional[Dict[str, List[List[float]]]] = None,
@@ -513,6 +574,8 @@ def create_config_from_template(
513
574
  return create_people_counting_config(**overrides)
514
575
  elif usecase == "intrusion_detection":
515
576
  return create_intrusion_detection_config(**overrides)
577
+ elif usecase == "proximity_detection":
578
+ return create_proximity_detection_config(**overrides)
516
579
  elif usecase == "customer_service":
517
580
  return create_customer_service_config(**overrides)
518
581
  elif usecase == "advanced_customer_service":
@@ -566,17 +629,33 @@ def get_use_case_examples() -> Dict[str, Dict[str, Any]]:
566
629
  "confidence_threshold": 0.6,
567
630
  "enable_tracking": True,
568
631
  "time_window_minutes": 60,
569
- "person_categories": ["person", "people", "human"],
632
+ "person_categories": ["person"],
570
633
  "zone_config": {
571
634
  "zones": {
572
- "High": [[535, 558], [745, 453], [846, 861], [665, 996]],
573
- "Mid": [[663, 995], [925, 817], [1266, 885], [1012, 1116]]
635
+ "Boarding Gate": [[314, 652], [1034, 317], [1854, 845], [987, 1491]]
574
636
  }
575
637
  },
576
638
  "alert_config": {
577
639
  "count_thresholds": {
578
- "High": 0,
579
- "Mid": 0,
640
+ "Boarding Gate": 0
641
+ },
642
+ "alert_cooldown": 10.0
643
+ }
644
+ },
645
+
646
+ "proximity_detection": {
647
+ "usecase": "proximity_detection",
648
+ "category": "security",
649
+ "confidence_threshold": 0.6,
650
+ "enable_tracking": True,
651
+ "time_window_minutes": 60,
652
+ "person_categories": ["person"],
653
+ "zone_config": {
654
+ "zones": {}
655
+ },
656
+ "alert_config": {
657
+ "count_thresholds": {
658
+ "Boarding Gate": 0
580
659
  },
581
660
  "alert_cooldown": 10.0
582
661
  }
@@ -25,12 +25,14 @@ from .core.config import (
25
25
  PeopleCountingConfig,
26
26
  CustomerServiceConfig,
27
27
  IntrusionConfig,
28
+ ProximityConfig,
28
29
  config_manager,
29
30
  ConfigValidationError
30
31
  )
31
32
  from .usecases import (
32
33
  PeopleCountingUseCase,
33
34
  IntrusionUseCase,
35
+ ProximityUseCase,
34
36
  CustomerServiceUseCase,
35
37
  AdvancedCustomerServiceUseCase,
36
38
  LicensePlateUseCase,
@@ -73,7 +75,6 @@ from .usecases import (
73
75
  WeldDefectUseCase,
74
76
  WeaponDetectionUseCase,
75
77
 
76
- AgeDetectionUseCase,
77
78
  PriceTagUseCase,
78
79
  DistractedDriverUseCase,
79
80
  EmergencyVehicleUseCase,
@@ -157,6 +158,9 @@ class PostProcessor:
157
158
  # Register intrusion detection use case
158
159
  registry.register_use_case("security", "intrusion_detection", IntrusionUseCase)
159
160
 
161
+ # Register proximity detection use case
162
+ registry.register_use_case("security", "proximity_detection", ProximityUseCase)
163
+
160
164
  # Register customer service use case
161
165
  registry.register_use_case("sales", "customer_service", CustomerServiceUseCase)
162
166
 
@@ -340,8 +344,8 @@ class PostProcessor:
340
344
  elif isinstance(use_case, ChickenPoseDetectionUseCase):
341
345
  result = use_case.process(data, parsed_config, context, stream_info)
342
346
  elif isinstance(use_case, FlareAnalysisUseCase):
343
- result = use_case.process(data, parsed_config,input_bytes, context, stream_info)
344
- elif isinstance(use_case,LicensePlateUseCase):
347
+ result = use_case.process(data, parsed_config, input_bytes, context, stream_info)
348
+ elif isinstance(use_case, LicensePlateUseCase):
345
349
  result = use_case.process(data, parsed_config, context, stream_info)
346
350
  elif isinstance(use_case, CropWeedDetectionUseCase):
347
351
  result = use_case.process(data, parsed_config, context, stream_info)
@@ -7,6 +7,7 @@ post-processing scenarios.
7
7
 
8
8
  from .people_counting import PeopleCountingUseCase, PeopleCountingConfig
9
9
  from .intrusion_detection import IntrusionUseCase, IntrusionConfig
10
+ from .proximity_detection import ProximityUseCase, ProximityConfig
10
11
  from .customer_service import CustomerServiceUseCase, CustomerServiceConfig
11
12
  from .advanced_customer_service import AdvancedCustomerServiceUseCase
12
13
  from .basic_counting_tracking import BasicCountingTrackingUseCase
@@ -86,6 +87,7 @@ from .Histopathological_Cancer_Detection_img import HistopathologicalCancerDetec
86
87
  __all__ = [
87
88
  'PeopleCountingUseCase',
88
89
  'IntrusionUseCase',
90
+ 'ProximityUseCase',
89
91
  'CustomerServiceUseCase',
90
92
  'AdvancedCustomerServiceUseCase',
91
93
  'BasicCountingTrackingUseCase',
@@ -157,6 +159,7 @@ __all__ = [
157
159
 
158
160
  'PeopleCountingConfig',
159
161
  'IntrusionConfig',
162
+ 'ProximityConfig',
160
163
  'ParkingSpaceConfig',
161
164
  'CustomerServiceConfig',
162
165
  'AdvancedCustomerServiceConfig',
@@ -554,14 +554,14 @@ class IntrusionUseCase(BaseProcessor):
554
554
  return zone_count
555
555
  else:
556
556
  return 0
557
- human_text_lines.append(f"\t- Total count in Prohibited Boarding Gate: {total_people}")
557
+ human_text_lines.append(f"\t- Person detected in Prohibited Boarding Gate: {total_people}")
558
558
  human_text_lines.append("")
559
559
  human_text_lines.append(f"TOTAL SINCE @ {start_timestamp}:")
560
560
 
561
561
  for zone_name, zone_count in zone_analysis.items():
562
562
  zone_total = robust_zone_total(zone_count)
563
563
  human_text_lines.append(f"\t- Zone name: {zone_name}")
564
- human_text_lines.append(f"\t\t\t- Total count in Prohibited Boarding Gate: {zone_total}")
564
+ human_text_lines.append(f"\t\t\t- Total person detected in Prohibited Boarding Gate: {zone_total-1}")
565
565
  # human_text_lines.append(f"\t\t- Total count in Prohibited Boarding Gate: {zone_total-1}")
566
566
 
567
567
 
@@ -1485,7 +1485,7 @@ class IntrusionUseCase(BaseProcessor):
1485
1485
  "person_categories": {
1486
1486
  "type": "array",
1487
1487
  "items": {"type": "string"},
1488
- "default": ["person", "people", "human"],
1488
+ "default": ["person"],
1489
1489
  "description": "Category names that represent people"
1490
1490
  },
1491
1491
  "enable_unique_counting": {
@@ -1547,7 +1547,7 @@ class IntrusionUseCase(BaseProcessor):
1547
1547
  "enable_analytics": True,
1548
1548
  "enable_unique_counting": True,
1549
1549
  "time_window_minutes": 60,
1550
- "person_categories": ["person", "people", "human"],
1550
+ "person_categories": ["person"],
1551
1551
  }
1552
1552
  defaults.update(overrides)
1553
1553
  return IntrusionConfig(**defaults)