megadetector 5.0.10__tar.gz → 5.0.12__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.

Potentially problematic release.


This version of megadetector might be problematic. Click here for more details.

Files changed (232) hide show
  1. {megadetector-5.0.10 → megadetector-5.0.12}/LICENSE +0 -0
  2. {megadetector-5.0.10/megadetector.egg-info → megadetector-5.0.12}/PKG-INFO +12 -11
  3. {megadetector-5.0.10 → megadetector-5.0.12}/README-package.md +10 -9
  4. {megadetector-5.0.10 → megadetector-5.0.12}/README.md +31 -26
  5. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/__init__.py +0 -0
  6. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/__init__.py +0 -0
  7. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/__init__.py +0 -0
  8. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/batch_service/__init__.py +0 -0
  9. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/batch_service/score.py +2 -2
  10. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/server.py +0 -0
  11. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/server_api_config.py +0 -0
  12. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/server_app_config.py +0 -0
  13. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/server_batch_job_manager.py +0 -0
  14. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/server_job_status_table.py +0 -0
  15. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/server_orchestration.py +0 -0
  16. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core/server_utils.py +0 -0
  17. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core_support/__init__.py +0 -0
  18. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_core_support/aggregate_results_manually.py +0 -0
  19. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_support/__init__.py +0 -0
  20. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/api_support/summarize_daily_activity.py +0 -0
  21. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/data_preparation/__init__.py +0 -0
  22. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/integration/digiKam/setup.py +0 -0
  23. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/integration/digiKam/xmp_integration.py +0 -0
  24. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/integration/eMammal/test_scripts/config_template.py +0 -0
  25. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/integration/eMammal/test_scripts/push_annotations_to_emammal.py +0 -0
  26. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/batch_processing/integration/eMammal/test_scripts/select_images_for_testing.py +0 -0
  27. {megadetector-5.0.10/api/batch_processing/postprocessing → megadetector-5.0.12/megadetector/api/synchronous}/__init__.py +0 -0
  28. {megadetector-5.0.10/api/synchronous → megadetector-5.0.12/megadetector/api/synchronous/api_core/animal_detection_api}/__init__.py +0 -0
  29. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/synchronous/api_core/animal_detection_api/api_backend.py +1 -1
  30. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/synchronous/api_core/animal_detection_api/api_frontend.py +1 -1
  31. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/synchronous/api_core/animal_detection_api/config.py +0 -0
  32. {megadetector-5.0.10/api/synchronous/api_core/animal_detection_api → megadetector-5.0.12/megadetector/api/synchronous/api_core/tests}/__init__.py +0 -0
  33. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/api/synchronous/api_core/tests/load_test.py +0 -0
  34. {megadetector-5.0.10/api/synchronous/api_core/tests → megadetector-5.0.12/megadetector/classification}/__init__.py +0 -0
  35. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/aggregate_classifier_probs.py +0 -0
  36. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/analyze_failed_images.py +3 -3
  37. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/cache_batchapi_outputs.py +1 -1
  38. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/create_classification_dataset.py +1 -1
  39. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/crop_detections.py +1 -1
  40. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/csv_to_json.py +0 -0
  41. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/detect_and_crop.py +5 -5
  42. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/efficientnet/__init__.py +0 -0
  43. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/evaluate_model.py +1 -1
  44. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/identify_mislabeled_candidates.py +0 -0
  45. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/json_to_azcopy_list.py +2 -2
  46. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/json_validator.py +13 -9
  47. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/map_classification_categories.py +1 -1
  48. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/merge_classification_detection_output.py +1 -1
  49. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/prepare_classification_script.py +0 -0
  50. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/prepare_classification_script_mc.py +0 -0
  51. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/run_classifier.py +2 -1
  52. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/save_mislabeled.py +0 -0
  53. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/train_classifier.py +8 -6
  54. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/train_classifier_tf.py +10 -9
  55. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/train_utils.py +3 -2
  56. {megadetector-5.0.10/classification → megadetector-5.0.12/megadetector/data_management}/__init__.py +0 -0
  57. {megadetector-5.0.10/data_management → megadetector-5.0.12/megadetector/data_management/annotations}/__init__.py +0 -0
  58. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/annotations/annotation_constants.py +0 -0
  59. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/camtrap_dp_to_coco.py +4 -3
  60. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/cct_json_utils.py +2 -2
  61. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/cct_to_md.py +1 -1
  62. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/cct_to_wi.py +0 -0
  63. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/coco_to_labelme.py +1 -1
  64. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/coco_to_yolo.py +1 -1
  65. {megadetector-5.0.10/data_management/annotations → megadetector-5.0.12/megadetector/data_management/databases}/__init__.py +0 -0
  66. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/databases/add_width_and_height_to_db.py +0 -0
  67. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/databases/combine_coco_camera_traps_files.py +0 -0
  68. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/databases/integrity_check_json_db.py +2 -2
  69. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/databases/subset_json_db.py +0 -0
  70. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/generate_crops_from_cct.py +0 -0
  71. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/get_image_sizes.py +4 -3
  72. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/add_nacti_sizes.py +0 -0
  73. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/add_timestamps_to_icct.py +0 -0
  74. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/animl_results_to_md_results.py +0 -0
  75. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/auckland_doc_test_to_json.py +6 -5
  76. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/auckland_doc_to_json.py +4 -3
  77. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/awc_to_json.py +6 -4
  78. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/bellevue_to_json.py +3 -3
  79. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/cacophony-thermal-importer.py +4 -4
  80. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/carrizo_shrubfree_2018.py +5 -4
  81. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/carrizo_trail_cam_2017.py +8 -6
  82. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/cct_field_adjustments.py +2 -1
  83. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/channel_islands_to_cct.py +2 -2
  84. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/eMammal/copy_and_unzip_emammal.py +0 -0
  85. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/eMammal/eMammal_helpers.py +0 -0
  86. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/eMammal/make_eMammal_json.py +0 -0
  87. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/ena24_to_json.py +6 -5
  88. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/filenames_to_json.py +2 -1
  89. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/helena_to_cct.py +7 -6
  90. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/idaho-camera-traps.py +6 -6
  91. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/idfg_iwildcam_lila_prep.py +4 -4
  92. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/jb_csv_to_json.py +1 -1
  93. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/mcgill_to_json.py +0 -0
  94. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/missouri_to_json.py +4 -3
  95. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/nacti_fieldname_adjustments.py +0 -0
  96. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/noaa_seals_2019.py +2 -2
  97. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/pc_to_json.py +5 -5
  98. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/plot_wni_giraffes.py +0 -0
  99. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/prepare-noaa-fish-data-for-lila.py +3 -3
  100. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/prepare_zsl_imerit.py +3 -3
  101. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/rspb_to_json.py +2 -2
  102. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/save_the_elephants_survey_A.py +4 -4
  103. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/save_the_elephants_survey_B.py +6 -9
  104. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/snapshot_safari_importer.py +4 -4
  105. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/snapshot_safari_importer_reprise.py +2 -2
  106. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/snapshot_serengeti_lila.py +4 -4
  107. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/snapshotserengeti/make_full_SS_json.py +0 -0
  108. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/snapshotserengeti/make_per_season_SS_json.py +0 -0
  109. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/sulross_get_exif.py +0 -0
  110. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/timelapse_csv_set_to_json.py +3 -3
  111. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/ubc_to_json.py +3 -3
  112. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/umn_to_json.py +2 -2
  113. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/wellington_to_json.py +3 -3
  114. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/wi_to_json.py +3 -2
  115. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/importers/zamba_results_to_md_results.py +0 -0
  116. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/labelme_to_coco.py +6 -7
  117. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/labelme_to_yolo.py +2 -2
  118. {megadetector-5.0.10/data_management/databases → megadetector-5.0.12/megadetector/data_management/lila}/__init__.py +0 -0
  119. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/add_locations_to_island_camera_traps.py +4 -4
  120. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/add_locations_to_nacti.py +0 -0
  121. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/create_lila_blank_set.py +10 -9
  122. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/create_lila_test_set.py +3 -2
  123. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/create_links_to_md_results_files.py +1 -1
  124. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/download_lila_subset.py +5 -4
  125. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/generate_lila_per_image_labels.py +6 -5
  126. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/get_lila_annotation_counts.py +2 -2
  127. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/get_lila_image_counts.py +2 -1
  128. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/lila_common.py +5 -5
  129. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/lila/test_lila_metadata_urls.py +2 -2
  130. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/ocr_tools.py +6 -6
  131. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/read_exif.py +2 -2
  132. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/remap_coco_categories.py +1 -1
  133. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/remove_exif.py +1 -1
  134. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/resize_coco_dataset.py +4 -4
  135. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/wi_download_csv_to_coco.py +3 -3
  136. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/yolo_output_to_md_output.py +5 -5
  137. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/data_management/yolo_to_coco.py +9 -9
  138. {megadetector-5.0.10/data_management/lila → megadetector-5.0.12/megadetector/detection}/__init__.py +0 -0
  139. {megadetector-5.0.10/detection → megadetector-5.0.12/megadetector/detection/detector_training}/__init__.py +0 -0
  140. {megadetector-5.0.10/api/synchronous/api_core/animal_detection_api → megadetector-5.0.12/megadetector}/detection/detector_training/model_main_tf2.py +0 -0
  141. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/detection/process_video.py +9 -10
  142. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/detection/pytorch_detector.py +12 -8
  143. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/detection/run_detector.py +6 -6
  144. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/detection/run_detector_batch.py +12 -12
  145. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/detection/run_inference_with_yolov5_val.py +12 -12
  146. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/detection/run_tiled_inference.py +8 -9
  147. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/detection/tf_detector.py +3 -2
  148. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/detection/video_utils.py +2 -2
  149. {megadetector-5.0.10/detection/detector_training → megadetector-5.0.12/megadetector/postprocessing}/__init__.py +0 -0
  150. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/add_max_conf.py +1 -1
  151. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/categorize_detections_by_size.py +1 -1
  152. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/combine_api_outputs.py +1 -1
  153. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/compare_batch_results.py +5 -5
  154. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/convert_output_format.py +4 -5
  155. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/load_api_results.py +1 -1
  156. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/md_to_coco.py +3 -3
  157. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/md_to_labelme.py +3 -3
  158. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/merge_detections.py +1 -1
  159. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/postprocess_batch_results.py +19 -21
  160. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/remap_detection_categories.py +1 -1
  161. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/render_detection_confusion_matrix.py +5 -6
  162. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/repeat_detection_elimination/find_repeat_detections.py +3 -3
  163. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/repeat_detection_elimination/remove_repeat_detections.py +3 -2
  164. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/repeat_detection_elimination/repeat_detections_core.py +11 -11
  165. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/separate_detections_into_folders.py +3 -4
  166. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/subset_json_detector_output.py +2 -2
  167. {megadetector-5.0.10/api/batch_processing → megadetector-5.0.12/megadetector}/postprocessing/top_folders_to_bottom.py +1 -1
  168. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/taxonomy_mapping}/__init__.py +0 -0
  169. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/map_lila_taxonomy_to_wi_taxonomy.py +2 -2
  170. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/map_new_lila_datasets.py +2 -6
  171. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/prepare_lila_taxonomy_release.py +0 -0
  172. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/preview_lila_taxonomy.py +6 -7
  173. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/retrieve_sample_image.py +1 -1
  174. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/simple_image_download.py +2 -1
  175. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/species_lookup.py +1 -1
  176. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/taxonomy_csv_checker.py +1 -1
  177. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/taxonomy_graph.py +0 -0
  178. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/taxonomy_mapping/validate_lila_category_mappings.py +1 -1
  179. {megadetector-5.0.10/md_visualization → megadetector-5.0.12/megadetector/utils}/__init__.py +0 -0
  180. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/azure_utils.py +7 -3
  181. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/ct_utils.py +0 -0
  182. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/directory_listing.py +1 -1
  183. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/md_tests.py +29 -29
  184. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/path_utils.py +0 -0
  185. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/process_utils.py +0 -0
  186. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/sas_blob_utils.py +0 -0
  187. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/split_locations_into_train_val.py +1 -1
  188. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/string_utils.py +0 -0
  189. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/url_utils.py +0 -0
  190. {megadetector-5.0.10/md_utils → megadetector-5.0.12/megadetector/utils}/write_html_image_list.py +1 -1
  191. {megadetector-5.0.10/taxonomy_mapping → megadetector-5.0.12/megadetector/visualization}/__init__.py +0 -0
  192. {megadetector-5.0.10/md_visualization → megadetector-5.0.12/megadetector/visualization}/plot_utils.py +0 -0
  193. {megadetector-5.0.10/md_visualization → megadetector-5.0.12/megadetector/visualization}/render_images_with_thumbnails.py +3 -3
  194. {megadetector-5.0.10/md_visualization → megadetector-5.0.12/megadetector/visualization}/visualization_utils.py +6 -7
  195. {megadetector-5.0.10/md_visualization → megadetector-5.0.12/megadetector/visualization}/visualize_db.py +3 -4
  196. {megadetector-5.0.10/md_visualization → megadetector-5.0.12/megadetector/visualization}/visualize_detector_output.py +9 -10
  197. {megadetector-5.0.10 → megadetector-5.0.12/megadetector.egg-info}/PKG-INFO +12 -11
  198. megadetector-5.0.12/megadetector.egg-info/SOURCES.txt +203 -0
  199. {megadetector-5.0.10 → megadetector-5.0.12}/megadetector.egg-info/dependency_links.txt +0 -0
  200. {megadetector-5.0.10 → megadetector-5.0.12}/megadetector.egg-info/requires.txt +0 -0
  201. megadetector-5.0.12/megadetector.egg-info/top_level.txt +1 -0
  202. {megadetector-5.0.10 → megadetector-5.0.12}/pyproject.toml +3 -8
  203. {megadetector-5.0.10 → megadetector-5.0.12}/setup.cfg +0 -0
  204. megadetector-5.0.10/api/batch_processing/data_preparation/manage_local_batch.py +0 -2391
  205. megadetector-5.0.10/api/batch_processing/data_preparation/manage_video_batch.py +0 -327
  206. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/data_management/annotations/annotation_constants.py +0 -47
  207. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/detector_training/copy_checkpoints.py +0 -43
  208. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/process_video.py +0 -543
  209. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/pytorch_detector.py +0 -304
  210. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/run_detector.py +0 -627
  211. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/run_detector_batch.py +0 -1029
  212. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/run_inference_with_yolov5_val.py +0 -581
  213. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/run_tiled_inference.py +0 -754
  214. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/tf_detector.py +0 -165
  215. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/detection/video_utils.py +0 -495
  216. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/azure_utils.py +0 -174
  217. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/ct_utils.py +0 -262
  218. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/directory_listing.py +0 -251
  219. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/matlab_porting_tools.py +0 -97
  220. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/path_utils.py +0 -416
  221. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/process_utils.py +0 -110
  222. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/sas_blob_utils.py +0 -509
  223. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/string_utils.py +0 -59
  224. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/url_utils.py +0 -144
  225. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_utils/write_html_image_list.py +0 -226
  226. megadetector-5.0.10/api/synchronous/api_core/animal_detection_api/md_visualization/visualization_utils.py +0 -841
  227. megadetector-5.0.10/detection/detector_training/model_main_tf2.py +0 -114
  228. megadetector-5.0.10/docs/source/conf.py +0 -43
  229. megadetector-5.0.10/megadetector.egg-info/SOURCES.txt +0 -228
  230. megadetector-5.0.10/megadetector.egg-info/top_level.txt +0 -9
  231. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/efficientnet/model.py +0 -0
  232. {megadetector-5.0.10 → megadetector-5.0.12/megadetector}/classification/efficientnet/utils.py +0 -0
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: megadetector
3
- Version: 5.0.10
3
+ Version: 5.0.12
4
4
  Summary: MegaDetector is an AI model that helps conservation folks spend less time doing boring things with camera trap images.
5
5
  Author-email: Your friendly neighborhood MegaDetector team <cameratraps@lila.science>
6
6
  Maintainer-email: Your friendly neighborhood MegaDetector team <cameratraps@lila.science>
@@ -28,7 +28,7 @@ Project-URL: Homepage, https://github.com/agentmorris/MegaDetector
28
28
  Project-URL: Documentation, https://megadetector.readthedocs.io
29
29
  Project-URL: Bug Reports, https://github.com/agentmorris/MegaDetector/issues
30
30
  Project-URL: Source, https://github.com/agentmorris/MegaDetector
31
- Keywords: camera traps,conservation,wildlife,ai
31
+ Keywords: camera traps,conservation,wildlife,ai,megadetector
32
32
  Classifier: Development Status :: 3 - Alpha
33
33
  Classifier: License :: OSI Approved :: MIT License
34
34
  Classifier: Programming Language :: Python :: 3
@@ -52,9 +52,9 @@ Requires-Dist: ultralytics-yolov5==0.1.1
52
52
 
53
53
  # MegaDetector
54
54
 
55
- This package is a pip-installable version of the support/inference code for [MegaDetector](https://github.com/agentmorris/MegaDetector), an object detection model that helps conservation biologists spend less time doing boring things with camera trap images. Complete documentation for this Python package is available at [megadetector.readthedocs.io](https://megadetector.readthedocs.io).
55
+ This package is a pip-installable version of the support/inference code for [MegaDetector](https://github.com/agentmorris/MegaDetector/?tab=readme-ov-file#megadetector), an object detection model that helps conservation biologists spend less time doing boring things with camera trap images. Complete documentation for this Python package is available at [megadetector.readthedocs.io](https://megadetector.readthedocs.io).
56
56
 
57
- If you aren't looking for the Python package specificaly, and you just want to learn more about what MegaDetector is all about, head over to the [MegaDetector repo](https://github.com/agentmorris/MegaDetector).
57
+ If you aren't looking for the Python package specificaly, and you just want to learn more about what MegaDetector is all about, head over to the [MegaDetector repo](https://github.com/agentmorris/MegaDetector/?tab=readme-ov-file#megadetector).
58
58
 
59
59
 
60
60
  ## Reasons you probably aren't looking for this package
@@ -69,7 +69,7 @@ If you are a computer-vision-y person looking to run or fine-tune MegaDetector p
69
69
 
70
70
  ## Reasons you might want to use this package
71
71
 
72
- If you want to programmatically interact with the postprocessing tools from the MegaDetector repo, or programmatically run MegaDetector in a way that produces [Timelapse](https://saul.cpsc.ucalgary.ca/timelapse)-friendly output (i.e., output in the standard [MegaDetector output format](https://github.com/agentmorris/MegaDetector/tree/main/api/batch_processing#megadetector-batch-output-format)), this package might be for you.
72
+ If you want to programmatically interact with the postprocessing tools from the MegaDetector repo, or programmatically run MegaDetector in a way that produces [Timelapse](https://saul.cpsc.ucalgary.ca/timelapse)-friendly output (i.e., output in the standard [MegaDetector output format](https://github.com/agentmorris/MegaDetector/tree/main/megadetector/api/batch_processing#megadetector-batch-output-format)), this package might be for you.
73
73
 
74
74
  Although even if that describes you, you <i>still</i> might be better off cloning the MegaDetector repo. Pip-installability requires that some dependencies be newer than what was available at the time MDv5 was trained, so results are <i>very slightly</i> different than results produced in the "official" environment. These differences <i>probably</i> don't matter much, but they have not been formally characterized.
75
75
 
@@ -83,7 +83,7 @@ MegaDetector model weights aren't downloaded at pip-install time, but they will
83
83
 
84
84
  ## Package reference
85
85
 
86
- See <megadetector.readthedocs.io>.
86
+ See [megadetector.readthedocs.io](https://megadetector.readthedocs.io).
87
87
 
88
88
 
89
89
  ## Examples of things you can do with this package
@@ -91,9 +91,9 @@ See <megadetector.readthedocs.io>.
91
91
  ### Run MegaDetector on one image and count the number of detections
92
92
 
93
93
  ```
94
- from md_utils import url_utils
95
- from md_visualization import visualization_utils as vis_utils
96
- from detection import run_detector
94
+ from megadetector.utils import url_utils
95
+ from megadetector.visualization import visualization_utils as vis_utils
96
+ from megadetector.detection import run_detector
97
97
 
98
98
  # This is the image at the bottom of this page, it has one animal in it
99
99
  image_url = 'https://github.com/agentmorris/MegaDetector/raw/main/images/orinoquia-thumb-web.jpg'
@@ -113,8 +113,9 @@ print('Found {} detections above threshold'.format(len(detections_above_threshol
113
113
  ### Run MegaDetector on a folder of images
114
114
 
115
115
  ```
116
- from detection.run_detector_batch import load_and_run_detector_batch,write_results_to_file
117
- from md_utils import path_utils
116
+ from megadetector.detection.run_detector_batch import \
117
+ load_and_run_detector_batch,write_results_to_file
118
+ from megadetector.utils import path_utils
118
119
  import os
119
120
 
120
121
  # Pick a folder to run MD on recursively, and an output file
@@ -1,8 +1,8 @@
1
1
  # MegaDetector
2
2
 
3
- This package is a pip-installable version of the support/inference code for [MegaDetector](https://github.com/agentmorris/MegaDetector), an object detection model that helps conservation biologists spend less time doing boring things with camera trap images. Complete documentation for this Python package is available at [megadetector.readthedocs.io](https://megadetector.readthedocs.io).
3
+ This package is a pip-installable version of the support/inference code for [MegaDetector](https://github.com/agentmorris/MegaDetector/?tab=readme-ov-file#megadetector), an object detection model that helps conservation biologists spend less time doing boring things with camera trap images. Complete documentation for this Python package is available at [megadetector.readthedocs.io](https://megadetector.readthedocs.io).
4
4
 
5
- If you aren't looking for the Python package specificaly, and you just want to learn more about what MegaDetector is all about, head over to the [MegaDetector repo](https://github.com/agentmorris/MegaDetector).
5
+ If you aren't looking for the Python package specificaly, and you just want to learn more about what MegaDetector is all about, head over to the [MegaDetector repo](https://github.com/agentmorris/MegaDetector/?tab=readme-ov-file#megadetector).
6
6
 
7
7
 
8
8
  ## Reasons you probably aren't looking for this package
@@ -17,7 +17,7 @@ If you are a computer-vision-y person looking to run or fine-tune MegaDetector p
17
17
 
18
18
  ## Reasons you might want to use this package
19
19
 
20
- If you want to programmatically interact with the postprocessing tools from the MegaDetector repo, or programmatically run MegaDetector in a way that produces [Timelapse](https://saul.cpsc.ucalgary.ca/timelapse)-friendly output (i.e., output in the standard [MegaDetector output format](https://github.com/agentmorris/MegaDetector/tree/main/api/batch_processing#megadetector-batch-output-format)), this package might be for you.
20
+ If you want to programmatically interact with the postprocessing tools from the MegaDetector repo, or programmatically run MegaDetector in a way that produces [Timelapse](https://saul.cpsc.ucalgary.ca/timelapse)-friendly output (i.e., output in the standard [MegaDetector output format](https://github.com/agentmorris/MegaDetector/tree/main/megadetector/api/batch_processing#megadetector-batch-output-format)), this package might be for you.
21
21
 
22
22
  Although even if that describes you, you <i>still</i> might be better off cloning the MegaDetector repo. Pip-installability requires that some dependencies be newer than what was available at the time MDv5 was trained, so results are <i>very slightly</i> different than results produced in the "official" environment. These differences <i>probably</i> don't matter much, but they have not been formally characterized.
23
23
 
@@ -31,7 +31,7 @@ MegaDetector model weights aren't downloaded at pip-install time, but they will
31
31
 
32
32
  ## Package reference
33
33
 
34
- See <megadetector.readthedocs.io>.
34
+ See [megadetector.readthedocs.io](https://megadetector.readthedocs.io).
35
35
 
36
36
 
37
37
  ## Examples of things you can do with this package
@@ -39,9 +39,9 @@ See <megadetector.readthedocs.io>.
39
39
  ### Run MegaDetector on one image and count the number of detections
40
40
 
41
41
  ```
42
- from md_utils import url_utils
43
- from md_visualization import visualization_utils as vis_utils
44
- from detection import run_detector
42
+ from megadetector.utils import url_utils
43
+ from megadetector.visualization import visualization_utils as vis_utils
44
+ from megadetector.detection import run_detector
45
45
 
46
46
  # This is the image at the bottom of this page, it has one animal in it
47
47
  image_url = 'https://github.com/agentmorris/MegaDetector/raw/main/images/orinoquia-thumb-web.jpg'
@@ -61,8 +61,9 @@ print('Found {} detections above threshold'.format(len(detections_above_threshol
61
61
  ### Run MegaDetector on a folder of images
62
62
 
63
63
  ```
64
- from detection.run_detector_batch import load_and_run_detector_batch,write_results_to_file
65
- from md_utils import path_utils
64
+ from megadetector.detection.run_detector_batch import \
65
+ load_and_run_detector_batch,write_results_to_file
66
+ from megadetector.utils import path_utils
66
67
  import os
67
68
 
68
69
  # Pick a folder to run MD on recursively, and an output file
@@ -147,25 +147,40 @@ The core functionality provided is:
147
147
  - Training and running [MegaDetector](megadetector.md).
148
148
  - Training and running some [species classifiers](classification) that are used in conjunction with MegaDetector.
149
149
  - Tools to [convert](data_management) frequently-used camera trap metadata formats into a common format.
150
- - A [batch processing API](https://github.com/agentmorris/MegaDetector/tree/main/api/batch_processing) that runs MegaDetector on large image collections, to accelerate population surveys.
151
- - A [real-time API](https://github.com/agentmorris/MegaDetector/tree/main/api/synchronous) that runs MegaDetector (and some species classifiers) synchronously, primarily to support biosecurity applications.
150
+ - A [batch processing API](https://github.com/agentmorris/MegaDetector/tree/main/megadetector/api/batch_processing) that runs MegaDetector on large image collections, to accelerate population surveys.
151
+ - A [real-time API](https://github.com/agentmorris/MegaDetector/tree/main/megadetector/api/synchronous) that runs MegaDetector (and some species classifiers) synchronously, primarily to support biosecurity applications.
152
152
 
153
153
  This repo does not host the data used to train MegaDetector, but we work with our collaborators to make data and annotations available whenever possible on [lila.science](http://lila.science). See the [MegaDetector training data](megadetector.md#can-you-share-the-training-data) section to learn more about the data used to train MegaDetector.
154
154
 
155
155
  MegaDetector was initially developed by the [Microsoft AI for Earth program](https://www.microsoft.com/en-us/ai/ai-for-earth); this repo was forked from the microsoft/cameratraps repo and is maintained by the original MegaDetector developers (who are no longer at Microsoft, but are absolutely fantastically eternally grateful to Microsoft for the investment and commitment that made MegaDetector happen).
156
156
 
157
157
 
158
- ### api
158
+ ### megadetector/detection
159
159
 
160
- Code for hosting our models as an API, either for synchronous operation (i.e., for real-time inference) or as a batch process (for large biodiversity surveys). Common operations one might do after running MegaDetector &ndash; e.g. [generating preview pages to summarize your results](https://github.com/agentmorris/MegaDetector/blob/main/api/batch_processing/postprocessing/postprocess_batch_results.py), [separating images into different folders based on AI results](https://github.com/agentmorris/MegaDetector/blob/main/api/batch_processing/postprocessing/separate_detections_into_folders.py), or [converting results to a different format](https://github.com/agentmorris/MegaDetector/blob/main/api/batch_processing/postprocessing/convert_output_format.py) &ndash; also live in this folder, within the [api/batch_processing/postprocessing](https://github.com/agentmorris/MegaDetector/tree/main/api/batch_processing/postprocessing) folder.
160
+ Code for running models, especially MegaDetector.
161
161
 
162
162
 
163
- ### archive
163
+ ### megadetector/postprocessing
164
+
165
+ Code for common operations one might do after running MegaDetector, e.g. [generating preview pages to summarize your results](https://github.com/agentmorris/MegaDetector/blob/main/megadetector/postprocessing/postprocess_batch_results.py), [separating images into different folders based on AI results](https://github.com/agentmorris/MegaDetector/blob/main/megadetector/postprocessing/separate_detections_into_folders.py), or [converting results to a different format](https://github.com/agentmorris/MegaDetector/blob/main/megadetector/postprocessing/convert_output_format.py).
166
+
167
+
168
+ ### megadetector/utils
169
+
170
+ Small utility functions for string manipulation, filename manipulation, downloading files from URLs, etc. Mostly adapted from the [ai4eutils](https://github.com/microsoft/ai4eutils) repo.
164
171
 
165
- Old code that we didn't <i>quite</i> want to delete, but is basically obsolete.
166
172
 
173
+ ### megadetector/visualization
167
174
 
168
- ### classification
175
+ Tools for visualizing images with ground truth and/or predicted annotations.
176
+
177
+
178
+ ### megadetector/api
179
+
180
+ Code for hosting our models as an API, either for synchronous operation (i.e., for real-time inference) or as a batch process (for large biodiversity surveys).
181
+
182
+
183
+ ### megadetector/classification
169
184
 
170
185
  Experimental code for training species classifiers on new data sets, generally trained on MegaDetector crops. Currently the main pipeline described in this folder relies on a large database of labeled images that is not publicly available; therefore, this folder is not yet set up to facilitate training of your own classifiers. However, it is useful for <i>users</i> of the classifiers that we train, and contains some useful starting points if you are going to take a "DIY" approach to training classifiers on cropped images.
171
186
 
@@ -174,18 +189,18 @@ All that said, here's another "teaser image" of what you get at the end of train
174
189
  <img src="images/warthog_classifications.jpg" width="700"><br/>Image credit University of Minnesota, from the Snapshot Safari program.
175
190
 
176
191
 
177
- ### data_management
192
+ ### megadetector/taxonomy_mapping
178
193
 
179
- Code for:
194
+ Code to facilitate mapping data-set-specific category names (e.g. "lion", which means very different things in Idaho vs. South Africa) to a standard taxonomy.
180
195
 
181
- * Converting frequently-used metadata formats to [COCO Camera Traps](https://github.com/agentmorris/MegaDetector/blob/main/data_management/README.md#coco-cameratraps-format) format
182
- * Converting the output of AI models (especially [YOLOv5](https://github.com/agentmorris/MegaDetector/blob/main/api/batch_processing/postprocessing/convert_output_format.py)) to the format used for AI results throughout this repo
183
- * Creating, visualizing, and editing COCO Camera Traps .json databases
184
196
 
197
+ ### megadetector/data_management
185
198
 
186
- ### detection
199
+ Code for:
187
200
 
188
- Code for running models, especially MegaDetector.
201
+ * Converting frequently-used metadata formats to [COCO Camera Traps](https://github.com/agentmorris/MegaDetector/blob/main/megadetector/data_management/README.md#coco-cameratraps-format) format
202
+ * Converting the output of AI models (especially YOLOv5) to the format used for AI results throughout this repo
203
+ * Creating, visualizing, and editing COCO Camera Traps .json databases
189
204
 
190
205
 
191
206
  ### envs
@@ -198,14 +213,9 @@ Environment files... specifically .yml files for mamba/conda environments (these
198
213
  Media used in documentation.
199
214
 
200
215
 
201
- ### md_utils
202
-
203
- Small utility functions for string manipulation, filename manipulation, downloading files from URLs, etc. Mostly adapted from the [ai4eutils](https://github.com/microsoft/ai4eutils) repo.
204
-
205
-
206
- ### md_visualization
216
+ ### archive
207
217
 
208
- Tools for visualizing images with ground truth and/or predicted annotations.
218
+ Old code that we didn't <i>quite</i> want to delete, but is basically obsolete.
209
219
 
210
220
 
211
221
  ### sandbox
@@ -213,11 +223,6 @@ Tools for visualizing images with ground truth and/or predicted annotations.
213
223
  Random things that don't fit in any other directory, but aren't quite deprecated. Mostly postprocessing scripts that were built for a single use case but could potentially be useful in the future.
214
224
 
215
225
 
216
- ### taxonomy_mapping
217
-
218
- Code to facilitate mapping data-set-specific category names (e.g. "lion", which means very different things in Idaho vs. South Africa) to a standard taxonomy.
219
-
220
-
221
226
  ### test_images
222
227
 
223
228
  A handful of images from [LILA](https://lila.science) that facilitate testing and debugging.
@@ -19,7 +19,7 @@ print('score.py, tf.test.is_gpu_available:', tf.test.is_gpu_available())
19
19
  PRINT_EVERY = 500
20
20
 
21
21
 
22
- #%% Helper functions *copied* from ct_utils.py and md_visualization/visualization_utils.py
22
+ #%% Helper functions *copied* from ct_utils.py and visualization/visualization_utils.py
23
23
 
24
24
  IMAGE_ROTATIONS = {
25
25
  3: 180,
@@ -237,7 +237,7 @@ class TFDetector:
237
237
  image_id: a path to identify the image; will be in the "file" field of the output object
238
238
  detection_threshold: confidence above which to include the detection proposal
239
239
  Returns:
240
- A dict with the following fields, see the 'images' key in https://github.com/agentmorris/MegaDetector/tree/master/api/batch_processing#batch-processing-api-output-format
240
+ A dict with the following fields, see the 'images' key in https://github.com/agentmorris/MegaDetector/tree/main/megadetector/api/batch_processing#batch-processing-api-output-format
241
241
  - 'file' (always present)
242
242
  - 'max_detection_conf'
243
243
  - 'detections', which is a list of detection objects containing keys 'category', 'conf' and 'bbox'
@@ -18,7 +18,7 @@ from io import BytesIO
18
18
 
19
19
  from detection.run_detector import load_detector, convert_to_tf_coords
20
20
  import config
21
- import md_visualization.visualization_utils as vis_utils
21
+ import visualization.visualization_utils as vis_utils
22
22
 
23
23
  #%% Initialization
24
24
 
@@ -21,7 +21,7 @@ from io import BytesIO
21
21
  from flask import Flask, Response, jsonify, make_response, request
22
22
  from requests_toolbelt.multipart.encoder import MultipartEncoder
23
23
 
24
- import md_visualization.visualization_utils as vis_utils
24
+ import visualization.visualization_utils as vis_utils
25
25
  import config
26
26
 
27
27
 
@@ -18,9 +18,9 @@ from PIL import Image, ImageFile
18
18
  import requests
19
19
  from tqdm import tqdm
20
20
 
21
- from data_management.megadb.megadb_utils import MegadbUtils
22
- from md_utils import path_utils
23
- from md_utils import sas_blob_utils
21
+ from megadetector.data_management.megadb.megadb_utils import MegadbUtils
22
+ from megadetector.utils import path_utils
23
+ from megadetector.utils import sas_blob_utils
24
24
 
25
25
 
26
26
  #%% Example usage
@@ -46,7 +46,7 @@ Detections JSON format:
46
46
 
47
47
  Batch Detection API Output Format:
48
48
 
49
- github.com/agentmorris/MegaDetector/tree/master/api/batch_processing#api-outputs
49
+ github.com/agentmorris/MegaDetector/tree/main/megadetector/api/batch_processing#api-outputs
50
50
 
51
51
  """
52
52
 
@@ -74,7 +74,7 @@ import numpy as np
74
74
  import pandas as pd
75
75
  from tqdm import tqdm
76
76
 
77
- from classification import detect_and_crop
77
+ from megadetector.classification import detect_and_crop
78
78
 
79
79
 
80
80
  #%% Example usage
@@ -9,7 +9,7 @@ This script takes as input a detections JSON file, usually the output of
9
9
  detection/run_tf_detector_batch.py or the output of the Batch API in the
10
10
  "Batch processing API output format".
11
11
 
12
- See https://github.com/agentmorris/MegaDetector/tree/master/api/batch_processing.
12
+ See https://github.com/agentmorris/MegaDetector/tree/main/megadetector/api/batch_processing.
13
13
 
14
14
  The script can crop images that are either available locally or that need to be
15
15
  downloaded from an Azure Blob Storage container.
@@ -113,11 +113,11 @@ from tqdm import tqdm
113
113
 
114
114
  from api.batch_processing.data_preparation.prepare_api_submission import (
115
115
  BatchAPIResponseError, Task, TaskStatus, divide_list_into_tasks)
116
- from classification.cache_batchapi_outputs import cache_detections
117
- from classification.crop_detections import load_and_crop
118
- from data_management.megadb import megadb_utils
119
- from md_utils import path_utils
120
- from md_utils import sas_blob_utils
116
+ from megadetector.classification.cache_batchapi_outputs import cache_detections
117
+ from megadetector.classification.crop_detections import load_and_crop
118
+ from megadetector.data_management.megadb import megadb_utils
119
+ from megadetector.utils import path_utils
120
+ from megadetector.utils import sas_blob_utils
121
121
 
122
122
 
123
123
  #%% Example usage
@@ -51,7 +51,7 @@ import torch
51
51
  import torchvision
52
52
  import tqdm
53
53
 
54
- from classification import efficientnet, train_classifier
54
+ from megadetector.classification import efficientnet, train_classifier
55
55
 
56
56
 
57
57
  #%% Example usage
@@ -16,8 +16,8 @@ import os
16
16
 
17
17
  from tqdm import tqdm
18
18
 
19
- from data_management.megadb import megadb_utils
20
- from md_utils import sas_blob_utils
19
+ from megadetector.data_management.megadb import megadb_utils
20
+ from megadetector.utils import sas_blob_utils
21
21
 
22
22
  images_dir = ''
23
23
  queried_images_json_path = 'run_idfg2/queried_images.json'
@@ -65,26 +65,30 @@ exist in Azure Blob Storage. In total, we output the following files:
65
65
 
66
66
  """
67
67
 
68
+ #%% Imports
69
+
68
70
  from __future__ import annotations
69
71
 
70
72
  import argparse
71
- from collections import defaultdict
72
- from collections.abc import Container, Iterable, Mapping, MutableMapping
73
- from concurrent import futures
74
- from datetime import datetime
75
73
  import json
76
74
  import os
77
75
  import pprint
78
76
  import random
79
- from typing import Any
80
77
 
81
78
  import pandas as pd
82
- from md_utils import path_utils
83
- from md_utils import sas_blob_utils
79
+
84
80
  from tqdm import tqdm
81
+ from collections import defaultdict
82
+ from collections.abc import Container, Iterable, Mapping, MutableMapping
83
+ from concurrent import futures
84
+ from datetime import datetime
85
+ from typing import Any
86
+
87
+ from megadetector.utils import path_utils
88
+ from megadetector.utils import sas_blob_utils
85
89
 
86
- from data_management.megadb import megadb_utils
87
- from taxonomy_mapping.taxonomy_graph import (
90
+ from megadetector.data_management.megadb import megadb_utils
91
+ from megadetector.taxonomy_mapping.taxonomy_graph import (
88
92
  build_taxonomy_graph, dag_to_tree, TaxonNode)
89
93
 
90
94
 
@@ -52,7 +52,7 @@ import networkx as nx
52
52
  import pandas as pd
53
53
  from tqdm import tqdm
54
54
 
55
- from taxonomy_mapping.taxonomy_graph import (
55
+ from megadetector.taxonomy_mapping.taxonomy_graph import (
56
56
  build_taxonomy_graph, dag_to_tree, TaxonNode)
57
57
 
58
58
 
@@ -70,7 +70,7 @@ from typing import Any
70
70
  import pandas as pd
71
71
  from tqdm import tqdm
72
72
 
73
- from md_utils.ct_utils import truncate_float
73
+ from megadetector.utils.ct_utils import truncate_float
74
74
 
75
75
 
76
76
  #%% Example usage
@@ -25,6 +25,7 @@ from __future__ import annotations
25
25
  import argparse
26
26
  import json
27
27
  import os
28
+
28
29
  from tqdm import tqdm
29
30
  from typing import Any
30
31
  from collections.abc import Callable, Sequence
@@ -36,7 +37,7 @@ import torch.utils
36
37
  import torchvision as tv
37
38
  from torchvision.datasets.folder import default_loader
38
39
 
39
- from classification import train_classifier
40
+ from megadetector.classification import train_classifier
40
41
 
41
42
 
42
43
  #%% Example usage
@@ -16,28 +16,30 @@ During training, start tensorboard from within the classification/ directory:
16
16
 
17
17
  from __future__ import annotations
18
18
 
19
+ import json
20
+ import os
19
21
  import argparse
22
+
20
23
  from collections import defaultdict
21
24
  from collections.abc import Callable, Mapping, MutableMapping, Sequence
22
25
  from datetime import datetime
23
- import json
24
- import os
25
26
  from typing import Any
26
27
 
27
28
  import numpy as np
28
29
  import PIL.Image
29
30
  import sklearn.metrics
31
+ import tqdm
32
+
30
33
  import torch
31
34
  from torch.utils import tensorboard
32
35
  import torchvision as tv
33
36
  from torchvision.datasets.folder import default_loader
34
- import tqdm
35
37
 
36
- from classification import efficientnet, evaluate_model
37
- from classification.train_utils import (
38
+ from megadetector.classification import efficientnet, evaluate_model
39
+ from megadetector.classification.train_utils import (
38
40
  HeapItem, recall_from_confusion_matrix, add_to_heap, fig_to_img,
39
41
  imgs_with_confidences, load_dataset_csv, prefix_all_keys)
40
- from md_visualization import plot_utils
42
+ from megadetector.visualization import plot_utils
41
43
 
42
44
 
43
45
  #%% Example usage
@@ -16,25 +16,26 @@ During training, start tensorboard from within the classification/ directory:
16
16
 
17
17
  from __future__ import annotations
18
18
 
19
- import argparse
20
- from collections import defaultdict
21
- from collections.abc import Callable, Mapping, MutableMapping, Sequence
22
- from datetime import datetime
23
- import json
24
19
  import os
25
- from typing import Any, Optional
20
+ import json
26
21
  import uuid
22
+ import argparse
27
23
 
24
+ import tqdm
28
25
  import numpy as np
29
26
  import sklearn.metrics
30
27
  import tensorflow as tf
28
+
29
+ from collections import defaultdict
30
+ from collections.abc import Callable, Mapping, MutableMapping, Sequence
31
+ from datetime import datetime
32
+ from typing import Any, Optional
31
33
  from tensorboard.plugins.hparams import api as hp
32
- import tqdm
33
34
 
34
- from classification.train_utils import (
35
+ from megadetector.classification.train_utils import (
35
36
  HeapItem, recall_from_confusion_matrix, add_to_heap, fig_to_img,
36
37
  imgs_with_confidences, load_dataset_csv, prefix_all_keys)
37
- from md_visualization import plot_utils
38
+ from megadetector.visualization import plot_utils
38
39
 
39
40
  AUTOTUNE = tf.data.experimental.AUTOTUNE
40
41
 
@@ -13,12 +13,10 @@ especially be agnostic to PyTorch vs. TensorFlow.
13
13
 
14
14
  from __future__ import annotations
15
15
 
16
- from collections.abc import Mapping, Sequence
17
16
  import dataclasses
18
17
  import heapq
19
18
  import io
20
19
  import json
21
- from typing import Any, Optional
22
20
 
23
21
  import matplotlib.figure
24
22
  import numpy as np
@@ -26,6 +24,9 @@ import pandas as pd
26
24
  import PIL.Image
27
25
  import scipy.interpolate
28
26
 
27
+ from collections.abc import Mapping, Sequence
28
+ from typing import Any, Optional
29
+
29
30
 
30
31
  #%% Classes
31
32