megadetector 5.0.14__py3-none-any.whl → 5.0.16__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.
- megadetector/data_management/importers/import_desert_lion_conservation_camera_traps.py +387 -0
- megadetector/data_management/lila/generate_lila_per_image_labels.py +3 -3
- megadetector/data_management/lila/test_lila_metadata_urls.py +2 -2
- megadetector/data_management/remove_exif.py +61 -36
- megadetector/data_management/yolo_to_coco.py +25 -6
- megadetector/detection/process_video.py +261 -128
- megadetector/detection/pytorch_detector.py +13 -11
- megadetector/detection/run_detector.py +9 -2
- megadetector/detection/run_detector_batch.py +14 -2
- megadetector/detection/run_inference_with_yolov5_val.py +58 -10
- megadetector/detection/tf_detector.py +8 -2
- megadetector/detection/video_utils.py +204 -16
- megadetector/postprocessing/md_to_coco.py +31 -9
- megadetector/postprocessing/postprocess_batch_results.py +19 -3
- megadetector/postprocessing/subset_json_detector_output.py +22 -12
- megadetector/taxonomy_mapping/map_new_lila_datasets.py +3 -3
- megadetector/taxonomy_mapping/prepare_lila_taxonomy_release.py +2 -1
- megadetector/taxonomy_mapping/preview_lila_taxonomy.py +1 -1
- megadetector/taxonomy_mapping/simple_image_download.py +5 -0
- megadetector/taxonomy_mapping/species_lookup.py +1 -1
- megadetector/utils/md_tests.py +362 -100
- megadetector/utils/path_utils.py +2 -2
- megadetector/utils/url_utils.py +7 -1
- megadetector/visualization/visualize_db.py +16 -0
- {megadetector-5.0.14.dist-info → megadetector-5.0.16.dist-info}/LICENSE +0 -0
- {megadetector-5.0.14.dist-info → megadetector-5.0.16.dist-info}/METADATA +2 -2
- {megadetector-5.0.14.dist-info → megadetector-5.0.16.dist-info}/RECORD +29 -28
- {megadetector-5.0.14.dist-info → megadetector-5.0.16.dist-info}/WHEEL +1 -1
- {megadetector-5.0.14.dist-info → megadetector-5.0.16.dist-info}/top_level.txt +0 -0
megadetector/utils/url_utils.py
CHANGED
|
@@ -75,7 +75,8 @@ def download_url(url,
|
|
|
75
75
|
destination_filename=None,
|
|
76
76
|
progress_updater=None,
|
|
77
77
|
force_download=False,
|
|
78
|
-
verbose=True
|
|
78
|
+
verbose=True,
|
|
79
|
+
escape_spaces=True):
|
|
79
80
|
"""
|
|
80
81
|
Downloads a URL to a file. If no file is specified, creates a temporary file,
|
|
81
82
|
making a best effort to avoid filename collisions.
|
|
@@ -92,6 +93,7 @@ def download_url(url,
|
|
|
92
93
|
force_download (bool, optional): download this file even if [destination_filename]
|
|
93
94
|
exists.
|
|
94
95
|
verbose (bool, optional): enable additional debug console output
|
|
96
|
+
escape_spaces (bool, optional): replace ' ' with '%20'
|
|
95
97
|
|
|
96
98
|
Returns:
|
|
97
99
|
str: the filename to which [url] was downloaded, the same as [destination_filename]
|
|
@@ -107,6 +109,7 @@ def download_url(url,
|
|
|
107
109
|
url_no_sas = url.split('?')[0]
|
|
108
110
|
|
|
109
111
|
if destination_filename is None:
|
|
112
|
+
|
|
110
113
|
target_folder = get_temp_folder()
|
|
111
114
|
url_without_sas = url.split('?', 1)[0]
|
|
112
115
|
|
|
@@ -119,6 +122,9 @@ def download_url(url,
|
|
|
119
122
|
destination_filename = \
|
|
120
123
|
os.path.join(target_folder,url_as_filename)
|
|
121
124
|
|
|
125
|
+
if escape_spaces:
|
|
126
|
+
url = url.replace(' ','%20')
|
|
127
|
+
|
|
122
128
|
if (not force_download) and (os.path.isfile(destination_filename)):
|
|
123
129
|
if verbose:
|
|
124
130
|
print('Bypassing download of already-downloaded file {}'.format(os.path.basename(url_no_sas)))
|
|
@@ -122,6 +122,14 @@ class DbVizOptions:
|
|
|
122
122
|
|
|
123
123
|
#: Enable additionald debug console output
|
|
124
124
|
self.verbose = False
|
|
125
|
+
|
|
126
|
+
#: COCO files used for evaluation may contain confidence scores, this
|
|
127
|
+
#: determines the field name used for confidence scores
|
|
128
|
+
self.confidence_field_name = 'score'
|
|
129
|
+
|
|
130
|
+
#: Optionally apply a confidence threshold; this requires that [confidence_field_name]
|
|
131
|
+
#: be present in all detections.
|
|
132
|
+
self.confidence_threshold = None
|
|
125
133
|
|
|
126
134
|
|
|
127
135
|
#%% Helper functions
|
|
@@ -294,6 +302,14 @@ def visualize_db(db_path, output_dir, image_base_dir, options=None):
|
|
|
294
302
|
# iAnn = 0; anno = annos_i.iloc[iAnn]
|
|
295
303
|
for iAnn,anno in annos_i.iterrows():
|
|
296
304
|
|
|
305
|
+
if options.confidence_threshold is not None:
|
|
306
|
+
assert options.confidence_field_name in anno, \
|
|
307
|
+
'Error: confidence thresholding requested, ' + \
|
|
308
|
+
'but at least one annotation does not have the {} field'.format(
|
|
309
|
+
options.confidence_field_name)
|
|
310
|
+
if anno[options.confidence_field_name] < options.confidence_threshold:
|
|
311
|
+
continue
|
|
312
|
+
|
|
297
313
|
if 'sequence_level_annotation' in anno:
|
|
298
314
|
bSequenceLevelAnnotation = anno['sequence_level_annotation']
|
|
299
315
|
if bSequenceLevelAnnotation:
|
|
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.16
|
|
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>
|
|
@@ -54,7 +54,7 @@ Requires-Dist: ultralytics-yolov5 ==0.1.1
|
|
|
54
54
|
|
|
55
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
|
|
57
|
+
If you aren't looking for the Python package specifically, 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
|
|
@@ -65,12 +65,12 @@ megadetector/data_management/labelme_to_yolo.py,sha256=dRePSOwU_jiCr0EakDQCz1Ct-
|
|
|
65
65
|
megadetector/data_management/ocr_tools.py,sha256=T9ClY3B-blnK3-UF1vpVdageknYsykm_6FAfqn0kliU,32529
|
|
66
66
|
megadetector/data_management/read_exif.py,sha256=-q0NqJ3VZSBovD_d6de-s3UR2NuKF6gSw2etfvVuRO4,27866
|
|
67
67
|
megadetector/data_management/remap_coco_categories.py,sha256=xXWv0QhTjkUfc9RKtAZanK77HMSq_21mFg_34KFD6hw,2903
|
|
68
|
-
megadetector/data_management/remove_exif.py,sha256=
|
|
68
|
+
megadetector/data_management/remove_exif.py,sha256=vIWnJfw1i9JgyQKUDGEzzqkHro4ndykIPFWhtkm6RAU,2502
|
|
69
69
|
megadetector/data_management/rename_images.py,sha256=AG3YIxXEYdGmK4G-rv0_XZIylPqOZpS6gfEkydF6oDg,6918
|
|
70
70
|
megadetector/data_management/resize_coco_dataset.py,sha256=AaiV7efIcNnqsXsnQckmHq2G__7ZQHBV_jN6rhZfMjo,6810
|
|
71
71
|
megadetector/data_management/wi_download_csv_to_coco.py,sha256=ilnJZhNZK-FGUR-AfUSWjIDUk9Gytgxw7IOK_N8WKLE,8350
|
|
72
72
|
megadetector/data_management/yolo_output_to_md_output.py,sha256=VZtatLoryeh2pbh1fRAJe-ao7vtoNn6ACyRbAk-2Mlg,17561
|
|
73
|
-
megadetector/data_management/yolo_to_coco.py,sha256=
|
|
73
|
+
megadetector/data_management/yolo_to_coco.py,sha256=TzAagQ2ATbB_tn1oZxrHCWsrFGO_OhfZmi-3X45WdDU,26180
|
|
74
74
|
megadetector/data_management/annotations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
75
|
megadetector/data_management/annotations/annotation_constants.py,sha256=1597MpAr_HdidIHoDFj4RgUO3K5e2Xm2bGafGeonR2k,953
|
|
76
76
|
megadetector/data_management/databases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -95,6 +95,7 @@ megadetector/data_management/importers/filenames_to_json.py,sha256=Jc_FydTiZWsB6
|
|
|
95
95
|
megadetector/data_management/importers/helena_to_cct.py,sha256=IVTXXxDDxtbvYZaABCmnYWi2ZJ_1xpAXQG1TjOhRuVE,8712
|
|
96
96
|
megadetector/data_management/importers/idaho-camera-traps.py,sha256=9BpMwygyN8OLimGsHIodNrikVgSK9SGkZJ0c10GxT-0,54112
|
|
97
97
|
megadetector/data_management/importers/idfg_iwildcam_lila_prep.py,sha256=ql0fnO-IZuyT4611n8oYlTMDibhiDLDES1za1o6BEck,8194
|
|
98
|
+
megadetector/data_management/importers/import_desert_lion_conservation_camera_traps.py,sha256=eILnUvSOR7upfewX_44cM8d73E9UQQxKYTkPUfIPMrY,12985
|
|
98
99
|
megadetector/data_management/importers/jb_csv_to_json.py,sha256=IPoXwdz2OhrjMyK1Yv98PVmAD4VBZ9prSuXhx1xLfcg,3726
|
|
99
100
|
megadetector/data_management/importers/mcgill_to_json.py,sha256=dfSxU1hHimyGT6Zt64XFrW63GWGsdKpqRrp5PE--xUw,6702
|
|
100
101
|
megadetector/data_management/importers/missouri_to_json.py,sha256=C0ia3eCEZujVUKE2gmQc6ScsK8kXWM7m0ibeKgHfXNo,14848
|
|
@@ -129,20 +130,20 @@ megadetector/data_management/lila/create_lila_blank_set.py,sha256=SBwpM0-pycW37T
|
|
|
129
130
|
megadetector/data_management/lila/create_lila_test_set.py,sha256=DjivKgsFJlO1IHezXrwAGpiCAhLVmvPnv2nJYpv1ABU,4835
|
|
130
131
|
megadetector/data_management/lila/create_links_to_md_results_files.py,sha256=MvaPBAgdwoxaNrRaKZ8mGaOCky1BYXlrT08tPG9BrpM,3803
|
|
131
132
|
megadetector/data_management/lila/download_lila_subset.py,sha256=rh09kphSCVPlUGuYY-CkSyd8dy0pBUdth6uHkZ84sEo,5345
|
|
132
|
-
megadetector/data_management/lila/generate_lila_per_image_labels.py,sha256=
|
|
133
|
+
megadetector/data_management/lila/generate_lila_per_image_labels.py,sha256=K54-JS7s88HsugtaXo56P22PiPsGEdHYB2AaGMBhvIY,18135
|
|
133
134
|
megadetector/data_management/lila/get_lila_annotation_counts.py,sha256=aOkjemasOqf1Uixu-yhaFKYyKILYRZQZi4GBW4sbtic,5602
|
|
134
135
|
megadetector/data_management/lila/get_lila_image_counts.py,sha256=UxXS5RDnSA_WbxE92qN-N7p-qR-jbyTsTZ7duLo06us,3620
|
|
135
136
|
megadetector/data_management/lila/lila_common.py,sha256=IEnGoyRgcqbek1qJ1gFE83p1Pg_5kaMS-nQI25lRWIs,10132
|
|
136
|
-
megadetector/data_management/lila/test_lila_metadata_urls.py,sha256=
|
|
137
|
+
megadetector/data_management/lila/test_lila_metadata_urls.py,sha256=jqN7UID16fu78BK_2sygb4s9BBeVCpSZT3_oL2GYxxY,4438
|
|
137
138
|
megadetector/detection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
|
-
megadetector/detection/process_video.py,sha256=
|
|
139
|
-
megadetector/detection/pytorch_detector.py,sha256=
|
|
140
|
-
megadetector/detection/run_detector.py,sha256=
|
|
141
|
-
megadetector/detection/run_detector_batch.py,sha256=
|
|
142
|
-
megadetector/detection/run_inference_with_yolov5_val.py,sha256=
|
|
139
|
+
megadetector/detection/process_video.py,sha256=UAwBGTez5t1m0zmOlz9WmnQh-yfFLcpWkBbfKkDcsA4,49448
|
|
140
|
+
megadetector/detection/pytorch_detector.py,sha256=StOnaspDBkMeePiTyq5ZEcFUDBEddq36nigHXbF-zAQ,14029
|
|
141
|
+
megadetector/detection/run_detector.py,sha256=vEfq3jJTseD0sIM9MaIhbeEVqP6JoLXOC2cl8Dhehxs,30553
|
|
142
|
+
megadetector/detection/run_detector_batch.py,sha256=Yvtp_d5RJQ70TiSEpLyast5p1ar06gM-BeYL3EkaPZ8,57305
|
|
143
|
+
megadetector/detection/run_inference_with_yolov5_val.py,sha256=yjNm130qntOyJ4jbetdt5xDHWnSmBXRydyxB2I56XjM,49099
|
|
143
144
|
megadetector/detection/run_tiled_inference.py,sha256=vw0713eNuMiEOjHfweQl58zPHNxPOMdFWZ8bTDLhlMY,37883
|
|
144
|
-
megadetector/detection/tf_detector.py,sha256
|
|
145
|
-
megadetector/detection/video_utils.py,sha256=
|
|
145
|
+
megadetector/detection/tf_detector.py,sha256=5V94a0gR6WmGPacKm59hl1eYEZI8cG04frF4EvHrmzU,8285
|
|
146
|
+
megadetector/detection/video_utils.py,sha256=c5IWyVfHcXXEdDo_JRNgtrpe5bfl1QjAgFHsLwnfczE,40748
|
|
146
147
|
megadetector/detection/detector_training/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
147
148
|
megadetector/detection/detector_training/model_main_tf2.py,sha256=YwNsZ7hkIFaEuwKU0rHG_VyqiR_0E01BbdlD0Yx4Smo,4936
|
|
148
149
|
megadetector/postprocessing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -153,26 +154,26 @@ megadetector/postprocessing/combine_api_outputs.py,sha256=xCJHEKca8YW-mupEr0yNNw
|
|
|
153
154
|
megadetector/postprocessing/compare_batch_results.py,sha256=7O5c6-JsIDpuIGobks_R9j8MPuiZQRnEtNnJQsJqICM,38918
|
|
154
155
|
megadetector/postprocessing/convert_output_format.py,sha256=HwThfK76UPEAGa3KQbJ_tMKIrUvJ3JhKoQVWJt9dPBk,15447
|
|
155
156
|
megadetector/postprocessing/load_api_results.py,sha256=FqcaiPMuqTojZOV3Jn14pJESpuwjWGbZtcvJuVXUaDM,6861
|
|
156
|
-
megadetector/postprocessing/md_to_coco.py,sha256=
|
|
157
|
+
megadetector/postprocessing/md_to_coco.py,sha256=x3sUnOLd2lVfdG2zRN7k-oUvx6rvRD7DWmWJymPc108,12359
|
|
157
158
|
megadetector/postprocessing/md_to_labelme.py,sha256=hejMKVxaz_xdtsGDPTQkeWuis7gzT-VOrL2Qf8ym1x0,11703
|
|
158
159
|
megadetector/postprocessing/merge_detections.py,sha256=AEMgMivhph1vph_t_Qv85d9iHynT2nvq7otN4KGrDLU,17776
|
|
159
|
-
megadetector/postprocessing/postprocess_batch_results.py,sha256=
|
|
160
|
+
megadetector/postprocessing/postprocess_batch_results.py,sha256=8mrq39C09Ea5mW5x1t3MptSrrKzqqck1NE2h8-hYYSc,78936
|
|
160
161
|
megadetector/postprocessing/remap_detection_categories.py,sha256=d9IYTa0i_KbbrarJc_mczABmdwypscl5-KpK8Hx_z8o,6640
|
|
161
162
|
megadetector/postprocessing/render_detection_confusion_matrix.py,sha256=_wsk4W0PbNiqmFuHy-EA0Z07B1tQLMsdCTPatnHAdZw,27382
|
|
162
163
|
megadetector/postprocessing/separate_detections_into_folders.py,sha256=k42gxnL8hbBiV0e2T-jmFrhxzIxnhi57Nx9cDSSL5s0,31218
|
|
163
|
-
megadetector/postprocessing/subset_json_detector_output.py,sha256=
|
|
164
|
+
megadetector/postprocessing/subset_json_detector_output.py,sha256=PDgb6cnsFm9d4E7_sMVIguLIU7s79uFQa2CRCxAO0F4,27064
|
|
164
165
|
megadetector/postprocessing/top_folders_to_bottom.py,sha256=Dqk-KZXiRlIYlmLZmk6aUapmaaLJUKOf8wK1kxt9W6A,6283
|
|
165
166
|
megadetector/postprocessing/repeat_detection_elimination/find_repeat_detections.py,sha256=e4Y9CyMyd-bLN3il8tu76vI0nVYHZlhZr6vcL0J4zQ0,9832
|
|
166
167
|
megadetector/postprocessing/repeat_detection_elimination/remove_repeat_detections.py,sha256=tARPxuY0OyQgpKU2XqiQPko3f-hHnWuISB8ZlZgXwxI,2819
|
|
167
168
|
megadetector/postprocessing/repeat_detection_elimination/repeat_detections_core.py,sha256=_RX0Gtb8YQPYdfQDGIvg1RvyqsdyanmEg1pqVmheHlg,67776
|
|
168
169
|
megadetector/taxonomy_mapping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
169
170
|
megadetector/taxonomy_mapping/map_lila_taxonomy_to_wi_taxonomy.py,sha256=6D_YHTeWTs6O8S9ABog2t9-wfQSh9dW2k9XTqXUZKfo,17927
|
|
170
|
-
megadetector/taxonomy_mapping/map_new_lila_datasets.py,sha256=
|
|
171
|
-
megadetector/taxonomy_mapping/prepare_lila_taxonomy_release.py,sha256=
|
|
172
|
-
megadetector/taxonomy_mapping/preview_lila_taxonomy.py,sha256=
|
|
171
|
+
megadetector/taxonomy_mapping/map_new_lila_datasets.py,sha256=FSJ6ygpADtlYLf5Bhp9kMb5km2-MH0mmM_ccyStxo34,4054
|
|
172
|
+
megadetector/taxonomy_mapping/prepare_lila_taxonomy_release.py,sha256=sRCTgaY84FiGoTtK5LOHL5dhpSrEk9zZGkUR1w9FNm4,4694
|
|
173
|
+
megadetector/taxonomy_mapping/preview_lila_taxonomy.py,sha256=qCOyhrgddFZOYBCamfIDKdMMQuIMdGhSrd7ovLz1Yuo,19549
|
|
173
174
|
megadetector/taxonomy_mapping/retrieve_sample_image.py,sha256=4cfWsLRwS_EwAmQr2p5tA_W6glBK71tSjPfaHxUZQWs,1979
|
|
174
|
-
megadetector/taxonomy_mapping/simple_image_download.py,sha256=
|
|
175
|
-
megadetector/taxonomy_mapping/species_lookup.py,sha256=
|
|
175
|
+
megadetector/taxonomy_mapping/simple_image_download.py,sha256=wLhyMSocX_JhDGA6yLbEfpysz8MMI8YFJWaxyA-GZ9c,6932
|
|
176
|
+
megadetector/taxonomy_mapping/species_lookup.py,sha256=HZ7fyhap9CNdhdmq-id8dMnIa9TPMA3557rsamAkWkU,28329
|
|
176
177
|
megadetector/taxonomy_mapping/taxonomy_csv_checker.py,sha256=A_zPwzY-ERz6xawxgk2Tpfsycl-1sDcjUiuaXXBppi8,4850
|
|
177
178
|
megadetector/taxonomy_mapping/taxonomy_graph.py,sha256=ayrTFseVaIMbtMXhnjWCkZdxI5SAVe_BUtnanGewQpU,12263
|
|
178
179
|
megadetector/taxonomy_mapping/validate_lila_category_mappings.py,sha256=1qyZr23bvZSVUYLQnO1XAtIZ4jdpARA5dxt8euKVyOA,2527
|
|
@@ -180,22 +181,22 @@ megadetector/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
180
181
|
megadetector/utils/azure_utils.py,sha256=0BdnkG2hW-X0yFpsJqmBhOd2wysz_LvhuyImPJMVPJs,6271
|
|
181
182
|
megadetector/utils/ct_utils.py,sha256=RTMc0UszYuW9QpMo-qetaWder1mFWIzkMLL2UM6PYdY,17960
|
|
182
183
|
megadetector/utils/directory_listing.py,sha256=r4rg2xA4O9ZVxVtzPZzXIXa0DOEukAJMTTNcNSiQcuM,9668
|
|
183
|
-
megadetector/utils/md_tests.py,sha256=
|
|
184
|
-
megadetector/utils/path_utils.py,sha256=
|
|
184
|
+
megadetector/utils/md_tests.py,sha256=fIfm2pzdZL-eJkD3OEJwUJZmTM6ShBiJhugWkNGlZU4,57142
|
|
185
|
+
megadetector/utils/path_utils.py,sha256=o68jfPDaLj3NizipVCQEnmB5GfPHpMOLUmQWamYM4w0,37165
|
|
185
186
|
megadetector/utils/process_utils.py,sha256=2SdFVxqob-YUW2BTjUEavNuRH3jA4V05fbKMtrVSd3c,5635
|
|
186
187
|
megadetector/utils/sas_blob_utils.py,sha256=k76EcMmJc_otrEHcfV2fxAC6fNhxU88FxM3ddSYrsKU,16917
|
|
187
188
|
megadetector/utils/split_locations_into_train_val.py,sha256=jvaDu1xKB51L3Xq2nXQo0XtXRjNRf8RglBApl1g6gHo,10101
|
|
188
189
|
megadetector/utils/string_utils.py,sha256=ZQapJodzvTDyQhjZgMoMl3-9bqnKAUlORpws8Db9AkA,2050
|
|
189
|
-
megadetector/utils/url_utils.py,sha256
|
|
190
|
+
megadetector/utils/url_utils.py,sha256=-ZuFFH1AhTYSaVRjphMu7Kle5WJeDp0_ExAVevlGyvk,11653
|
|
190
191
|
megadetector/utils/write_html_image_list.py,sha256=apzoWkgZWG-ybCT4k92PlS4-guN_sNBSMMMbj7Cfm1k,8638
|
|
191
192
|
megadetector/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
192
193
|
megadetector/visualization/plot_utils.py,sha256=lOfU3uPrcuHZagV_1SN8erT8PujIepocgw6KZ17Ej6c,10671
|
|
193
194
|
megadetector/visualization/render_images_with_thumbnails.py,sha256=kgJYW8BsqRO4C7T3sqItdBuSkZ64I1vOtIWAsVG4XBI,10589
|
|
194
195
|
megadetector/visualization/visualization_utils.py,sha256=jWiXlLpmWh_CH2vApZURclOC7fdip1aKWQ66wuNabyA,62369
|
|
195
|
-
megadetector/visualization/visualize_db.py,sha256=
|
|
196
|
+
megadetector/visualization/visualize_db.py,sha256=x9jScwG-3V-mZGy5cB1s85KWbiAIfvgVUcLqUplHxGA,22110
|
|
196
197
|
megadetector/visualization/visualize_detector_output.py,sha256=LY8QgDWpWlXVLZJUskvT29CdkNvIlEsFTk4DC_lS6pk,17052
|
|
197
|
-
megadetector-5.0.
|
|
198
|
-
megadetector-5.0.
|
|
199
|
-
megadetector-5.0.
|
|
200
|
-
megadetector-5.0.
|
|
201
|
-
megadetector-5.0.
|
|
198
|
+
megadetector-5.0.16.dist-info/LICENSE,sha256=RMa3qq-7Cyk7DdtqRj_bP1oInGFgjyHn9-PZ3PcrqIs,1100
|
|
199
|
+
megadetector-5.0.16.dist-info/METADATA,sha256=D61Nms1U_SFJmGp4br2HZQZ2kwopqEuDfVq4dcdGWD8,7894
|
|
200
|
+
megadetector-5.0.16.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
201
|
+
megadetector-5.0.16.dist-info/top_level.txt,sha256=wf9DXa8EwiOSZ4G5IPjakSxBPxTDjhYYnqWRfR-zS4M,13
|
|
202
|
+
megadetector-5.0.16.dist-info/RECORD,,
|
|
File without changes
|