matrice-analytics 0.1.54__tar.gz → 0.1.56__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 (201) hide show
  1. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/PKG-INFO +1 -1
  2. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/matrice_analytics.egg-info/PKG-INFO +1 -1
  3. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/face_reg/embedding_manager.py +84 -18
  4. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/face_reg/face_recognition.py +5 -5
  5. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/LICENSE.txt +0 -0
  6. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/README.md +0 -0
  7. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/matrice_analytics.egg-info/SOURCES.txt +0 -0
  8. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/matrice_analytics.egg-info/dependency_links.txt +0 -0
  9. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/matrice_analytics.egg-info/not-zip-safe +0 -0
  10. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/matrice_analytics.egg-info/top_level.txt +0 -0
  11. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/pyproject.toml +0 -0
  12. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/setup.cfg +0 -0
  13. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/setup.py +0 -0
  14. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/__init__.py +0 -0
  15. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/README.md +0 -0
  16. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/__init__.py +0 -0
  17. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/boundary_drawing_internal.py +0 -0
  18. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/boundary_drawing_tool.py +0 -0
  19. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/boundary_tool_template.html +0 -0
  20. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/example_usage.py +0 -0
  21. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/usage/README.md +0 -0
  22. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/usage/boundary_drawer_launcher.py +0 -0
  23. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/boundary_drawing_internal/usage/simple_boundary_launcher.py +0 -0
  24. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/README.md +0 -0
  25. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/__init__.py +0 -0
  26. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/advanced_tracker/README.md +0 -0
  27. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/advanced_tracker/__init__.py +0 -0
  28. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/advanced_tracker/base.py +0 -0
  29. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/advanced_tracker/config.py +0 -0
  30. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/advanced_tracker/kalman_filter.py +0 -0
  31. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/advanced_tracker/matching.py +0 -0
  32. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/advanced_tracker/strack.py +0 -0
  33. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/advanced_tracker/tracker.py +0 -0
  34. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/config.py +0 -0
  35. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/core/__init__.py +0 -0
  36. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/core/base.py +0 -0
  37. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/core/config.py +0 -0
  38. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/core/config_utils.py +0 -0
  39. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/face_reg/__init__.py +0 -0
  40. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/face_reg/compare_similarity.py +0 -0
  41. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/face_reg/face_recognition_client.py +0 -0
  42. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/face_reg/people_activity_logging.py +0 -0
  43. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/__init__.py +0 -0
  44. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/easyocr_extractor.py +0 -0
  45. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/__init__.py +0 -0
  46. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/__init__.py +0 -0
  47. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/cli.py +0 -0
  48. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/dataset_stats.py +0 -0
  49. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/export.py +0 -0
  50. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/train.py +0 -0
  51. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/utils.py +0 -0
  52. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/valid.py +0 -0
  53. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/validate_dataset.py +0 -0
  54. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/visualize_augmentation.py +0 -0
  55. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/visualize_predictions.py +0 -0
  56. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/__init__.py +0 -0
  57. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/process.py +0 -0
  58. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/types.py +0 -0
  59. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/utils.py +0 -0
  60. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/__init__.py +0 -0
  61. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/config.py +0 -0
  62. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/hub.py +0 -0
  63. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/plate_recognizer.py +0 -0
  64. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/py.typed +0 -0
  65. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/__init__.py +0 -0
  66. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/__init__.py +0 -0
  67. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/augmentation.py +0 -0
  68. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/dataset.py +0 -0
  69. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/__init__.py +0 -0
  70. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/config.py +0 -0
  71. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/layers.py +0 -0
  72. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/loss.py +0 -0
  73. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/metric.py +0 -0
  74. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/model_builders.py +0 -0
  75. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/model_schema.py +0 -0
  76. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/__init__.py +0 -0
  77. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/backend_utils.py +0 -0
  78. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/utils.py +0 -0
  79. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/postprocessing.py +0 -0
  80. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/ocr/preprocessing.py +0 -0
  81. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/post_processor.py +0 -0
  82. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/__init__.py +0 -0
  83. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/run_tests.py +0 -0
  84. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_advanced_customer_service.py +0 -0
  85. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_basic_counting_tracking.py +0 -0
  86. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_comprehensive.py +0 -0
  87. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_config.py +0 -0
  88. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_customer_service.py +0 -0
  89. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_data_generators.py +0 -0
  90. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_people_counting.py +0 -0
  91. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_processor.py +0 -0
  92. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_usecases.py +0 -0
  93. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_utilities.py +0 -0
  94. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/test_cases/test_utils.py +0 -0
  95. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/Histopathological_Cancer_Detection_img.py +0 -0
  96. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/__init__.py +0 -0
  97. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/abandoned_object_detection.py +0 -0
  98. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/advanced_customer_service.py +0 -0
  99. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/age_detection.py +0 -0
  100. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/age_gender_detection.py +0 -0
  101. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/anti_spoofing_detection.py +0 -0
  102. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/assembly_line_detection.py +0 -0
  103. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/banana_defect_detection.py +0 -0
  104. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/basic_counting_tracking.py +0 -0
  105. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/blood_cancer_detection_img.py +0 -0
  106. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/car_damage_detection.py +0 -0
  107. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/car_part_segmentation.py +0 -0
  108. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/car_service.py +0 -0
  109. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/cardiomegaly_classification.py +0 -0
  110. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/cell_microscopy_segmentation.py +0 -0
  111. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/chicken_pose_detection.py +0 -0
  112. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/child_monitoring.py +0 -0
  113. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/clip.py +0 -0
  114. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/clip_processor/merges.txt +0 -0
  115. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/clip_processor/preprocessor_config.json +0 -0
  116. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/clip_processor/special_tokens_map.json +0 -0
  117. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/clip_processor/tokenizer.json +0 -0
  118. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/clip_processor/tokenizer_config.json +0 -0
  119. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/clip_processor/vocab.json +0 -0
  120. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/color_map_utils.py +0 -0
  121. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color/color_mapper.py +0 -0
  122. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color_detection.py +0 -0
  123. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/color_map_utils.py +0 -0
  124. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/concrete_crack_detection.py +0 -0
  125. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/crop_weed_detection.py +0 -0
  126. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/customer_service.py +0 -0
  127. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/defect_detection_products.py +0 -0
  128. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/distracted_driver_detection.py +0 -0
  129. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/drone_traffic_monitoring.py +0 -0
  130. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/drowsy_driver_detection.py +0 -0
  131. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/dwell_detection.py +0 -0
  132. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/emergency_vehicle_detection.py +0 -0
  133. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/face_emotion.py +0 -0
  134. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/face_recognition.py +0 -0
  135. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/fashion_detection.py +0 -0
  136. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/field_mapping.py +0 -0
  137. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/fire_detection.py +0 -0
  138. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/flare_analysis.py +0 -0
  139. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/flower_segmentation.py +0 -0
  140. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/gas_leak_detection.py +0 -0
  141. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/gender_detection.py +0 -0
  142. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/human_activity_recognition.py +0 -0
  143. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/intrusion_detection.py +0 -0
  144. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/leaf.py +0 -0
  145. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/leaf_disease.py +0 -0
  146. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/leak_detection.py +0 -0
  147. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/license_plate_detection.py +0 -0
  148. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/license_plate_monitoring.py +0 -0
  149. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/litter_monitoring.py +0 -0
  150. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/mask_detection.py +0 -0
  151. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/natural_disaster.py +0 -0
  152. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/parking.py +0 -0
  153. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/parking_space_detection.py +0 -0
  154. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/pcb_defect_detection.py +0 -0
  155. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/pedestrian_detection.py +0 -0
  156. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/people_counting.py +0 -0
  157. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/people_counting_bckp.py +0 -0
  158. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/people_tracking.py +0 -0
  159. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/pipeline_detection.py +0 -0
  160. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/plaque_segmentation_img.py +0 -0
  161. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/pothole_segmentation.py +0 -0
  162. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/ppe_compliance.py +0 -0
  163. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/price_tag_detection.py +0 -0
  164. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/proximity_detection.py +0 -0
  165. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/road_lane_detection.py +0 -0
  166. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/road_traffic_density.py +0 -0
  167. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/road_view_segmentation.py +0 -0
  168. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/shelf_inventory_detection.py +0 -0
  169. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/shoplifting_detection.py +0 -0
  170. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/shopping_cart_analysis.py +0 -0
  171. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/skin_cancer_classification_img.py +0 -0
  172. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/smoker_detection.py +0 -0
  173. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/solar_panel.py +0 -0
  174. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/suspicious_activity_detection.py +0 -0
  175. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/template_usecase.py +0 -0
  176. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/theft_detection.py +0 -0
  177. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/traffic_sign_monitoring.py +0 -0
  178. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/underground_pipeline_defect_detection.py +0 -0
  179. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/underwater_pollution_detection.py +0 -0
  180. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/vehicle_monitoring.py +0 -0
  181. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/warehouse_object_segmentation.py +0 -0
  182. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/waterbody_segmentation.py +0 -0
  183. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/weapon_detection.py +0 -0
  184. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/weld_defect_detection.py +0 -0
  185. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/wildlife_monitoring.py +0 -0
  186. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/windmill_maintenance.py +0 -0
  187. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/usecases/wound_segmentation.py +0 -0
  188. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/__init__.py +0 -0
  189. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/advanced_counting_utils.py +0 -0
  190. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/advanced_helper_utils.py +0 -0
  191. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/advanced_tracking_utils.py +0 -0
  192. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/alerting_utils.py +0 -0
  193. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/category_mapping_utils.py +0 -0
  194. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/color_utils.py +0 -0
  195. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/counting_utils.py +0 -0
  196. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/filter_utils.py +0 -0
  197. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/format_utils.py +0 -0
  198. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/geometry_utils.py +0 -0
  199. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/smoothing_utils.py +0 -0
  200. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/post_processing/utils/tracking_utils.py +0 -0
  201. {matrice_analytics-0.1.54 → matrice_analytics-0.1.56}/src/matrice_analytics/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrice_analytics
3
- Version: 0.1.54
3
+ Version: 0.1.56
4
4
  Summary: Common server utilities for Matrice.ai services
5
5
  Author-email: "Matrice.ai" <dipendra@matrice.ai>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrice_analytics
3
- Version: 0.1.54
3
+ Version: 0.1.56
4
4
  Summary: Common server utilities for Matrice.ai services
5
5
  Author-email: "Matrice.ai" <dipendra@matrice.ai>
6
6
  License-Expression: MIT
@@ -175,11 +175,14 @@ class EmbeddingManager:
175
175
  """Load all staff embeddings from API and cache them."""
176
176
  if not self.face_client:
177
177
  self.logger.error("Face client not available for loading staff embeddings")
178
+ print("ERROR: Face client not available for loading staff embeddings")
178
179
  return False
179
180
 
180
181
  try:
181
182
  self.logger.info("Loading staff embeddings from API...")
183
+ print("=============== LOADING STAFF EMBEDDINGS FROM API ===============")
182
184
  response = await self.face_client.get_all_staff_embeddings()
185
+ print(f"API RESPONSE TYPE: {type(response)}, IS_LIST: {isinstance(response, list)}, LEN: {len(response) if isinstance(response, list) else 'N/A'}")
183
186
 
184
187
  # Robust response handling: accept dict with data or raw list
185
188
  embeddings_data: List[Dict[str, Any]] = []
@@ -205,23 +208,58 @@ class EmbeddingManager:
205
208
 
206
209
  self.staff_embeddings = []
207
210
  embeddings_list = []
208
-
211
+ expected_dim: Optional[int] = None
212
+ dims_observed: List[int] = []
213
+ mismatch_examples: List[Tuple[str, int]] = [] # (staffId, dim)
214
+
209
215
  for item in embeddings_data:
210
- # if not item.get("isActive", True): # TODO: Check what is isActive
211
- # continue
212
-
216
+ # Skip inactive if provided
217
+ if isinstance(item, dict) and item.get("isActive") is False:
218
+ continue
219
+
220
+ raw_emb = []
221
+ try:
222
+ raw_emb = item.get("embedding", []) if isinstance(item, dict) else []
223
+ except Exception:
224
+ raw_emb = []
225
+ # Record observed dimension for debugging
226
+ try:
227
+ dims_observed.append(len(raw_emb) if isinstance(raw_emb, list) else 0)
228
+ except Exception:
229
+ dims_observed.append(0)
230
+
231
+ # Validate and coerce embedding list
232
+ if not isinstance(raw_emb, list) or len(raw_emb) == 0:
233
+ continue
234
+ try:
235
+ # Ensure numeric float32 list
236
+ clean_emb = [float(v) for v in raw_emb]
237
+ except Exception:
238
+ continue
239
+
240
+ # Dimension consistency
241
+ if expected_dim is None:
242
+ expected_dim = len(clean_emb)
243
+ if len(clean_emb) != expected_dim:
244
+ # Collect a few examples to aid debugging
245
+ try:
246
+ mismatch_examples.append((str(item.get("staffId", "")), len(clean_emb)))
247
+ except Exception:
248
+ mismatch_examples.append(("", len(clean_emb)))
249
+ self.logger.warning(f"Skipping embedding with mismatched dimension: got {len(clean_emb)} expected {expected_dim}")
250
+ continue
251
+
213
252
  staff_embedding = StaffEmbedding(
214
- embedding_id=item.get("embeddingId", ""),
215
- staff_id=item.get("staffId", ""),
216
- embedding=item.get("embedding", []),
217
- employee_id=str(item.get("employeeId", "")),
218
- staff_details=item.get("staffDetails", {}),
219
- is_active=item.get("isActive", True)
253
+ embedding_id=(item.get("embeddingId", "") if isinstance(item, dict) else ""),
254
+ staff_id=(item.get("staffId", "") if isinstance(item, dict) else ""),
255
+ embedding=clean_emb,
256
+ employee_id=str(item.get("employeeId", "")) if isinstance(item, dict) else "",
257
+ staff_details=(item.get("staffDetails", {}) if isinstance(item, dict) else {}),
258
+ is_active=(item.get("isActive", True) if isinstance(item, dict) else True)
220
259
  )
221
-
222
- if staff_embedding.embedding: # Only add if embedding exists
223
- self.staff_embeddings.append(staff_embedding)
224
- embeddings_list.append(staff_embedding.embedding)
260
+
261
+ self.staff_embeddings.append(staff_embedding)
262
+ embeddings_list.append(clean_emb)
225
263
 
226
264
  # Create numpy matrix for fast similarity computation (thread-safe)
227
265
  with self._embeddings_lock:
@@ -234,12 +272,31 @@ class EmbeddingManager:
234
272
 
235
273
  self.embedding_metadata = self.staff_embeddings.copy()
236
274
  self.staff_embeddings_last_update = time.time()
237
- self.logger.info(f"Successfully loaded and cached {len(self.staff_embeddings)} staff embeddings")
238
- self.logger.debug(f"Embeddings matrix shape: {self.embeddings_matrix.shape}")
275
+ self.logger.info(f"Successfully loaded and cached {len(self.staff_embeddings)} staff embeddings (dim={self.embeddings_matrix.shape[1]})")
276
+ print(f"=============== SUCCESS: LOADED {len(self.staff_embeddings)} EMBEDDINGS, MATRIX SHAPE: {self.embeddings_matrix.shape} ===============")
277
+ try:
278
+ # Quick sanity metrics
279
+ row0_sum = float(np.sum(self.embeddings_matrix[0])) if self.embeddings_matrix.shape[0] > 0 else 0.0
280
+ row0_norm = float(np.linalg.norm(self.embeddings_matrix[0])) if self.embeddings_matrix.shape[0] > 0 else 0.0
281
+ print(f"SANITY CHECK: row0_sum={row0_sum:.4f}, row0_norm={row0_norm:.4f} (should be ~1.0 after normalization)")
282
+ self.logger.debug(f"Embeddings matrix shape: {self.embeddings_matrix.shape}, dtype={self.embeddings_matrix.dtype}, row0_sum={row0_sum:.4f}")
283
+ except Exception as e:
284
+ print(f"ERROR in sanity check: {e}")
239
285
  return True
240
286
  else:
241
- self.logger.warning("No active staff embeddings found in API response")
242
- return False
287
+ # Build diagnostics and raise to stop pipeline early with actionable info
288
+ dims_summary: Dict[int, int] = {}
289
+ for d in dims_observed:
290
+ dims_summary[d] = dims_summary.get(d, 0) + 1
291
+ error_msg = (
292
+ f"No valid staff embeddings loaded. Observed dimension distribution: {dims_summary}. "
293
+ f"Expected_dim={expected_dim}. Mismatch examples (staffId, dim): {mismatch_examples[:5]}"
294
+ )
295
+ self.logger.error(error_msg)
296
+ print(f"=============== ERROR: NO VALID EMBEDDINGS ===============")
297
+ print(f"ERROR: {error_msg}")
298
+ print(f"=============== STOPPING PIPELINE ===============")
299
+ raise RuntimeError(f"Failed to load staff embeddings due to dimension mismatch. Observed dims: {dims_summary}")
243
300
 
244
301
  except Exception as e:
245
302
  self.logger.error(f"Error loading staff embeddings: {e}", exc_info=True)
@@ -281,6 +338,7 @@ class EmbeddingManager:
281
338
  """Find best matching staff member using optimized matrix operations (thread-safe)."""
282
339
  with self._embeddings_lock:
283
340
  if self.embeddings_matrix is None or len(self.embedding_metadata) == 0:
341
+ print(f"ERROR: _find_best_local_match - embeddings_matrix is None={self.embeddings_matrix is None}, metadata_len={len(self.embedding_metadata)}")
284
342
  return None
285
343
 
286
344
  # Create local copies to avoid issues with concurrent modifications
@@ -292,6 +350,11 @@ class EmbeddingManager:
292
350
 
293
351
  try:
294
352
  query_array = np.array(query_embedding, dtype=np.float32).reshape(1, -1)
353
+ # Dimension check
354
+ if embeddings_matrix.shape[1] != query_array.shape[1]:
355
+ self.logger.warning(f"Query embedding dim mismatch: query={query_array.shape[1]} staff={embeddings_matrix.shape[1]}")
356
+ print(f"ERROR: DIMENSION MISMATCH - query={query_array.shape[1]} staff={embeddings_matrix.shape[1]}")
357
+ return None
295
358
 
296
359
  # Normalize query embedding
297
360
  query_norm = np.linalg.norm(query_array)
@@ -327,6 +390,9 @@ class EmbeddingManager:
327
390
  return 0.0
328
391
  try:
329
392
  query_array = np.array(query_embedding, dtype=np.float32).reshape(1, -1)
393
+ if embeddings_matrix.shape[1] != query_array.shape[1]:
394
+ print(f"ERROR: get_best_similarity DIMENSION MISMATCH - query={query_array.shape[1]} staff={embeddings_matrix.shape[1]}")
395
+ return 0.0
330
396
  qn = np.linalg.norm(query_array)
331
397
  if qn == 0:
332
398
  return 0.0
@@ -1603,11 +1603,11 @@ class FaceRecognitionEmbeddingUseCase(BaseProcessor):
1603
1603
  human_text_lines.append(f"\tRecognized: {face_summary.get('session_totals',{}).get('total_recognized', 0)}")
1604
1604
  human_text_lines.append(f"\tUnknown: {face_summary.get('session_totals',{}).get('total_unknown', 0)}")
1605
1605
  # Additional counts similar to compare_similarity HUD
1606
- try:
1607
- human_text_lines.append(f"\tCurrent Faces (detections): {total_detections}")
1608
- human_text_lines.append(f"\tTotal Unique Tracks: {cumulative_total}")
1609
- except Exception:
1610
- pass
1606
+ # try:
1607
+ # human_text_lines.append(f"\tCurrent Faces (detections): {total_detections}")
1608
+ # human_text_lines.append(f"\tTotal Unique Tracks: {cumulative_total}")
1609
+ # except Exception:
1610
+ # pass
1611
1611
 
1612
1612
  human_text = "\n".join(human_text_lines)
1613
1613