megadetector 5.0.10__py3-none-any.whl → 5.0.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of megadetector might be problematic. Click here for more details.
- {api → megadetector/api}/batch_processing/api_core/batch_service/score.py +2 -2
- {api → megadetector/api}/synchronous/api_core/animal_detection_api/api_backend.py +1 -1
- {api → megadetector/api}/synchronous/api_core/animal_detection_api/api_frontend.py +1 -1
- {classification → megadetector/classification}/analyze_failed_images.py +3 -3
- {classification → megadetector/classification}/cache_batchapi_outputs.py +1 -1
- {classification → megadetector/classification}/create_classification_dataset.py +1 -1
- {classification → megadetector/classification}/crop_detections.py +1 -1
- {classification → megadetector/classification}/detect_and_crop.py +5 -5
- {classification → megadetector/classification}/evaluate_model.py +1 -1
- {classification → megadetector/classification}/json_to_azcopy_list.py +2 -2
- {classification → megadetector/classification}/json_validator.py +13 -9
- {classification → megadetector/classification}/map_classification_categories.py +1 -1
- {classification → megadetector/classification}/merge_classification_detection_output.py +1 -1
- {classification → megadetector/classification}/run_classifier.py +2 -1
- {classification → megadetector/classification}/train_classifier.py +8 -6
- {classification → megadetector/classification}/train_classifier_tf.py +10 -9
- {classification → megadetector/classification}/train_utils.py +3 -2
- {data_management → megadetector/data_management}/camtrap_dp_to_coco.py +4 -3
- {data_management → megadetector/data_management}/cct_json_utils.py +2 -2
- {data_management → megadetector/data_management}/cct_to_md.py +1 -1
- {data_management → megadetector/data_management}/coco_to_labelme.py +1 -1
- {data_management → megadetector/data_management}/coco_to_yolo.py +1 -1
- {data_management → megadetector/data_management}/databases/integrity_check_json_db.py +2 -2
- {data_management → megadetector/data_management}/get_image_sizes.py +4 -3
- {data_management → megadetector/data_management}/importers/auckland_doc_test_to_json.py +6 -5
- {data_management → megadetector/data_management}/importers/auckland_doc_to_json.py +4 -3
- {data_management → megadetector/data_management}/importers/awc_to_json.py +6 -4
- {data_management → megadetector/data_management}/importers/bellevue_to_json.py +3 -3
- {data_management → megadetector/data_management}/importers/cacophony-thermal-importer.py +4 -4
- {data_management → megadetector/data_management}/importers/carrizo_shrubfree_2018.py +5 -4
- {data_management → megadetector/data_management}/importers/carrizo_trail_cam_2017.py +8 -6
- {data_management → megadetector/data_management}/importers/cct_field_adjustments.py +2 -1
- {data_management → megadetector/data_management}/importers/channel_islands_to_cct.py +2 -2
- {data_management → megadetector/data_management}/importers/ena24_to_json.py +6 -5
- {data_management → megadetector/data_management}/importers/filenames_to_json.py +2 -1
- {data_management → megadetector/data_management}/importers/helena_to_cct.py +7 -6
- {data_management → megadetector/data_management}/importers/idaho-camera-traps.py +6 -6
- {data_management → megadetector/data_management}/importers/idfg_iwildcam_lila_prep.py +4 -4
- {data_management → megadetector/data_management}/importers/jb_csv_to_json.py +1 -1
- {data_management → megadetector/data_management}/importers/missouri_to_json.py +4 -3
- {data_management → megadetector/data_management}/importers/noaa_seals_2019.py +2 -2
- {data_management → megadetector/data_management}/importers/pc_to_json.py +5 -5
- {data_management → megadetector/data_management}/importers/prepare-noaa-fish-data-for-lila.py +3 -3
- {data_management → megadetector/data_management}/importers/prepare_zsl_imerit.py +3 -3
- {data_management → megadetector/data_management}/importers/rspb_to_json.py +2 -2
- {data_management → megadetector/data_management}/importers/save_the_elephants_survey_A.py +4 -4
- {data_management → megadetector/data_management}/importers/save_the_elephants_survey_B.py +6 -9
- {data_management → megadetector/data_management}/importers/snapshot_safari_importer.py +4 -4
- {data_management → megadetector/data_management}/importers/snapshot_safari_importer_reprise.py +2 -2
- {data_management → megadetector/data_management}/importers/snapshot_serengeti_lila.py +4 -4
- {data_management → megadetector/data_management}/importers/timelapse_csv_set_to_json.py +3 -3
- {data_management → megadetector/data_management}/importers/ubc_to_json.py +3 -3
- {data_management → megadetector/data_management}/importers/umn_to_json.py +2 -2
- {data_management → megadetector/data_management}/importers/wellington_to_json.py +3 -3
- {data_management → megadetector/data_management}/importers/wi_to_json.py +3 -2
- {data_management → megadetector/data_management}/labelme_to_coco.py +6 -7
- {data_management → megadetector/data_management}/labelme_to_yolo.py +2 -2
- {data_management → megadetector/data_management}/lila/add_locations_to_island_camera_traps.py +4 -4
- {data_management → megadetector/data_management}/lila/create_lila_blank_set.py +10 -9
- {data_management → megadetector/data_management}/lila/create_lila_test_set.py +3 -2
- {data_management → megadetector/data_management}/lila/create_links_to_md_results_files.py +1 -1
- {data_management → megadetector/data_management}/lila/download_lila_subset.py +5 -4
- {data_management → megadetector/data_management}/lila/generate_lila_per_image_labels.py +6 -5
- {data_management → megadetector/data_management}/lila/get_lila_annotation_counts.py +2 -2
- {data_management → megadetector/data_management}/lila/get_lila_image_counts.py +2 -1
- {data_management → megadetector/data_management}/lila/lila_common.py +5 -5
- {data_management → megadetector/data_management}/lila/test_lila_metadata_urls.py +2 -2
- {data_management → megadetector/data_management}/ocr_tools.py +6 -6
- {data_management → megadetector/data_management}/read_exif.py +2 -2
- {data_management → megadetector/data_management}/remap_coco_categories.py +1 -1
- {data_management → megadetector/data_management}/remove_exif.py +1 -1
- {data_management → megadetector/data_management}/resize_coco_dataset.py +4 -4
- {data_management → megadetector/data_management}/wi_download_csv_to_coco.py +3 -3
- {data_management → megadetector/data_management}/yolo_output_to_md_output.py +5 -5
- {data_management → megadetector/data_management}/yolo_to_coco.py +9 -9
- {detection → megadetector/detection}/process_video.py +9 -10
- {detection → megadetector/detection}/pytorch_detector.py +12 -8
- {detection → megadetector/detection}/run_detector.py +6 -6
- {detection → megadetector/detection}/run_detector_batch.py +12 -12
- {detection → megadetector/detection}/run_inference_with_yolov5_val.py +12 -12
- {detection → megadetector/detection}/run_tiled_inference.py +8 -9
- {detection → megadetector/detection}/tf_detector.py +3 -2
- {detection → megadetector/detection}/video_utils.py +2 -2
- {api/batch_processing → megadetector}/postprocessing/add_max_conf.py +1 -1
- {api/batch_processing → megadetector}/postprocessing/categorize_detections_by_size.py +1 -1
- {api/batch_processing → megadetector}/postprocessing/combine_api_outputs.py +1 -1
- {api/batch_processing → megadetector}/postprocessing/compare_batch_results.py +5 -5
- {api/batch_processing → megadetector}/postprocessing/convert_output_format.py +4 -5
- {api/batch_processing → megadetector}/postprocessing/load_api_results.py +1 -1
- {api/batch_processing → megadetector}/postprocessing/md_to_coco.py +3 -3
- {api/batch_processing → megadetector}/postprocessing/md_to_labelme.py +3 -3
- {api/batch_processing → megadetector}/postprocessing/merge_detections.py +1 -1
- {api/batch_processing → megadetector}/postprocessing/postprocess_batch_results.py +19 -21
- {api/batch_processing → megadetector}/postprocessing/remap_detection_categories.py +1 -1
- {api/batch_processing → megadetector}/postprocessing/render_detection_confusion_matrix.py +5 -6
- {api/batch_processing → megadetector}/postprocessing/repeat_detection_elimination/find_repeat_detections.py +3 -3
- {api/batch_processing → megadetector}/postprocessing/repeat_detection_elimination/remove_repeat_detections.py +3 -2
- {api/batch_processing → megadetector}/postprocessing/repeat_detection_elimination/repeat_detections_core.py +11 -11
- {api/batch_processing → megadetector}/postprocessing/separate_detections_into_folders.py +3 -4
- {api/batch_processing → megadetector}/postprocessing/subset_json_detector_output.py +2 -2
- {api/batch_processing → megadetector}/postprocessing/top_folders_to_bottom.py +1 -1
- {taxonomy_mapping → megadetector/taxonomy_mapping}/map_lila_taxonomy_to_wi_taxonomy.py +2 -2
- {taxonomy_mapping → megadetector/taxonomy_mapping}/map_new_lila_datasets.py +2 -6
- {taxonomy_mapping → megadetector/taxonomy_mapping}/preview_lila_taxonomy.py +6 -7
- {taxonomy_mapping → megadetector/taxonomy_mapping}/retrieve_sample_image.py +1 -1
- {taxonomy_mapping → megadetector/taxonomy_mapping}/simple_image_download.py +2 -1
- {taxonomy_mapping → megadetector/taxonomy_mapping}/species_lookup.py +1 -1
- {taxonomy_mapping → megadetector/taxonomy_mapping}/taxonomy_csv_checker.py +1 -1
- {taxonomy_mapping → megadetector/taxonomy_mapping}/validate_lila_category_mappings.py +1 -1
- {md_utils → megadetector/utils}/azure_utils.py +7 -3
- {md_utils → megadetector/utils}/directory_listing.py +1 -1
- {md_utils → megadetector/utils}/md_tests.py +29 -29
- {md_utils → megadetector/utils}/split_locations_into_train_val.py +1 -1
- {md_utils → megadetector/utils}/write_html_image_list.py +1 -1
- {md_visualization → megadetector/visualization}/render_images_with_thumbnails.py +3 -3
- {md_visualization → megadetector/visualization}/visualization_utils.py +6 -7
- {md_visualization → megadetector/visualization}/visualize_db.py +3 -4
- {md_visualization → megadetector/visualization}/visualize_detector_output.py +9 -10
- {megadetector-5.0.10.dist-info → megadetector-5.0.12.dist-info}/LICENSE +0 -0
- {megadetector-5.0.10.dist-info → megadetector-5.0.12.dist-info}/METADATA +12 -11
- megadetector-5.0.12.dist-info/RECORD +199 -0
- megadetector-5.0.12.dist-info/top_level.txt +1 -0
- api/batch_processing/data_preparation/manage_local_batch.py +0 -2391
- api/batch_processing/data_preparation/manage_video_batch.py +0 -327
- api/synchronous/api_core/animal_detection_api/data_management/annotations/annotation_constants.py +0 -47
- api/synchronous/api_core/animal_detection_api/detection/detector_training/copy_checkpoints.py +0 -43
- api/synchronous/api_core/animal_detection_api/detection/process_video.py +0 -543
- api/synchronous/api_core/animal_detection_api/detection/pytorch_detector.py +0 -304
- api/synchronous/api_core/animal_detection_api/detection/run_detector.py +0 -627
- api/synchronous/api_core/animal_detection_api/detection/run_detector_batch.py +0 -1029
- api/synchronous/api_core/animal_detection_api/detection/run_inference_with_yolov5_val.py +0 -581
- api/synchronous/api_core/animal_detection_api/detection/run_tiled_inference.py +0 -754
- api/synchronous/api_core/animal_detection_api/detection/tf_detector.py +0 -165
- api/synchronous/api_core/animal_detection_api/detection/video_utils.py +0 -495
- api/synchronous/api_core/animal_detection_api/md_utils/azure_utils.py +0 -174
- api/synchronous/api_core/animal_detection_api/md_utils/ct_utils.py +0 -262
- api/synchronous/api_core/animal_detection_api/md_utils/directory_listing.py +0 -251
- api/synchronous/api_core/animal_detection_api/md_utils/matlab_porting_tools.py +0 -97
- api/synchronous/api_core/animal_detection_api/md_utils/path_utils.py +0 -416
- api/synchronous/api_core/animal_detection_api/md_utils/process_utils.py +0 -110
- api/synchronous/api_core/animal_detection_api/md_utils/sas_blob_utils.py +0 -509
- api/synchronous/api_core/animal_detection_api/md_utils/string_utils.py +0 -59
- api/synchronous/api_core/animal_detection_api/md_utils/url_utils.py +0 -144
- api/synchronous/api_core/animal_detection_api/md_utils/write_html_image_list.py +0 -226
- api/synchronous/api_core/animal_detection_api/md_visualization/visualization_utils.py +0 -841
- detection/detector_training/model_main_tf2.py +0 -114
- docs/source/conf.py +0 -43
- megadetector-5.0.10.dist-info/RECORD +0 -224
- megadetector-5.0.10.dist-info/top_level.txt +0 -8
- {api → megadetector/api}/__init__.py +0 -0
- {api → megadetector/api}/batch_processing/__init__.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/__init__.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/batch_service/__init__.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/server.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/server_api_config.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/server_app_config.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/server_batch_job_manager.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/server_job_status_table.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/server_orchestration.py +0 -0
- {api → megadetector/api}/batch_processing/api_core/server_utils.py +0 -0
- {api → megadetector/api}/batch_processing/api_core_support/__init__.py +0 -0
- {api → megadetector/api}/batch_processing/api_core_support/aggregate_results_manually.py +0 -0
- {api → megadetector/api}/batch_processing/api_support/__init__.py +0 -0
- {api → megadetector/api}/batch_processing/api_support/summarize_daily_activity.py +0 -0
- {api → megadetector/api}/batch_processing/data_preparation/__init__.py +0 -0
- {api → megadetector/api}/batch_processing/integration/digiKam/setup.py +0 -0
- {api → megadetector/api}/batch_processing/integration/digiKam/xmp_integration.py +0 -0
- {api → megadetector/api}/batch_processing/integration/eMammal/test_scripts/config_template.py +0 -0
- {api → megadetector/api}/batch_processing/integration/eMammal/test_scripts/push_annotations_to_emammal.py +0 -0
- {api → megadetector/api}/batch_processing/integration/eMammal/test_scripts/select_images_for_testing.py +0 -0
- {api/batch_processing/postprocessing → megadetector/api/synchronous}/__init__.py +0 -0
- {api/synchronous → megadetector/api/synchronous/api_core/animal_detection_api}/__init__.py +0 -0
- {api → megadetector/api}/synchronous/api_core/animal_detection_api/config.py +0 -0
- {api/synchronous/api_core/animal_detection_api → megadetector/api/synchronous/api_core/tests}/__init__.py +0 -0
- {api → megadetector/api}/synchronous/api_core/tests/load_test.py +0 -0
- {api/synchronous/api_core/tests → megadetector/classification}/__init__.py +0 -0
- {classification → megadetector/classification}/aggregate_classifier_probs.py +0 -0
- {classification → megadetector/classification}/csv_to_json.py +0 -0
- {classification → megadetector/classification}/efficientnet/__init__.py +0 -0
- {classification → megadetector/classification}/efficientnet/model.py +0 -0
- {classification → megadetector/classification}/efficientnet/utils.py +0 -0
- {classification → megadetector/classification}/identify_mislabeled_candidates.py +0 -0
- {classification → megadetector/classification}/prepare_classification_script.py +0 -0
- {classification → megadetector/classification}/prepare_classification_script_mc.py +0 -0
- {classification → megadetector/classification}/save_mislabeled.py +0 -0
- {classification → megadetector/data_management}/__init__.py +0 -0
- {data_management → megadetector/data_management/annotations}/__init__.py +0 -0
- {data_management → megadetector/data_management}/annotations/annotation_constants.py +0 -0
- {data_management → megadetector/data_management}/cct_to_wi.py +0 -0
- {data_management/annotations → megadetector/data_management/databases}/__init__.py +0 -0
- {data_management → megadetector/data_management}/databases/add_width_and_height_to_db.py +0 -0
- {data_management → megadetector/data_management}/databases/combine_coco_camera_traps_files.py +0 -0
- {data_management → megadetector/data_management}/databases/subset_json_db.py +0 -0
- {data_management → megadetector/data_management}/generate_crops_from_cct.py +0 -0
- {data_management → megadetector/data_management}/importers/add_nacti_sizes.py +0 -0
- {data_management → megadetector/data_management}/importers/add_timestamps_to_icct.py +0 -0
- {data_management → megadetector/data_management}/importers/animl_results_to_md_results.py +0 -0
- {data_management → megadetector/data_management}/importers/eMammal/copy_and_unzip_emammal.py +0 -0
- {data_management → megadetector/data_management}/importers/eMammal/eMammal_helpers.py +0 -0
- {data_management → megadetector/data_management}/importers/eMammal/make_eMammal_json.py +0 -0
- {data_management → megadetector/data_management}/importers/mcgill_to_json.py +0 -0
- {data_management → megadetector/data_management}/importers/nacti_fieldname_adjustments.py +0 -0
- {data_management → megadetector/data_management}/importers/plot_wni_giraffes.py +0 -0
- {data_management → megadetector/data_management}/importers/snapshotserengeti/make_full_SS_json.py +0 -0
- {data_management → megadetector/data_management}/importers/snapshotserengeti/make_per_season_SS_json.py +0 -0
- {data_management → megadetector/data_management}/importers/sulross_get_exif.py +0 -0
- {data_management → megadetector/data_management}/importers/zamba_results_to_md_results.py +0 -0
- {data_management/databases → megadetector/data_management/lila}/__init__.py +0 -0
- {data_management → megadetector/data_management}/lila/add_locations_to_nacti.py +0 -0
- {data_management/lila → megadetector/detection}/__init__.py +0 -0
- {detection → megadetector/detection/detector_training}/__init__.py +0 -0
- {api/synchronous/api_core/animal_detection_api → megadetector}/detection/detector_training/model_main_tf2.py +0 -0
- {detection/detector_training → megadetector/postprocessing}/__init__.py +0 -0
- {md_utils → megadetector/taxonomy_mapping}/__init__.py +0 -0
- {taxonomy_mapping → megadetector/taxonomy_mapping}/prepare_lila_taxonomy_release.py +0 -0
- {taxonomy_mapping → megadetector/taxonomy_mapping}/taxonomy_graph.py +0 -0
- {md_visualization → megadetector/utils}/__init__.py +0 -0
- {md_utils → megadetector/utils}/ct_utils.py +0 -0
- {md_utils → megadetector/utils}/path_utils.py +0 -0
- {md_utils → megadetector/utils}/process_utils.py +0 -0
- {md_utils → megadetector/utils}/sas_blob_utils.py +0 -0
- {md_utils → megadetector/utils}/string_utils.py +0 -0
- {md_utils → megadetector/utils}/url_utils.py +0 -0
- {taxonomy_mapping → megadetector/visualization}/__init__.py +0 -0
- {md_visualization → megadetector/visualization}/plot_utils.py +0 -0
- {megadetector-5.0.10.dist-info → megadetector-5.0.12.dist-info}/WHEEL +0 -0
|
@@ -8,14 +8,18 @@ Requires azure-storage-blob>=12.4.0
|
|
|
8
8
|
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
|
+
#%% Imports
|
|
12
|
+
|
|
11
13
|
import json
|
|
12
|
-
from md_utils import path_utils
|
|
13
|
-
from typing import Any, Iterable, List, Optional, Tuple, Union
|
|
14
14
|
|
|
15
|
+
from typing import Any, Iterable, List, Optional, Tuple, Union
|
|
15
16
|
from azure.storage.blob import BlobPrefix, ContainerClient
|
|
16
17
|
|
|
17
|
-
from
|
|
18
|
+
from megadetector.utils import path_utils
|
|
19
|
+
from megadetector.utils import sas_blob_utils
|
|
20
|
+
|
|
18
21
|
|
|
22
|
+
#%% Functions
|
|
19
23
|
|
|
20
24
|
def walk_container(container_client: ContainerClient,
|
|
21
25
|
max_depth: int = -1,
|
|
@@ -337,8 +337,8 @@ def run_python_tests(options):
|
|
|
337
337
|
|
|
338
338
|
## Run inference on an image
|
|
339
339
|
|
|
340
|
-
from detection import run_detector
|
|
341
|
-
from
|
|
340
|
+
from megadetector.detection import run_detector
|
|
341
|
+
from megadetector.visualization import visualization_utils as vis_utils
|
|
342
342
|
model_file = 'MDV5A'
|
|
343
343
|
image_fn = os.path.join(options.scratch_dir,options.test_images[0])
|
|
344
344
|
model = run_detector.load_detector(model_file)
|
|
@@ -348,8 +348,8 @@ def run_python_tests(options):
|
|
|
348
348
|
|
|
349
349
|
## Run inference on a folder
|
|
350
350
|
|
|
351
|
-
from detection.run_detector_batch import load_and_run_detector_batch,write_results_to_file
|
|
352
|
-
from
|
|
351
|
+
from megadetector.detection.run_detector_batch import load_and_run_detector_batch,write_results_to_file
|
|
352
|
+
from megadetector.utils import path_utils
|
|
353
353
|
|
|
354
354
|
image_folder = os.path.join(options.scratch_dir,'md-test-images')
|
|
355
355
|
assert os.path.isdir(image_folder), 'Test image folder {} is not available'.format(image_folder)
|
|
@@ -447,11 +447,11 @@ def run_python_tests(options):
|
|
|
447
447
|
|
|
448
448
|
## Postprocess results
|
|
449
449
|
|
|
450
|
-
from
|
|
450
|
+
from megadetector.postprocessing.postprocess_batch_results import \
|
|
451
451
|
PostProcessingOptions,process_batch_results
|
|
452
452
|
postprocessing_options = PostProcessingOptions()
|
|
453
453
|
|
|
454
|
-
postprocessing_options.
|
|
454
|
+
postprocessing_options.md_results_file = inference_output_file
|
|
455
455
|
postprocessing_options.output_dir = os.path.join(options.scratch_dir,'postprocessing_output')
|
|
456
456
|
postprocessing_options.image_base_dir = image_folder
|
|
457
457
|
|
|
@@ -462,7 +462,7 @@ def run_python_tests(options):
|
|
|
462
462
|
|
|
463
463
|
## Partial RDE test
|
|
464
464
|
|
|
465
|
-
from
|
|
465
|
+
from megadetector.postprocessing.repeat_detection_elimination.repeat_detections_core import \
|
|
466
466
|
RepeatDetectionOptions,find_repeat_detections
|
|
467
467
|
|
|
468
468
|
rde_options = RepeatDetectionOptions()
|
|
@@ -485,7 +485,7 @@ def run_python_tests(options):
|
|
|
485
485
|
|
|
486
486
|
## Video test (single video)
|
|
487
487
|
|
|
488
|
-
from detection.process_video import ProcessVideoOptions, process_video
|
|
488
|
+
from megadetector.detection.process_video import ProcessVideoOptions, process_video
|
|
489
489
|
|
|
490
490
|
video_options = ProcessVideoOptions()
|
|
491
491
|
video_options.model_file = 'MDV5A'
|
|
@@ -521,7 +521,7 @@ def run_python_tests(options):
|
|
|
521
521
|
|
|
522
522
|
## Video test (folder)
|
|
523
523
|
|
|
524
|
-
from detection.process_video import ProcessVideoOptions, process_video_folder
|
|
524
|
+
from megadetector.detection.process_video import ProcessVideoOptions, process_video_folder
|
|
525
525
|
|
|
526
526
|
video_options = ProcessVideoOptions()
|
|
527
527
|
video_options.model_file = 'MDV5A'
|
|
@@ -589,9 +589,9 @@ def run_cli_tests(options):
|
|
|
589
589
|
image_fn = os.path.join(options.scratch_dir,options.test_images[0])
|
|
590
590
|
output_dir = os.path.join(options.scratch_dir,'single_image_test')
|
|
591
591
|
if options.cli_working_dir is None:
|
|
592
|
-
cmd = 'python -m detection.run_detector'
|
|
592
|
+
cmd = 'python -m megadetector.detection.run_detector'
|
|
593
593
|
else:
|
|
594
|
-
cmd = 'python detection/run_detector.py'
|
|
594
|
+
cmd = 'python megadetector/detection/run_detector.py'
|
|
595
595
|
cmd += ' {} --image_file {} --output_dir {}'.format(
|
|
596
596
|
model_file,image_fn,output_dir)
|
|
597
597
|
print('Running: {}'.format(cmd))
|
|
@@ -613,9 +613,9 @@ def run_cli_tests(options):
|
|
|
613
613
|
assert os.path.isdir(image_folder), 'Test image folder {} is not available'.format(image_folder)
|
|
614
614
|
inference_output_file = os.path.join(options.scratch_dir,'folder_inference_output.json')
|
|
615
615
|
if options.cli_working_dir is None:
|
|
616
|
-
cmd = 'python -m detection.run_detector_batch'
|
|
616
|
+
cmd = 'python -m megadetector.detection.run_detector_batch'
|
|
617
617
|
else:
|
|
618
|
-
cmd = 'python detection/run_detector_batch.py'
|
|
618
|
+
cmd = 'python megadetector/detection/run_detector_batch.py'
|
|
619
619
|
cmd += ' {} {} {} --recursive'.format(
|
|
620
620
|
model_file,image_folder,inference_output_file)
|
|
621
621
|
cmd += ' --output_relative_filenames --quiet --include_image_size'
|
|
@@ -634,9 +634,9 @@ def run_cli_tests(options):
|
|
|
634
634
|
postprocessing_output_dir = os.path.join(options.scratch_dir,'postprocessing_output_cli')
|
|
635
635
|
|
|
636
636
|
if options.cli_working_dir is None:
|
|
637
|
-
cmd = 'python -m
|
|
637
|
+
cmd = 'python -m megadetector.postprocessing.postprocess_batch_results'
|
|
638
638
|
else:
|
|
639
|
-
cmd = 'python
|
|
639
|
+
cmd = 'python megadetector/postprocessing/postprocess_batch_results.py'
|
|
640
640
|
cmd += ' {} {}'.format(
|
|
641
641
|
inference_output_file,postprocessing_output_dir)
|
|
642
642
|
cmd += ' --image_base_dir {}'.format(image_folder)
|
|
@@ -649,9 +649,9 @@ def run_cli_tests(options):
|
|
|
649
649
|
rde_output_dir = os.path.join(options.scratch_dir,'rde_output_cli')
|
|
650
650
|
|
|
651
651
|
if options.cli_working_dir is None:
|
|
652
|
-
cmd = 'python -m
|
|
652
|
+
cmd = 'python -m megadetector.postprocessing.repeat_detection_elimination.find_repeat_detections'
|
|
653
653
|
else:
|
|
654
|
-
cmd = 'python
|
|
654
|
+
cmd = 'python megadetector/postprocessing/repeat_detection_elimination/find_repeat_detections.py'
|
|
655
655
|
cmd += ' {}'.format(inference_output_file)
|
|
656
656
|
cmd += ' --imageBase {}'.format(image_folder)
|
|
657
657
|
cmd += ' --outputBase {}'.format(rde_output_dir)
|
|
@@ -671,9 +671,9 @@ def run_cli_tests(options):
|
|
|
671
671
|
filtered_output_file = inference_output_file.replace('.json','_filtered.json')
|
|
672
672
|
|
|
673
673
|
if options.cli_working_dir is None:
|
|
674
|
-
cmd = 'python -m
|
|
674
|
+
cmd = 'python -m megadetector.postprocessing.repeat_detection_elimination.remove_repeat_detections'
|
|
675
675
|
else:
|
|
676
|
-
cmd = 'python
|
|
676
|
+
cmd = 'python megadetector/postprocessing/repeat_detection_elimination/remove_repeat_detections.py'
|
|
677
677
|
cmd += ' {} {} {}'.format(inference_output_file,filtered_output_file,filtering_output_dir)
|
|
678
678
|
print('Running: {}'.format(cmd))
|
|
679
679
|
cmd_results = execute_and_print(cmd)
|
|
@@ -688,9 +688,9 @@ def run_cli_tests(options):
|
|
|
688
688
|
tiling_folder = os.path.join(options.scratch_dir,'tiling-folder')
|
|
689
689
|
inference_output_file_tiled = os.path.join(options.scratch_dir,'folder_inference_output_tiled.json')
|
|
690
690
|
if options.cli_working_dir is None:
|
|
691
|
-
cmd = 'python -m detection.run_tiled_inference'
|
|
691
|
+
cmd = 'python -m megadetector.detection.run_tiled_inference'
|
|
692
692
|
else:
|
|
693
|
-
cmd = 'python detection/run_tiled_inference.py'
|
|
693
|
+
cmd = 'python megadetector/detection/run_tiled_inference.py'
|
|
694
694
|
cmd += ' {} {} {} {}'.format(
|
|
695
695
|
model_file,image_folder,tiling_folder,inference_output_file_tiled)
|
|
696
696
|
cmd += ' --overwrite_handling overwrite'
|
|
@@ -714,9 +714,9 @@ def run_cli_tests(options):
|
|
|
714
714
|
yolo_symlink_folder = os.path.join(options.scratch_dir,'yolo-symlink_folder')
|
|
715
715
|
inference_output_file_yolo_val = os.path.join(options.scratch_dir,'folder_inference_output_yolo_val.json')
|
|
716
716
|
if options.cli_working_dir is None:
|
|
717
|
-
cmd = 'python -m detection.run_inference_with_yolov5_val'
|
|
717
|
+
cmd = 'python -m megadetector.detection.run_inference_with_yolov5_val'
|
|
718
718
|
else:
|
|
719
|
-
cmd = 'python detection/run_inference_with_yolov5_val.py'
|
|
719
|
+
cmd = 'python megadetector/detection/run_inference_with_yolov5_val.py'
|
|
720
720
|
cmd += ' {} {} {}'.format(
|
|
721
721
|
model_file,image_folder,inference_output_file_yolo_val)
|
|
722
722
|
cmd += ' --yolo_working_folder {}'.format(options.yolo_working_folder)
|
|
@@ -745,9 +745,9 @@ def run_cli_tests(options):
|
|
|
745
745
|
video_fn = os.path.join(options.scratch_dir,options.test_videos[-1])
|
|
746
746
|
output_dir = os.path.join(options.scratch_dir,'single_video_test_cli')
|
|
747
747
|
if options.cli_working_dir is None:
|
|
748
|
-
cmd = 'python -m detection.process_video'
|
|
748
|
+
cmd = 'python -m megadetector.detection.process_video'
|
|
749
749
|
else:
|
|
750
|
-
cmd = 'python detection/process_video.py'
|
|
750
|
+
cmd = 'python megadetector/detection/process_video.py'
|
|
751
751
|
cmd += ' {} {}'.format(model_file,video_fn)
|
|
752
752
|
cmd += ' --frame_folder {} --frame_rendering_folder {} --output_json_file {} --output_video_file {}'.format(
|
|
753
753
|
frame_folder,frame_rendering_folder,video_inference_output_file,output_video_file)
|
|
@@ -765,9 +765,9 @@ def run_cli_tests(options):
|
|
|
765
765
|
model_file = 'MDV5B'
|
|
766
766
|
inference_output_file_alt = os.path.join(options.scratch_dir,'folder_inference_output_alt.json')
|
|
767
767
|
if options.cli_working_dir is None:
|
|
768
|
-
cmd = 'python -m detection.run_detector_batch'
|
|
768
|
+
cmd = 'python -m megadetector.detection.run_detector_batch'
|
|
769
769
|
else:
|
|
770
|
-
cmd = 'python detection/run_detector_batch.py'
|
|
770
|
+
cmd = 'python megadetector/detection/run_detector_batch.py'
|
|
771
771
|
cmd += ' {} {} {} --recursive'.format(
|
|
772
772
|
model_file,image_folder,inference_output_file_alt)
|
|
773
773
|
cmd += ' --output_relative_filenames --quiet --include_image_size'
|
|
@@ -786,9 +786,9 @@ def run_cli_tests(options):
|
|
|
786
786
|
results_files_string = '"{}" "{}"'.format(
|
|
787
787
|
inference_output_file,inference_output_file_alt)
|
|
788
788
|
if options.cli_working_dir is None:
|
|
789
|
-
cmd = 'python -m
|
|
789
|
+
cmd = 'python -m megadetector.postprocessing.compare_batch_results'
|
|
790
790
|
else:
|
|
791
|
-
cmd = 'python
|
|
791
|
+
cmd = 'python megadetector/postprocessing/compare_batch_results.py'
|
|
792
792
|
cmd += ' {} {} {}'.format(comparison_output_folder,image_folder,results_files_string)
|
|
793
793
|
print('Running: {}'.format(cmd))
|
|
794
794
|
cmd_results = execute_and_print(cmd)
|
|
@@ -15,8 +15,8 @@ import random
|
|
|
15
15
|
|
|
16
16
|
from PIL import Image
|
|
17
17
|
|
|
18
|
-
from
|
|
19
|
-
from
|
|
18
|
+
from megadetector.visualization import visualization_utils as vis_utils
|
|
19
|
+
from megadetector.utils import path_utils
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
#%% Support functions
|
|
@@ -268,7 +268,7 @@ def main():
|
|
|
268
268
|
cropped_grid_width,
|
|
269
269
|
output_image_filename, 'right')
|
|
270
270
|
|
|
271
|
-
from
|
|
271
|
+
from megadetector.utils import path_utils
|
|
272
272
|
path_utils.open_file(output_image_filename)
|
|
273
273
|
|
|
274
274
|
if __name__ == '__main__':
|
|
@@ -21,11 +21,10 @@ from multiprocessing.pool import Pool
|
|
|
21
21
|
from tqdm import tqdm
|
|
22
22
|
from functools import partial
|
|
23
23
|
|
|
24
|
-
from
|
|
25
|
-
|
|
26
|
-
from data_management.annotations import
|
|
27
|
-
|
|
28
|
-
detector_bbox_category_id_to_name)
|
|
24
|
+
from megadetector.utils.path_utils import find_images
|
|
25
|
+
from megadetector.data_management.annotations import annotation_constants
|
|
26
|
+
from megadetector.data_management.annotations.annotation_constants import \
|
|
27
|
+
detector_bbox_category_id_to_name
|
|
29
28
|
|
|
30
29
|
ImageFile.LOAD_TRUNCATED_IMAGES = True
|
|
31
30
|
|
|
@@ -1510,7 +1509,7 @@ if False:
|
|
|
1510
1509
|
|
|
1511
1510
|
#%% Recursive resize test
|
|
1512
1511
|
|
|
1513
|
-
from
|
|
1512
|
+
from megadetector.visualization.visualization_utils import resize_image_folder # noqa
|
|
1514
1513
|
|
|
1515
1514
|
input_folder = r"C:\temp\resize-test\in"
|
|
1516
1515
|
output_folder = r"C:\temp\resize-test\out"
|
|
@@ -1522,7 +1521,7 @@ if False:
|
|
|
1522
1521
|
|
|
1523
1522
|
#%% Integrity checking test
|
|
1524
1523
|
|
|
1525
|
-
from
|
|
1524
|
+
from megadetector.utils import md_tests
|
|
1526
1525
|
options = md_tests.download_test_data()
|
|
1527
1526
|
folder = options.scratch_dir
|
|
1528
1527
|
|
|
@@ -28,10 +28,9 @@ from multiprocessing.pool import ThreadPool
|
|
|
28
28
|
from multiprocessing.pool import Pool
|
|
29
29
|
from tqdm import tqdm
|
|
30
30
|
|
|
31
|
-
from
|
|
32
|
-
from data_management.cct_json_utils import IndexedJsonDb
|
|
33
|
-
|
|
34
|
-
import md_visualization.visualization_utils as vis_utils
|
|
31
|
+
from megadetector.utils.write_html_image_list import write_html_image_list
|
|
32
|
+
from megadetector.data_management.cct_json_utils import IndexedJsonDb
|
|
33
|
+
from megadetector.visualization import visualization_utils as vis_utils
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
#%% Settings
|
|
@@ -14,18 +14,17 @@ import json
|
|
|
14
14
|
import os
|
|
15
15
|
import random
|
|
16
16
|
import sys
|
|
17
|
+
|
|
17
18
|
from multiprocessing.pool import ThreadPool
|
|
18
19
|
from multiprocessing.pool import Pool
|
|
19
|
-
from typing import List
|
|
20
20
|
from functools import partial
|
|
21
|
-
|
|
22
21
|
from tqdm import tqdm
|
|
23
22
|
|
|
24
|
-
from data_management.annotations.annotation_constants import detector_bbox_category_id_to_name
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from
|
|
28
|
-
from detection.run_detector import get_typical_confidence_threshold_from_results
|
|
23
|
+
from megadetector.data_management.annotations.annotation_constants import detector_bbox_category_id_to_name
|
|
24
|
+
from megadetector.visualization import visualization_utils as vis_utils
|
|
25
|
+
from megadetector.utils.ct_utils import get_max_conf
|
|
26
|
+
from megadetector.utils import write_html_image_list
|
|
27
|
+
from megadetector.detection.run_detector import get_typical_confidence_threshold_from_results
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
#%% Constants
|
|
@@ -355,7 +354,7 @@ def main():
|
|
|
355
354
|
html_output_file=args.html_output_file)
|
|
356
355
|
|
|
357
356
|
if args.html_output_file is not None and args.open_html_output_file:
|
|
358
|
-
from
|
|
357
|
+
from megadetector.utils.path_utils import open_file
|
|
359
358
|
open_file(args.html_output_file)
|
|
360
359
|
|
|
361
360
|
if __name__ == '__main__':
|
|
@@ -402,5 +401,5 @@ if False:
|
|
|
402
401
|
parallelize_rendering_n_cores,
|
|
403
402
|
parallelize_rendering_with_threads)
|
|
404
403
|
|
|
405
|
-
from
|
|
406
|
-
open_file(html_output_file)
|
|
404
|
+
from megadetector.utils.path_utils import open_file
|
|
405
|
+
open_file(html_output_file)
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: megadetector
|
|
3
|
-
Version: 5.0.
|
|
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
|
|
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
|
|
95
|
-
from
|
|
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
|
|
117
|
-
|
|
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
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
megadetector/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
megadetector/api/batch_processing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
megadetector/api/batch_processing/api_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
megadetector/api/batch_processing/api_core/server.py,sha256=BNqM5EK29B0haCW7rdeOzVqcCJDziZiD0Etc1mPs56c,11668
|
|
5
|
+
megadetector/api/batch_processing/api_core/server_api_config.py,sha256=G8X5wgqEXPrWWQpgDI9ua-JktiUgy9mOpEltXSIazLQ,3318
|
|
6
|
+
megadetector/api/batch_processing/api_core/server_app_config.py,sha256=tQCFsFv0wJCegHfnu-Za3okdXwEd4U522hiM0YGNkMY,1860
|
|
7
|
+
megadetector/api/batch_processing/api_core/server_batch_job_manager.py,sha256=K7fMFBJA8Z1SkA4eBM-nymcq7VQjwZ6ZRaNnNKFlat8,10324
|
|
8
|
+
megadetector/api/batch_processing/api_core/server_job_status_table.py,sha256=3fJrdyeoVLGbbbdKy7cAVL_ZHbCmCQ2o5D26jBBQRJo,6239
|
|
9
|
+
megadetector/api/batch_processing/api_core/server_orchestration.py,sha256=LYHABzhOvP0NrM1VIjI6Vwb95YZ5xjQ52mUJW8oIOQ0,17003
|
|
10
|
+
megadetector/api/batch_processing/api_core/server_utils.py,sha256=oFusP1E29op5DN1nEaR-jQZgRExqMDdzmRL6BHj8EDk,3314
|
|
11
|
+
megadetector/api/batch_processing/api_core/batch_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
megadetector/api/batch_processing/api_core/batch_service/score.py,sha256=_hjUBIe0s9wmpmQwwDg-fd7tJMCn8735zJcgF15mTFo,17354
|
|
13
|
+
megadetector/api/batch_processing/api_core_support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
+
megadetector/api/batch_processing/api_core_support/aggregate_results_manually.py,sha256=pPLRVb54kMzcndiRQx0JGna3v9cSX__hBc_7PZ8NFEU,2274
|
|
15
|
+
megadetector/api/batch_processing/api_support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
+
megadetector/api/batch_processing/api_support/summarize_daily_activity.py,sha256=5H3DyXtdIW5uCp09Fbu9Tdf0hgfNKYnzv7v8Q7CPsDc,5382
|
|
17
|
+
megadetector/api/batch_processing/data_preparation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
+
megadetector/api/batch_processing/integration/digiKam/setup.py,sha256=7P1X3JYrBDXmLUeLRrzxNfDkL5lo-pY8nXsp9Cz8rOI,203
|
|
19
|
+
megadetector/api/batch_processing/integration/digiKam/xmp_integration.py,sha256=zk5s7dD-FIkNnRxECT-0TAuBw7R__Or5_ft7Ha3iqMM,17774
|
|
20
|
+
megadetector/api/batch_processing/integration/eMammal/test_scripts/config_template.py,sha256=UnvrgaFRBu59MuVUJa2WpG8ebcOJWcNeZEx6GWuYLzc,73
|
|
21
|
+
megadetector/api/batch_processing/integration/eMammal/test_scripts/push_annotations_to_emammal.py,sha256=_mfKTNfLtQKaOK5YuG5mTm_Q_24_0K4wR3eLzJwXVPs,3607
|
|
22
|
+
megadetector/api/batch_processing/integration/eMammal/test_scripts/select_images_for_testing.py,sha256=OYMu97p8vprSv03QcnS6aSxPBocn9sgaozfUqq_JpyM,1369
|
|
23
|
+
megadetector/api/synchronous/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
+
megadetector/api/synchronous/api_core/animal_detection_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
megadetector/api/synchronous/api_core/animal_detection_api/api_backend.py,sha256=6fo9k1byFZdxeHzov-qNFD1ZMClXPIG-BBUlZlbHoMw,4929
|
|
26
|
+
megadetector/api/synchronous/api_core/animal_detection_api/api_frontend.py,sha256=aV522pnD__xtk902JHULOrLrq0lVM7JTC5AUKNPmtBk,10417
|
|
27
|
+
megadetector/api/synchronous/api_core/animal_detection_api/config.py,sha256=05fVcLx0KK3wWFi62Mr-m_soewVn81qqeObUh-a2mrA,982
|
|
28
|
+
megadetector/api/synchronous/api_core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
+
megadetector/api/synchronous/api_core/tests/load_test.py,sha256=bxyk3Oufl0V79vRsCPeRtWlE2o2KRtVgiqs7TSyP-iU,3277
|
|
30
|
+
megadetector/classification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
megadetector/classification/aggregate_classifier_probs.py,sha256=gj6PBCe12Z05r3FbOHXuNJHPWyIogoQJvt4kFzApOqg,3429
|
|
32
|
+
megadetector/classification/analyze_failed_images.py,sha256=boY5MupCWEceHHpiJ4au7Rhz8bzmABlTz2B5w08V2qQ,8446
|
|
33
|
+
megadetector/classification/cache_batchapi_outputs.py,sha256=PvbQZYjskIUlzqQl3TDs0bptqCS37rmU14Ix9a5TPRE,6308
|
|
34
|
+
megadetector/classification/create_classification_dataset.py,sha256=bxj3SRyARQfP2ohRT7zEdge_hfs8iBnDETGQWcvNBuI,25467
|
|
35
|
+
megadetector/classification/crop_detections.py,sha256=gFqUch8iapeqlgSU7VSDBB3LgetyyfX5xU3lI9o4Ulk,20438
|
|
36
|
+
megadetector/classification/csv_to_json.py,sha256=hXxUqM92e9AtZVk_BkkjHNi2gMkXHpwmDnYv_uplLxA,5889
|
|
37
|
+
megadetector/classification/detect_and_crop.py,sha256=1rdR9uEURwNO6CAPdRuOc3SmiBLNMwYPUYcMaV3mLWI,37029
|
|
38
|
+
megadetector/classification/evaluate_model.py,sha256=ed6LrBo-U49Q_0tbaEExVZI3GOdA1BVUnc01WwCDUzU,19320
|
|
39
|
+
megadetector/classification/identify_mislabeled_candidates.py,sha256=zOWHmWeaiOpM9c0s1uHOKgxJSHyJJR-oAM4R6f1c7T0,5032
|
|
40
|
+
megadetector/classification/json_to_azcopy_list.py,sha256=146gUlCOMw5oaiZzNR2z0q1-gn6q56hkxIfY4lMiPVE,1670
|
|
41
|
+
megadetector/classification/json_validator.py,sha256=uLHWs9X1r_Hi5Gq7zqpQYl6mDc_7M2KAnbmU5Hu_EXs,26553
|
|
42
|
+
megadetector/classification/map_classification_categories.py,sha256=2vAfbVnVtyq38SuHpdo3H_kjt8ZGc6FUOyl50VxHjMM,10679
|
|
43
|
+
megadetector/classification/merge_classification_detection_output.py,sha256=UxoEw1wvuv2ZsvpAbCqlxwkphy__CmKb-8YDnaLrLIk,20021
|
|
44
|
+
megadetector/classification/prepare_classification_script.py,sha256=zE8j3wi8YJBkEnuqkIb-SK8xoEnAu-XtlkSiO8-zpdQ,6510
|
|
45
|
+
megadetector/classification/prepare_classification_script_mc.py,sha256=zQV6Vlr0cQxPrFLNk33RlPKAFPA4VuhlHsz-FtAIWv4,7190
|
|
46
|
+
megadetector/classification/run_classifier.py,sha256=8PtkQzCUceOyoYxMfriJzA9ZLz_-YAd3OEr2865i3SM,9339
|
|
47
|
+
megadetector/classification/save_mislabeled.py,sha256=gNcMK7zVo-Q4XChiB-zVJMcwE6uDz6r4EgQA0KaE5sI,3408
|
|
48
|
+
megadetector/classification/train_classifier.py,sha256=Ps-I7clNZsXht8yLjXP2ZSiqCMZqXYhzuldSkPsuW64,32338
|
|
49
|
+
megadetector/classification/train_classifier_tf.py,sha256=aounVoV20Iz1X5VZzKfJEacUeXfA8o6DBGm0yrxPT08,28091
|
|
50
|
+
megadetector/classification/train_utils.py,sha256=5XnwPGtIjtDFu4xend8BH97zYhulUhF0BJHA-uYzojg,11333
|
|
51
|
+
megadetector/classification/efficientnet/__init__.py,sha256=e-jfknjzCc5a0CSW-TaZ2vi0SPU1OMIsayoz2s94QAo,182
|
|
52
|
+
megadetector/classification/efficientnet/model.py,sha256=qJHWV9-rYKa4E_TIee5N_OjRhqDdM-icPpoMap3Q5HM,17040
|
|
53
|
+
megadetector/classification/efficientnet/utils.py,sha256=TF5S2cn2lvlCO2dFhdFPdzjbBBs-SyZGZmEx_dsJMbo,24846
|
|
54
|
+
megadetector/data_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
+
megadetector/data_management/camtrap_dp_to_coco.py,sha256=DLiGrSdndiEIUi1lF-kc-HsQVt3ouCWOQ3sthDw-Ais,8635
|
|
56
|
+
megadetector/data_management/cct_json_utils.py,sha256=eCyypfQ1K21IoPDp3aYumm9WyiprNoqZAlMN8AVVKls,14795
|
|
57
|
+
megadetector/data_management/cct_to_md.py,sha256=BvQ24XlYhgMYFcsvo6btR1k1UsiPL1vBoxegooJbxdA,5070
|
|
58
|
+
megadetector/data_management/cct_to_wi.py,sha256=hnFErIlBDmhZtBv21kDW14MSdHlUjwtCGn2vnG-cN34,9771
|
|
59
|
+
megadetector/data_management/coco_to_labelme.py,sha256=7HIk8N3gkGz85hffTYvzoPMw_XaCbAjvyruoMoxiFU8,8314
|
|
60
|
+
megadetector/data_management/coco_to_yolo.py,sha256=rTDOh3XdoOoo7HCSH7obT3xpQgiSykf71ba8uOXfnxc,28121
|
|
61
|
+
megadetector/data_management/generate_crops_from_cct.py,sha256=Esq2Vlvp1AQvD8bmtC15OvoTZTHASBfcIVIuisxXT08,4383
|
|
62
|
+
megadetector/data_management/get_image_sizes.py,sha256=2b6arj4gvoN-9f61lC3t1zAFFwYFxfb2iL83Tstoiik,6602
|
|
63
|
+
megadetector/data_management/labelme_to_coco.py,sha256=8RUXALXbLpmS7UYUet4BAe9JVSDW7ojwDDpxYs072ZI,21231
|
|
64
|
+
megadetector/data_management/labelme_to_yolo.py,sha256=dRePSOwU_jiCr0EakDQCz1Ct-ZHDxDglUk4HbM1LfWc,10034
|
|
65
|
+
megadetector/data_management/ocr_tools.py,sha256=sdOu1hCnQrohtoKDhSdMcmQPKrTp9EpbFRfXx0Bph74,32562
|
|
66
|
+
megadetector/data_management/read_exif.py,sha256=bMMzZYP8p5Ey1MglJo3fz2NeSV1l90GiTWQGxalKfNw,22765
|
|
67
|
+
megadetector/data_management/remap_coco_categories.py,sha256=xXWv0QhTjkUfc9RKtAZanK77HMSq_21mFg_34KFD6hw,2903
|
|
68
|
+
megadetector/data_management/remove_exif.py,sha256=9YwMUliszhVzkkUcotpRKA-a3h5WdQF1taQ594Bgm60,1666
|
|
69
|
+
megadetector/data_management/resize_coco_dataset.py,sha256=AaiV7efIcNnqsXsnQckmHq2G__7ZQHBV_jN6rhZfMjo,6810
|
|
70
|
+
megadetector/data_management/wi_download_csv_to_coco.py,sha256=8UJRlu1JAhKcIl-wydq54k037htCMrXBZVDHDYMZm8A,8340
|
|
71
|
+
megadetector/data_management/yolo_output_to_md_output.py,sha256=cxIeEcqhPOdLGYnNcT-yYnFg-yXD5wIcYJX5TGNWeEg,17305
|
|
72
|
+
megadetector/data_management/yolo_to_coco.py,sha256=G9XiB9D8PWaCq_kc61pKe2GkkuKwdJ7K7zsbGShb_jw,25176
|
|
73
|
+
megadetector/data_management/annotations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
74
|
+
megadetector/data_management/annotations/annotation_constants.py,sha256=1597MpAr_HdidIHoDFj4RgUO3K5e2Xm2bGafGeonR2k,953
|
|
75
|
+
megadetector/data_management/databases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
|
+
megadetector/data_management/databases/add_width_and_height_to_db.py,sha256=X7A_iniGwlkhZ0jUNm564GT_mH2_RJGLD0aGP9cBhY0,749
|
|
77
|
+
megadetector/data_management/databases/combine_coco_camera_traps_files.py,sha256=oeELrMgxhsJ6aNBxPQyu4CmsdtYnzS5GKZEV8U-XUdk,6693
|
|
78
|
+
megadetector/data_management/databases/integrity_check_json_db.py,sha256=RNUz6A24UwBzRIbolzXIPic3Q5LFaaCHcAJP1arap2I,16305
|
|
79
|
+
megadetector/data_management/databases/subset_json_db.py,sha256=JK71qSUpUZe7cJquyt2xEzirDoZq1Lrr2X0cgtHKBpA,3219
|
|
80
|
+
megadetector/data_management/importers/add_nacti_sizes.py,sha256=jjGTpd36g5w7nLIeOatXRwu1Uti2GiGgP3-61QSg8oA,1156
|
|
81
|
+
megadetector/data_management/importers/add_timestamps_to_icct.py,sha256=5l1TkWq3X4Mxed7zlZ07U1RQcjbzBnwcoftNiaruigM,2364
|
|
82
|
+
megadetector/data_management/importers/animl_results_to_md_results.py,sha256=duvQkfFzONYHdTsJrhHyufpamK55r41IjkjFuPY7WmE,4698
|
|
83
|
+
megadetector/data_management/importers/auckland_doc_test_to_json.py,sha256=tT4XnvY3c5idDkQByfN6Z646CNiCprS-75ytjbMbnVY,12911
|
|
84
|
+
megadetector/data_management/importers/auckland_doc_to_json.py,sha256=EoNsAJvzTwcgHspE05eO0LHazMVYM7-yzFBit0FiJWk,5970
|
|
85
|
+
megadetector/data_management/importers/awc_to_json.py,sha256=e1HjShGS2WC-l99FV89g1u0o2v5990Vh9XsjIukg6qQ,5327
|
|
86
|
+
megadetector/data_management/importers/bellevue_to_json.py,sha256=oJMSF0r_snRXtppiwFy4vvP8gErEw6_7Kv1UJs59QLo,7919
|
|
87
|
+
megadetector/data_management/importers/cacophony-thermal-importer.py,sha256=YauLjRDwMaML3MpVJvon308bcO14r956iClKNwDsIDs,28640
|
|
88
|
+
megadetector/data_management/importers/carrizo_shrubfree_2018.py,sha256=ah14pfzLuDUph--qUqRqvWszOFY245rsIfAgCEF7F_I,7858
|
|
89
|
+
megadetector/data_management/importers/carrizo_trail_cam_2017.py,sha256=gwpL0sM82A6UBn2qWilP15D-1lOzQchZuhxXMzZ_7Ws,8862
|
|
90
|
+
megadetector/data_management/importers/cct_field_adjustments.py,sha256=wQmcntZNpHYRGjZvOcXqPxhAGdn1pDZa1pAXgTAyKmI,1348
|
|
91
|
+
megadetector/data_management/importers/channel_islands_to_cct.py,sha256=yEhfdgrY7omQnhjn-q17C96uilNTI5M2EqYBFKEVxJU,29488
|
|
92
|
+
megadetector/data_management/importers/ena24_to_json.py,sha256=7lv3Oe7mS4G1JEzagf8Pa4FMTqIu4ZGmn2AVykpJGXA,8270
|
|
93
|
+
megadetector/data_management/importers/filenames_to_json.py,sha256=Jc_FydTiZWsB6WZp0UdVsmtAMTDNy8SHuEKaUI2glnM,10521
|
|
94
|
+
megadetector/data_management/importers/helena_to_cct.py,sha256=IVTXXxDDxtbvYZaABCmnYWi2ZJ_1xpAXQG1TjOhRuVE,8712
|
|
95
|
+
megadetector/data_management/importers/idaho-camera-traps.py,sha256=9BpMwygyN8OLimGsHIodNrikVgSK9SGkZJ0c10GxT-0,54112
|
|
96
|
+
megadetector/data_management/importers/idfg_iwildcam_lila_prep.py,sha256=ql0fnO-IZuyT4611n8oYlTMDibhiDLDES1za1o6BEck,8194
|
|
97
|
+
megadetector/data_management/importers/jb_csv_to_json.py,sha256=IPoXwdz2OhrjMyK1Yv98PVmAD4VBZ9prSuXhx1xLfcg,3726
|
|
98
|
+
megadetector/data_management/importers/mcgill_to_json.py,sha256=dfSxU1hHimyGT6Zt64XFrW63GWGsdKpqRrp5PE--xUw,6702
|
|
99
|
+
megadetector/data_management/importers/missouri_to_json.py,sha256=C0ia3eCEZujVUKE2gmQc6ScsK8kXWM7m0ibeKgHfXNo,14848
|
|
100
|
+
megadetector/data_management/importers/nacti_fieldname_adjustments.py,sha256=1oDCSuFXhc2b7JPIzkSb3DkusacdAjMM2GQZnhfFQCg,2027
|
|
101
|
+
megadetector/data_management/importers/noaa_seals_2019.py,sha256=oar378j46fm27ygcbjrgN1rbq6h1SC8utAdSPNqiQt4,5152
|
|
102
|
+
megadetector/data_management/importers/pc_to_json.py,sha256=VmVvY5Fr8jMLmRkDZI9CuyLvrNuLrspJA9Q8Auxbw1A,10762
|
|
103
|
+
megadetector/data_management/importers/plot_wni_giraffes.py,sha256=KdEjbItDOXbXj0fr0celfMp7z31Rr3S29SLWBCMY-4M,3772
|
|
104
|
+
megadetector/data_management/importers/prepare-noaa-fish-data-for-lila.py,sha256=Pq5tSKWTIGEAGxBiGaO5Tz0QvKZ6QgJTIQ3raDAhjkk,12435
|
|
105
|
+
megadetector/data_management/importers/prepare_zsl_imerit.py,sha256=ohrUaTXIGg1M4_liptWaPa-4g3yNvc1E4o_knfHSE-8,3775
|
|
106
|
+
megadetector/data_management/importers/rspb_to_json.py,sha256=y03v1d1un9mI3HZRCZinMB1pEkNvTb70S7Qkr3F76qg,9841
|
|
107
|
+
megadetector/data_management/importers/save_the_elephants_survey_A.py,sha256=lugw8m5Nh2Fhs-FYo9L0mDL3_29nAweLxEul6GekdkI,10669
|
|
108
|
+
megadetector/data_management/importers/save_the_elephants_survey_B.py,sha256=SWClXENsIePwifP8eJeRsj3kh3Bztl6Kzc_BdqNZvFw,11172
|
|
109
|
+
megadetector/data_management/importers/snapshot_safari_importer.py,sha256=dQ1GmpHcrQCQF9YZ0UaLTvc_3aOZEDqWGcxzYQeq4ho,23605
|
|
110
|
+
megadetector/data_management/importers/snapshot_safari_importer_reprise.py,sha256=cv2zOWmhvXPRM-ZFrzmYFjq0Y2fwo7PUN_UJ_T2aryo,22333
|
|
111
|
+
megadetector/data_management/importers/snapshot_serengeti_lila.py,sha256=-aYq_5IxhpcR6oxFYYVv98WVnGAr0mnVkbX-oJCPd8M,33865
|
|
112
|
+
megadetector/data_management/importers/sulross_get_exif.py,sha256=Bt1tGYtr5CllxCe2BL8uI3SfPu3e1SSqijnOz--iRqQ,2071
|
|
113
|
+
megadetector/data_management/importers/timelapse_csv_set_to_json.py,sha256=B9VbBltf3IdPBI2O1Cmg8wODhlIML4MQpjdhTFD4GP4,15916
|
|
114
|
+
megadetector/data_management/importers/ubc_to_json.py,sha256=UhZ2P6WlLioLEPkfo7N7f168GErz7hQld00SSqOQ_Zg,14881
|
|
115
|
+
megadetector/data_management/importers/umn_to_json.py,sha256=wCVgvz1x7gL67s1Avyx0NwBvwSjhNMcAwOnDHR0O5G0,16185
|
|
116
|
+
megadetector/data_management/importers/wellington_to_json.py,sha256=TQivUZSgD-PeudGRAsgmsYznxDVaOPbbV4V9scnmZFg,7688
|
|
117
|
+
megadetector/data_management/importers/wi_to_json.py,sha256=tdscGc8SQdRbtjsUVQyCBcxR7_TjPNb_A6OLLUhOe9I,13663
|
|
118
|
+
megadetector/data_management/importers/zamba_results_to_md_results.py,sha256=L0E_zwPyN8Lvn1ukOw95TQ-APM7fBki_2_eKJhC3HkE,5381
|
|
119
|
+
megadetector/data_management/importers/eMammal/copy_and_unzip_emammal.py,sha256=CoP8rZOuLDIIL5jajB4WLnMhum19Ol-UT4W25FiF3zE,6085
|
|
120
|
+
megadetector/data_management/importers/eMammal/eMammal_helpers.py,sha256=Sv6PBAMDdlgwiek6Q3R6Rjio2RjtA-JpfgBr_Fmr9kA,6838
|
|
121
|
+
megadetector/data_management/importers/eMammal/make_eMammal_json.py,sha256=6C_-6Qk-Xhz_87DEPHA-txw90AvXrybJy1PbQXQbqwo,6987
|
|
122
|
+
megadetector/data_management/importers/snapshotserengeti/make_full_SS_json.py,sha256=khE3W0pO3Uq-UCfrLW_rpzWqjLll2JoBc360XeAuUGc,4126
|
|
123
|
+
megadetector/data_management/importers/snapshotserengeti/make_per_season_SS_json.py,sha256=sAwvcR2siwblgY3LfTsbH4mXOXvJZCA246QIsQWuQBA,4316
|
|
124
|
+
megadetector/data_management/lila/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
|
+
megadetector/data_management/lila/add_locations_to_island_camera_traps.py,sha256=OQ-wn2YX0V96aw1EJxUAMYRnkv9G-dvHBU8ULQF-Tus,2583
|
|
126
|
+
megadetector/data_management/lila/add_locations_to_nacti.py,sha256=S4ty7lARf2O13_GWTX1pFYyixPCNecqUj6jpO3hOV2w,4849
|
|
127
|
+
megadetector/data_management/lila/create_lila_blank_set.py,sha256=SBwpM0-pycW37TESXaJlc2oo_qIxYJoOzHhmmnBHWWI,19826
|
|
128
|
+
megadetector/data_management/lila/create_lila_test_set.py,sha256=DjivKgsFJlO1IHezXrwAGpiCAhLVmvPnv2nJYpv1ABU,4835
|
|
129
|
+
megadetector/data_management/lila/create_links_to_md_results_files.py,sha256=MvaPBAgdwoxaNrRaKZ8mGaOCky1BYXlrT08tPG9BrpM,3803
|
|
130
|
+
megadetector/data_management/lila/download_lila_subset.py,sha256=rh09kphSCVPlUGuYY-CkSyd8dy0pBUdth6uHkZ84sEo,5345
|
|
131
|
+
megadetector/data_management/lila/generate_lila_per_image_labels.py,sha256=awfBLjVgwP39a2nySMZSAzcoAMHcblzYGlQVt2jP45E,18075
|
|
132
|
+
megadetector/data_management/lila/get_lila_annotation_counts.py,sha256=aOkjemasOqf1Uixu-yhaFKYyKILYRZQZi4GBW4sbtic,5602
|
|
133
|
+
megadetector/data_management/lila/get_lila_image_counts.py,sha256=UxXS5RDnSA_WbxE92qN-N7p-qR-jbyTsTZ7duLo06us,3620
|
|
134
|
+
megadetector/data_management/lila/lila_common.py,sha256=IEnGoyRgcqbek1qJ1gFE83p1Pg_5kaMS-nQI25lRWIs,10132
|
|
135
|
+
megadetector/data_management/lila/test_lila_metadata_urls.py,sha256=2zKNjgqC3kxdFfyvQC3KTlpc9lf2iMzecHQBf--r_Tk,4438
|
|
136
|
+
megadetector/detection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
137
|
+
megadetector/detection/process_video.py,sha256=Fufvtmmuf6huWdwet1d035BJHq2Sq7muIgLNVGS8Y0Y,29912
|
|
138
|
+
megadetector/detection/pytorch_detector.py,sha256=-sI1Bm4acNLDi63RaiPpuEM8_RDwDQ2LWHBVTtkr2RM,12727
|
|
139
|
+
megadetector/detection/run_detector.py,sha256=CxwCqE-T5ioQ1kb5Tn4HvzBMK0gvJwaAOl8HfDTWiVY,29745
|
|
140
|
+
megadetector/detection/run_detector_batch.py,sha256=MQ8cEVg92aTmysapPuj3JAr92HfnuopCHbDGoMZA7ko,52132
|
|
141
|
+
megadetector/detection/run_inference_with_yolov5_val.py,sha256=e0LRZ8J1VI3G3eVL6_y19i2j77ZUsLl-mf3i7oLde7U,36946
|
|
142
|
+
megadetector/detection/run_tiled_inference.py,sha256=vw0713eNuMiEOjHfweQl58zPHNxPOMdFWZ8bTDLhlMY,37883
|
|
143
|
+
megadetector/detection/tf_detector.py,sha256=5tdGXgF7bkeDJaXe4U34HD5z97xVzDpmYWqNK2AVf1o,7562
|
|
144
|
+
megadetector/detection/video_utils.py,sha256=vdetbPCHKccJZNt4sREVcHil6WyMgU3QXNWe4mgSJLg,22773
|
|
145
|
+
megadetector/detection/detector_training/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
|
+
megadetector/detection/detector_training/model_main_tf2.py,sha256=YwNsZ7hkIFaEuwKU0rHG_VyqiR_0E01BbdlD0Yx4Smo,4936
|
|
147
|
+
megadetector/postprocessing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
148
|
+
megadetector/postprocessing/add_max_conf.py,sha256=qTE1_0RwGAy6jLDkHrIo2pS84yNbUV11s4IZuAYGdIU,1514
|
|
149
|
+
megadetector/postprocessing/categorize_detections_by_size.py,sha256=RFTQrVM8FhIcwevBFKOiBv2epY4GzWHf-kIXyhyAUX8,5688
|
|
150
|
+
megadetector/postprocessing/combine_api_outputs.py,sha256=xCJHEKca8YW-mupEr0yNNwwSBeL9NvcV1w3VtEzN4lk,8535
|
|
151
|
+
megadetector/postprocessing/compare_batch_results.py,sha256=qLEqVpqaGa6tbEfToEZNyATaqXMvgBc7bLwgykAGpz4,38261
|
|
152
|
+
megadetector/postprocessing/convert_output_format.py,sha256=IGCWoIJ1Z9RUI9yqpbL3t5KThDiElM3czmiTyXty72c,15002
|
|
153
|
+
megadetector/postprocessing/load_api_results.py,sha256=FqcaiPMuqTojZOV3Jn14pJESpuwjWGbZtcvJuVXUaDM,6861
|
|
154
|
+
megadetector/postprocessing/md_to_coco.py,sha256=t8zHN3QmwxuvcQKxLd_yMSjwncxy7YEoq2EGr0kwBDs,11049
|
|
155
|
+
megadetector/postprocessing/md_to_labelme.py,sha256=hejMKVxaz_xdtsGDPTQkeWuis7gzT-VOrL2Qf8ym1x0,11703
|
|
156
|
+
megadetector/postprocessing/merge_detections.py,sha256=cpAeyWJjC6_Mf0wv9Qxo_zxp_xfgmrMIfeEhCEBKVe4,17173
|
|
157
|
+
megadetector/postprocessing/postprocess_batch_results.py,sha256=fl3a7Mc4l0OgRA5BLT_GgaC9WuDcoyf3hNW9fXIZeI4,77376
|
|
158
|
+
megadetector/postprocessing/remap_detection_categories.py,sha256=d9IYTa0i_KbbrarJc_mczABmdwypscl5-KpK8Hx_z8o,6640
|
|
159
|
+
megadetector/postprocessing/render_detection_confusion_matrix.py,sha256=_wsk4W0PbNiqmFuHy-EA0Z07B1tQLMsdCTPatnHAdZw,27382
|
|
160
|
+
megadetector/postprocessing/separate_detections_into_folders.py,sha256=k42gxnL8hbBiV0e2T-jmFrhxzIxnhi57Nx9cDSSL5s0,31218
|
|
161
|
+
megadetector/postprocessing/subset_json_detector_output.py,sha256=64nEOilaB0_B8o-unh7PCjyUkfDPQDcl2QGOuzkw5OI,26424
|
|
162
|
+
megadetector/postprocessing/top_folders_to_bottom.py,sha256=Dqk-KZXiRlIYlmLZmk6aUapmaaLJUKOf8wK1kxt9W6A,6283
|
|
163
|
+
megadetector/postprocessing/repeat_detection_elimination/find_repeat_detections.py,sha256=e4Y9CyMyd-bLN3il8tu76vI0nVYHZlhZr6vcL0J4zQ0,9832
|
|
164
|
+
megadetector/postprocessing/repeat_detection_elimination/remove_repeat_detections.py,sha256=tARPxuY0OyQgpKU2XqiQPko3f-hHnWuISB8ZlZgXwxI,2819
|
|
165
|
+
megadetector/postprocessing/repeat_detection_elimination/repeat_detections_core.py,sha256=qj9gcvXu_xdpvzIuPVyHfGegOO5R0bdYtXlI9gKrFcM,66513
|
|
166
|
+
megadetector/taxonomy_mapping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
167
|
+
megadetector/taxonomy_mapping/map_lila_taxonomy_to_wi_taxonomy.py,sha256=6D_YHTeWTs6O8S9ABog2t9-wfQSh9dW2k9XTqXUZKfo,17927
|
|
168
|
+
megadetector/taxonomy_mapping/map_new_lila_datasets.py,sha256=M-hRnQuqh5QhW-7LmTvYRex1Y2izQFSgEzb92gqqx1M,4062
|
|
169
|
+
megadetector/taxonomy_mapping/prepare_lila_taxonomy_release.py,sha256=N9TUgg3_2u4hc5OBRydvEpweC3RIJ9ry5bXoi1BXLAY,4676
|
|
170
|
+
megadetector/taxonomy_mapping/preview_lila_taxonomy.py,sha256=eYl7tjvSlEH7F7UsRm8YlljQAdITEQvjQb-1NyYbQK8,19583
|
|
171
|
+
megadetector/taxonomy_mapping/retrieve_sample_image.py,sha256=4cfWsLRwS_EwAmQr2p5tA_W6glBK71tSjPfaHxUZQWs,1979
|
|
172
|
+
megadetector/taxonomy_mapping/simple_image_download.py,sha256=_1dEGn4356mdQAy9yzkH5DntPO7-nQyYo2zm08ODpJc,6852
|
|
173
|
+
megadetector/taxonomy_mapping/species_lookup.py,sha256=B5arfF1OVICtTokVOtJcN8W2SxGmq46AO0SfA11Upt8,28291
|
|
174
|
+
megadetector/taxonomy_mapping/taxonomy_csv_checker.py,sha256=A_zPwzY-ERz6xawxgk2Tpfsycl-1sDcjUiuaXXBppi8,4850
|
|
175
|
+
megadetector/taxonomy_mapping/taxonomy_graph.py,sha256=ayrTFseVaIMbtMXhnjWCkZdxI5SAVe_BUtnanGewQpU,12263
|
|
176
|
+
megadetector/taxonomy_mapping/validate_lila_category_mappings.py,sha256=1qyZr23bvZSVUYLQnO1XAtIZ4jdpARA5dxt8euKVyOA,2527
|
|
177
|
+
megadetector/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
|
+
megadetector/utils/azure_utils.py,sha256=0BdnkG2hW-X0yFpsJqmBhOd2wysz_LvhuyImPJMVPJs,6271
|
|
179
|
+
megadetector/utils/ct_utils.py,sha256=mppmjTtRNGgnp0IBoXUPy5uNAanxpgPteVW5ACUi3vg,17847
|
|
180
|
+
megadetector/utils/directory_listing.py,sha256=r4rg2xA4O9ZVxVtzPZzXIXa0DOEukAJMTTNcNSiQcuM,9668
|
|
181
|
+
megadetector/utils/md_tests.py,sha256=FTNB-_5_gICkvbQZ9_m5aPoHc-5PeWokkKvFJ47qTcM,36018
|
|
182
|
+
megadetector/utils/path_utils.py,sha256=kVkz70tZM2RpNpuquqFCydL6ca5n3Grwh0Un2lHpXCA,35948
|
|
183
|
+
megadetector/utils/process_utils.py,sha256=uNzbijLk4lRqj2uU9zlUN8VuDeM4J7aLR2eb2O2-9ys,5226
|
|
184
|
+
megadetector/utils/sas_blob_utils.py,sha256=k76EcMmJc_otrEHcfV2fxAC6fNhxU88FxM3ddSYrsKU,16917
|
|
185
|
+
megadetector/utils/split_locations_into_train_val.py,sha256=jvaDu1xKB51L3Xq2nXQo0XtXRjNRf8RglBApl1g6gHo,10101
|
|
186
|
+
megadetector/utils/string_utils.py,sha256=ZQapJodzvTDyQhjZgMoMl3-9bqnKAUlORpws8Db9AkA,2050
|
|
187
|
+
megadetector/utils/url_utils.py,sha256=uJRsSMxA1zMd997dX3V3wqFnKMTcSiOaE_atXUTRRVI,11476
|
|
188
|
+
megadetector/utils/write_html_image_list.py,sha256=apzoWkgZWG-ybCT4k92PlS4-guN_sNBSMMMbj7Cfm1k,8638
|
|
189
|
+
megadetector/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
190
|
+
megadetector/visualization/plot_utils.py,sha256=lOfU3uPrcuHZagV_1SN8erT8PujIepocgw6KZ17Ej6c,10671
|
|
191
|
+
megadetector/visualization/render_images_with_thumbnails.py,sha256=kgJYW8BsqRO4C7T3sqItdBuSkZ64I1vOtIWAsVG4XBI,10589
|
|
192
|
+
megadetector/visualization/visualization_utils.py,sha256=BIb1uCDD6TlHLDM_2uA-4lzcVcdiFLeKu8kuY2fct6g,62150
|
|
193
|
+
megadetector/visualization/visualize_db.py,sha256=l7U4emtNdLGTWU5gB7i7O9yOmvLDBCeZMOAGeKu36rk,20798
|
|
194
|
+
megadetector/visualization/visualize_detector_output.py,sha256=dFpQdLnbULO8wPGeN2z0muYNtHglUDsH-LeqdbYa6DY,17096
|
|
195
|
+
megadetector-5.0.12.dist-info/LICENSE,sha256=RMa3qq-7Cyk7DdtqRj_bP1oInGFgjyHn9-PZ3PcrqIs,1100
|
|
196
|
+
megadetector-5.0.12.dist-info/METADATA,sha256=Hc-G5FqXVt5T1zxOx6qR5E4qpbinZvxBXVKnEqxkkeU,7892
|
|
197
|
+
megadetector-5.0.12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
198
|
+
megadetector-5.0.12.dist-info/top_level.txt,sha256=wf9DXa8EwiOSZ4G5IPjakSxBPxTDjhYYnqWRfR-zS4M,13
|
|
199
|
+
megadetector-5.0.12.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
megadetector
|