aio-qc 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. aio_qc-1.0.0/AIO_QC/__init__.py +5 -0
  2. aio_qc-1.0.0/AIO_QC/__main__.py +151 -0
  3. aio_qc-1.0.0/AIO_QC/app.py +2679 -0
  4. aio_qc-1.0.0/AIO_QC/core/__init__.py +12 -0
  5. aio_qc-1.0.0/AIO_QC/core/annodiff.py +156 -0
  6. aio_qc-1.0.0/AIO_QC/core/appdirs.py +77 -0
  7. aio_qc-1.0.0/AIO_QC/core/backups.py +369 -0
  8. aio_qc-1.0.0/AIO_QC/core/cache.py +439 -0
  9. aio_qc-1.0.0/AIO_QC/core/checks.py +312 -0
  10. aio_qc-1.0.0/AIO_QC/core/class_check.py +127 -0
  11. aio_qc-1.0.0/AIO_QC/core/class_map.py +172 -0
  12. aio_qc-1.0.0/AIO_QC/core/class_ops.py +222 -0
  13. aio_qc-1.0.0/AIO_QC/core/dataset.py +790 -0
  14. aio_qc-1.0.0/AIO_QC/core/edit_session.py +603 -0
  15. aio_qc-1.0.0/AIO_QC/core/editors.py +423 -0
  16. aio_qc-1.0.0/AIO_QC/core/embed_server.py +351 -0
  17. aio_qc-1.0.0/AIO_QC/core/embed_service.py +77 -0
  18. aio_qc-1.0.0/AIO_QC/core/embeddings.py +305 -0
  19. aio_qc-1.0.0/AIO_QC/core/env_manager.py +214 -0
  20. aio_qc-1.0.0/AIO_QC/core/evaluation.py +556 -0
  21. aio_qc-1.0.0/AIO_QC/core/export.py +273 -0
  22. aio_qc-1.0.0/AIO_QC/core/fix_ledger.py +66 -0
  23. aio_qc-1.0.0/AIO_QC/core/fixes.py +76 -0
  24. aio_qc-1.0.0/AIO_QC/core/flagged_export.py +150 -0
  25. aio_qc-1.0.0/AIO_QC/core/geometry.py +216 -0
  26. aio_qc-1.0.0/AIO_QC/core/guidelines.py +198 -0
  27. aio_qc-1.0.0/AIO_QC/core/handoff.py +411 -0
  28. aio_qc-1.0.0/AIO_QC/core/history.py +154 -0
  29. aio_qc-1.0.0/AIO_QC/core/image_quality.py +225 -0
  30. aio_qc-1.0.0/AIO_QC/core/infer_server.py +257 -0
  31. aio_qc-1.0.0/AIO_QC/core/inference.py +130 -0
  32. aio_qc-1.0.0/AIO_QC/core/inline_edit.py +227 -0
  33. aio_qc-1.0.0/AIO_QC/core/instances.py +312 -0
  34. aio_qc-1.0.0/AIO_QC/core/io.py +219 -0
  35. aio_qc-1.0.0/AIO_QC/core/issues.py +142 -0
  36. aio_qc-1.0.0/AIO_QC/core/labelme_image.py +97 -0
  37. aio_qc-1.0.0/AIO_QC/core/mapping.py +126 -0
  38. aio_qc-1.0.0/AIO_QC/core/model_check.py +220 -0
  39. aio_qc-1.0.0/AIO_QC/core/ocr_check.py +199 -0
  40. aio_qc-1.0.0/AIO_QC/core/ocr_langs.py +62 -0
  41. aio_qc-1.0.0/AIO_QC/core/ocr_server.py +431 -0
  42. aio_qc-1.0.0/AIO_QC/core/ocr_service.py +59 -0
  43. aio_qc-1.0.0/AIO_QC/core/prep/__init__.py +3 -0
  44. aio_qc-1.0.0/AIO_QC/core/prep/common.py +565 -0
  45. aio_qc-1.0.0/AIO_QC/core/prep/flatten.py +430 -0
  46. aio_qc-1.0.0/AIO_QC/core/prep/tasks.py +591 -0
  47. aio_qc-1.0.0/AIO_QC/core/profile.py +150 -0
  48. aio_qc-1.0.0/AIO_QC/core/region.py +94 -0
  49. aio_qc-1.0.0/AIO_QC/core/report.py +281 -0
  50. aio_qc-1.0.0/AIO_QC/core/rules.py +459 -0
  51. aio_qc-1.0.0/AIO_QC/core/sampling.py +265 -0
  52. aio_qc-1.0.0/AIO_QC/core/sequences.py +287 -0
  53. aio_qc-1.0.0/AIO_QC/core/shape_ops.py +103 -0
  54. aio_qc-1.0.0/AIO_QC/core/split.py +275 -0
  55. aio_qc-1.0.0/AIO_QC/core/split_health.py +277 -0
  56. aio_qc-1.0.0/AIO_QC/core/state.py +245 -0
  57. aio_qc-1.0.0/AIO_QC/core/storage.py +226 -0
  58. aio_qc-1.0.0/AIO_QC/core/tag_layout.py +83 -0
  59. aio_qc-1.0.0/AIO_QC/core/thumbs.py +113 -0
  60. aio_qc-1.0.0/AIO_QC/core/validators.py +277 -0
  61. aio_qc-1.0.0/AIO_QC/core/views.py +267 -0
  62. aio_qc-1.0.0/AIO_QC/core/watch.py +116 -0
  63. aio_qc-1.0.0/AIO_QC/editors/README.md +30 -0
  64. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/LICENSE +9 -0
  65. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/MODIFICATIONS.md +19 -0
  66. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/README.rst +284 -0
  67. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/__init__.py +0 -0
  68. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/aioqc_source.json +22 -0
  69. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/data/predefined_classes.txt +15 -0
  70. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/labelImg.py +1637 -0
  71. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/__init__.py +2 -0
  72. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/canvas.py +730 -0
  73. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/colorDialog.py +37 -0
  74. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/combobox.py +33 -0
  75. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/constants.py +20 -0
  76. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/create_ml_io.py +131 -0
  77. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/hashableQListWidgetItem.py +28 -0
  78. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/labelDialog.py +84 -0
  79. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/labelFile.py +175 -0
  80. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/pascal_voc_io.py +171 -0
  81. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/resources.py +9784 -0
  82. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/settings.py +46 -0
  83. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/shape.py +206 -0
  84. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/stringBundle.py +78 -0
  85. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/toolBar.py +39 -0
  86. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/ustr.py +17 -0
  87. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/utils.py +117 -0
  88. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/yolo_io.py +146 -0
  89. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/libs/zoomWidget.py +26 -0
  90. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/app.icns +0 -0
  91. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/app.ico +0 -0
  92. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/app.png +0 -0
  93. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/app.svg +30 -0
  94. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/cancel.png +0 -0
  95. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/close.png +0 -0
  96. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/color.png +0 -0
  97. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/color_line.png +0 -0
  98. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/copy.png +0 -0
  99. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/delete.png +0 -0
  100. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/done.png +0 -0
  101. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/done.svg +400 -0
  102. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/edit.png +0 -0
  103. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/expert1.png +0 -0
  104. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/expert2.png +0 -0
  105. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/eye.png +0 -0
  106. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/feBlend-icon.png +0 -0
  107. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/file.png +0 -0
  108. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/fit-width.png +0 -0
  109. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/fit-window.png +0 -0
  110. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/fit.png +0 -0
  111. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/format_createml.png +0 -0
  112. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/format_voc.png +0 -0
  113. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/format_yolo.png +0 -0
  114. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/help.png +0 -0
  115. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/labels.png +0 -0
  116. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/labels.svg +819 -0
  117. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/light_brighten.svg +112 -0
  118. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/light_darken.png +0 -0
  119. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/light_darken.svg +52 -0
  120. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/light_lighten.png +0 -0
  121. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/light_reset.png +0 -0
  122. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/light_reset.svg +84 -0
  123. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/new.png +0 -0
  124. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/next.png +0 -0
  125. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/objects.png +0 -0
  126. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/open.png +0 -0
  127. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/open.svg +577 -0
  128. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/prev.png +0 -0
  129. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/quit.png +0 -0
  130. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/resetall.png +0 -0
  131. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/save-as.png +0 -0
  132. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/save-as.svg +1358 -0
  133. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/save.png +0 -0
  134. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/save.svg +679 -0
  135. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/undo-cross.png +0 -0
  136. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/undo.png +0 -0
  137. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/verify.png +0 -0
  138. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/zoom-in.png +0 -0
  139. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/zoom-out.png +0 -0
  140. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/icons/zoom.png +0 -0
  141. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/strings/strings-ja-JP.properties +77 -0
  142. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/strings/strings-zh-CN.properties +89 -0
  143. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/strings/strings-zh-TW.properties +83 -0
  144. aio_qc-1.0.0/AIO_QC/editors/sources/labelimg-1.8.6/resources/strings/strings.properties +89 -0
  145. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/LICENSE +674 -0
  146. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/MODIFICATIONS.md +14 -0
  147. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/README.md +153 -0
  148. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/aioqc_source.json +38 -0
  149. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/__init__.py +19 -0
  150. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/__main__.py +281 -0
  151. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/_automation/__init__.py +1 -0
  152. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/_automation/_osam_session.py +94 -0
  153. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/_automation/bbox_from_text.py +150 -0
  154. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/_automation/polygon_from_mask.py +40 -0
  155. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/_label_file.py +268 -0
  156. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/app.py +2352 -0
  157. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/cli/__init__.py +4 -0
  158. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/cli/draw_json.py +49 -0
  159. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/cli/draw_label_png.py +85 -0
  160. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/cli/export_json.py +65 -0
  161. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/cli/on_docker.py +98 -0
  162. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/config/__init__.py +84 -0
  163. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/config/default_config.yaml +123 -0
  164. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/ai-mask.svg +11 -0
  165. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/ai-polygon.svg +20 -0
  166. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/arrow-fat-left.svg +1 -0
  167. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/arrow-fat-right.svg +1 -0
  168. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/arrow-u-up-left.svg +1 -0
  169. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/brightness-contrast.svg +16 -0
  170. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/circle.svg +1 -0
  171. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/circles-four.svg +1 -0
  172. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/copy.svg +1 -0
  173. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/eye.svg +1 -0
  174. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/file-x.svg +8 -0
  175. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/floppy-disk.svg +1 -0
  176. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/folder-open.svg +6 -0
  177. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/folders.svg +1 -0
  178. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/frame-arrows-horizontal.svg +9 -0
  179. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/frame-corners.svg +1 -0
  180. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/icon-128.png +0 -0
  181. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/icon-16.png +0 -0
  182. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/icon-256.png +0 -0
  183. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/icon-32.png +0 -0
  184. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/icon-48.png +0 -0
  185. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/icon-64.png +0 -0
  186. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/icon.ico +0 -0
  187. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/icon.png +0 -0
  188. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/image-square.svg +1 -0
  189. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/info.svg +1 -0
  190. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/layout-duotone.svg +1 -0
  191. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/line-segment.svg +1 -0
  192. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/line-segments.svg +1 -0
  193. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/magnifying-glass-minus.svg +1 -0
  194. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/magnifying-glass-plus.svg +1 -0
  195. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/note-pencil.svg +1 -0
  196. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/paint-bucket.svg +1 -0
  197. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/polygon.svg +1 -0
  198. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/question.svg +1 -0
  199. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/rectangle.svg +1 -0
  200. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/trash.svg +1 -0
  201. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/icons/x-circle.svg +1 -0
  202. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/__init__.py +6 -0
  203. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/__main__.py +201 -0
  204. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/__main___test.py +15 -0
  205. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_data/dogs.jpg +0 -0
  206. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_humanize.py +28 -0
  207. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_json.py +19 -0
  208. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_json_test.py +25 -0
  209. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/__init__.py +11 -0
  210. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/efficientsam/LICENSE +201 -0
  211. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/efficientsam/__init__.py +2 -0
  212. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/efficientsam/_decoding.py +41 -0
  213. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/efficientsam/_encoding.py +33 -0
  214. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/efficientsam/_models.py +57 -0
  215. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam/LICENSE +201 -0
  216. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam/__init__.py +4 -0
  217. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam/_decoding.py +64 -0
  218. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam/_encoding.py +62 -0
  219. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam/_images.py +38 -0
  220. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam/_models.py +133 -0
  221. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam2/LICENSE +201 -0
  222. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam2/__init__.py +4 -0
  223. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam2/_decoding.py +48 -0
  224. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam2/_encoding.py +53 -0
  225. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam2/_models.py +89 -0
  226. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam3/LICENSE +61 -0
  227. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam3/__init__.py +1 -0
  228. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/sam3/_models.py +205 -0
  229. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/yoloworld/LICENSE +1347 -0
  230. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/yoloworld/__init__.py +142 -0
  231. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/yoloworld/clip/LICENSE +21 -0
  232. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/yoloworld/clip/__init__.py +1 -0
  233. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/yoloworld/clip/bpe_simple_vocab_16e6.txt.gz +0 -0
  234. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/yoloworld/clip/clip.py +30 -0
  235. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_models/yoloworld/clip/simple_tokenizer.py +151 -0
  236. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_server.py +33 -0
  237. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/_tabulate.py +19 -0
  238. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/apis.py +108 -0
  239. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/apis_test.py +121 -0
  240. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/conftest.py +29 -0
  241. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/types/__init__.py +26 -0
  242. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/types/_annotation.py +30 -0
  243. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/types/_blob.py +91 -0
  244. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/types/_bounding_box.py +8 -0
  245. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/types/_generate.py +37 -0
  246. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/types/_image_embedding.py +89 -0
  247. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/types/_model.py +113 -0
  248. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/osam/types/_prompt.py +67 -0
  249. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/shape.py +398 -0
  250. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/testing.py +34 -0
  251. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/de_DE.qm +0 -0
  252. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/de_DE.ts +844 -0
  253. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/es_ES.qm +0 -0
  254. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/es_ES.ts +838 -0
  255. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/fa_IR.qm +0 -0
  256. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/fa_IR.ts +838 -0
  257. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/fr_FR.qm +0 -0
  258. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/fr_FR.ts +854 -0
  259. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/hu_HU.qm +0 -0
  260. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/hu_HU.ts +844 -0
  261. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/it_IT.qm +0 -0
  262. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/it_IT.ts +854 -0
  263. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/ja_JP.qm +0 -0
  264. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/ja_JP.ts +870 -0
  265. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/ko_KR.qm +0 -0
  266. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/ko_KR.ts +838 -0
  267. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/nl_NL.qm +0 -0
  268. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/nl_NL.ts +838 -0
  269. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/pt_BR.qm +0 -0
  270. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/pt_BR.ts +838 -0
  271. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/vi_VN.qm +0 -0
  272. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/vi_VN.ts +838 -0
  273. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/zh_CN.qm +0 -0
  274. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/zh_CN.ts +848 -0
  275. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/zh_TW.qm +0 -0
  276. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/translate/zh_TW.ts +838 -0
  277. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/utils/__init__.py +23 -0
  278. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/utils/_io.py +26 -0
  279. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/utils/image.py +107 -0
  280. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/utils/qt.py +98 -0
  281. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/utils/shape.py +121 -0
  282. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/__init__.py +14 -0
  283. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/_ai_assisted_annotation_widget.py +98 -0
  284. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/_ai_text_to_annotation_widget.py +145 -0
  285. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/_info_button.py +30 -0
  286. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/_status.py +12 -0
  287. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/brightness_contrast_dialog.py +74 -0
  288. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/canvas.py +1204 -0
  289. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/download.py +73 -0
  290. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/file_dialog_preview.py +78 -0
  291. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/label_dialog.py +247 -0
  292. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/label_list_widget.py +199 -0
  293. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/tool_bar.py +52 -0
  294. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/unique_label_qlist_widget.py +44 -0
  295. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/labelme/widgets/zoom_widget.py +21 -0
  296. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-5.11.4/pyproject.toml +85 -0
  297. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/LICENSE +674 -0
  298. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/MODIFICATIONS.md +15 -0
  299. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/README.md +157 -0
  300. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/aioqc_source.json +46 -0
  301. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/__init__.py +17 -0
  302. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/__main__.py +316 -0
  303. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_automation/__init__.py +9 -0
  304. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_automation/_geometry.py +162 -0
  305. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_automation/_osam_session.py +94 -0
  306. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_automation/_shape_builders.py +167 -0
  307. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_automation/_suppression.py +242 -0
  308. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_automation/_text_detection.py +92 -0
  309. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_automation/_types.py +6 -0
  310. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_label_file.py +443 -0
  311. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_shape.py +626 -0
  312. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/_shape_clipboard.py +25 -0
  313. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/app.py +2741 -0
  314. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/config/__init__.py +138 -0
  315. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/config/default_config.yaml +113 -0
  316. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/ai-box.svg +10 -0
  317. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/ai-points.svg +14 -0
  318. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/brightness-contrast.svg +16 -0
  319. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/frame-arrows-horizontal.svg +9 -0
  320. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/icon-128.png +0 -0
  321. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/icon-16.png +0 -0
  322. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/icon-256.png +0 -0
  323. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/icon-32.png +0 -0
  324. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/icon-48.png +0 -0
  325. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/icon-64.png +0 -0
  326. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/icon.ico +0 -0
  327. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/icon.png +0 -0
  328. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/oriented_rectangle.svg +4 -0
  329. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/LICENSE +21 -0
  330. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/arrow-fat-left.svg +1 -0
  331. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/arrow-fat-right.svg +1 -0
  332. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/arrow-u-up-left.svg +1 -0
  333. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/circle.svg +1 -0
  334. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/circles-four.svg +1 -0
  335. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/copy.svg +1 -0
  336. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/eye.svg +1 -0
  337. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/file-x.svg +8 -0
  338. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/floppy-disk.svg +1 -0
  339. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/folder-open.svg +6 -0
  340. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/folders.svg +1 -0
  341. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/frame-corners.svg +1 -0
  342. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/image-square.svg +1 -0
  343. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/info.svg +1 -0
  344. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/layout-duotone.svg +1 -0
  345. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/line-segment.svg +1 -0
  346. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/line-segments.svg +1 -0
  347. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/magnifying-glass-minus.svg +1 -0
  348. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/magnifying-glass-plus.svg +1 -0
  349. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/note-pencil.svg +1 -0
  350. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/paint-bucket.svg +1 -0
  351. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/phosphor.zip +0 -0
  352. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/polygon.svg +1 -0
  353. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/question.svg +1 -0
  354. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/rectangle.svg +1 -0
  355. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/trash.svg +1 -0
  356. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/icons/phosphor/x-circle.svg +1 -0
  357. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/__init__.py +6 -0
  358. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/__main__.py +214 -0
  359. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/__main___test.py +15 -0
  360. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_data/dogs.jpg +0 -0
  361. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_humanize.py +28 -0
  362. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_json.py +19 -0
  363. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_json_test.py +25 -0
  364. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/__init__.py +11 -0
  365. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/efficientsam/LICENSE +201 -0
  366. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/efficientsam/__init__.py +2 -0
  367. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/efficientsam/_decoding.py +41 -0
  368. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/efficientsam/_encoding.py +33 -0
  369. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/efficientsam/_models.py +57 -0
  370. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam/LICENSE +201 -0
  371. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam/__init__.py +4 -0
  372. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam/_decoding.py +64 -0
  373. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam/_encoding.py +62 -0
  374. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam/_images.py +38 -0
  375. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam/_models.py +136 -0
  376. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam2/LICENSE +201 -0
  377. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam2/__init__.py +4 -0
  378. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam2/_decoding.py +48 -0
  379. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam2/_encoding.py +53 -0
  380. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam2/_models.py +89 -0
  381. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam3/LICENSE +61 -0
  382. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam3/__init__.py +1 -0
  383. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/sam3/_models.py +223 -0
  384. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/yoloworld/LICENSE +1347 -0
  385. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/yoloworld/__init__.py +142 -0
  386. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/yoloworld/clip/LICENSE +21 -0
  387. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/yoloworld/clip/__init__.py +1 -0
  388. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/yoloworld/clip/bpe_simple_vocab_16e6.txt.gz +0 -0
  389. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/yoloworld/clip/clip.py +30 -0
  390. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_models/yoloworld/clip/simple_tokenizer.py +151 -0
  391. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_server.py +33 -0
  392. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/_tabulate.py +19 -0
  393. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/apis.py +108 -0
  394. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/apis_test.py +128 -0
  395. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/conftest.py +29 -0
  396. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/types/__init__.py +26 -0
  397. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/types/_annotation.py +43 -0
  398. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/types/_blob.py +127 -0
  399. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/types/_bounding_box.py +8 -0
  400. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/types/_generate.py +37 -0
  401. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/types/_image_embedding.py +89 -0
  402. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/types/_model.py +117 -0
  403. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/osam/types/_prompt.py +67 -0
  404. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/de_DE.qm +0 -0
  405. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/de_DE.ts +909 -0
  406. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/el_GR.qm +0 -0
  407. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/el_GR.ts +905 -0
  408. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/es_ES.qm +0 -0
  409. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/es_ES.ts +903 -0
  410. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/fa_IR.qm +0 -0
  411. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/fa_IR.ts +903 -0
  412. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/fr_FR.qm +0 -0
  413. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/fr_FR.ts +909 -0
  414. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/hu_HU.qm +0 -0
  415. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/hu_HU.ts +909 -0
  416. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/it_IT.qm +0 -0
  417. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/it_IT.ts +909 -0
  418. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/ja_JP.qm +0 -0
  419. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/ja_JP.ts +917 -0
  420. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/ko_KR.qm +0 -0
  421. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/ko_KR.ts +903 -0
  422. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/nl_NL.qm +0 -0
  423. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/nl_NL.ts +903 -0
  424. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/pl_PL.qm +0 -0
  425. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/pl_PL.ts +903 -0
  426. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/pt_BR.qm +0 -0
  427. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/pt_BR.ts +903 -0
  428. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/ru_RU.qm +0 -0
  429. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/ru_RU.ts +906 -0
  430. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/th_TH.qm +0 -0
  431. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/th_TH.ts +903 -0
  432. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/tr_TR.qm +0 -0
  433. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/tr_TR.ts +906 -0
  434. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/uk_UA.qm +0 -0
  435. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/uk_UA.ts +906 -0
  436. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/vi_VN.qm +0 -0
  437. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/vi_VN.ts +903 -0
  438. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/zh_CN.qm +0 -0
  439. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/zh_CN.ts +903 -0
  440. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/zh_TW.qm +0 -0
  441. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/translate/zh_TW.ts +903 -0
  442. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/utils/__init__.py +60 -0
  443. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/utils/image.py +111 -0
  444. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/utils/qt.py +161 -0
  445. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/utils/shape.py +111 -0
  446. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/__init__.py +14 -0
  447. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/_ai_assisted_annotation_widget.py +149 -0
  448. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/_ai_text_to_annotation_widget.py +150 -0
  449. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/_info_button.py +32 -0
  450. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/_status.py +14 -0
  451. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/brightness_contrast_dialog.py +102 -0
  452. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/canvas.py +1788 -0
  453. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/download.py +151 -0
  454. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/label_dialog.py +286 -0
  455. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/label_list_widget.py +282 -0
  456. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/tool_bar.py +70 -0
  457. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/unique_label_qlist_widget.py +42 -0
  458. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/labelme/widgets/zoom_widget.py +27 -0
  459. aio_qc-1.0.0/AIO_QC/editors/sources/labelme-6.3.1/pyproject.toml +97 -0
  460. aio_qc-1.0.0/AIO_QC/fonts/AVHersheySimplexMedium.ttf +0 -0
  461. aio_qc-1.0.0/AIO_QC/fonts/Inter_24pt-SemiBold.ttf +0 -0
  462. aio_qc-1.0.0/AIO_QC/fonts/JetBrainsMono-Regular.ttf +0 -0
  463. aio_qc-1.0.0/AIO_QC/fonts/SourceCodePro-Regular.ttf +0 -0
  464. aio_qc-1.0.0/AIO_QC/help_guide.py +533 -0
  465. aio_qc-1.0.0/AIO_QC/icons/README.md +30 -0
  466. aio_qc-1.0.0/AIO_QC/icons/ai-box.svg +10 -0
  467. aio_qc-1.0.0/AIO_QC/icons/ai-points.svg +14 -0
  468. aio_qc-1.0.0/AIO_QC/icons/app.ico +0 -0
  469. aio_qc-1.0.0/AIO_QC/icons/app.png +0 -0
  470. aio_qc-1.0.0/AIO_QC/icons/app_128.png +0 -0
  471. aio_qc-1.0.0/AIO_QC/icons/app_16.png +0 -0
  472. aio_qc-1.0.0/AIO_QC/icons/app_200_border.png +0 -0
  473. aio_qc-1.0.0/AIO_QC/icons/app_256.png +0 -0
  474. aio_qc-1.0.0/AIO_QC/icons/app_32.png +0 -0
  475. aio_qc-1.0.0/AIO_QC/icons/app_64.png +0 -0
  476. aio_qc-1.0.0/AIO_QC/icons/brightness-contrast.svg +14 -0
  477. aio_qc-1.0.0/AIO_QC/icons/circles-four.svg +1 -0
  478. aio_qc-1.0.0/AIO_QC/icons/copy.svg +1 -0
  479. aio_qc-1.0.0/AIO_QC/icons/cursor.svg +1 -0
  480. aio_qc-1.0.0/AIO_QC/icons/delete.svg +1 -0
  481. aio_qc-1.0.0/AIO_QC/icons/edit.svg +1 -0
  482. aio_qc-1.0.0/AIO_QC/icons/export.svg +1 -0
  483. aio_qc-1.0.0/AIO_QC/icons/eye.svg +1 -0
  484. aio_qc-1.0.0/AIO_QC/icons/file-x.svg +6 -0
  485. aio_qc-1.0.0/AIO_QC/icons/fill.svg +1 -0
  486. aio_qc-1.0.0/AIO_QC/icons/fit-width.svg +7 -0
  487. aio_qc-1.0.0/AIO_QC/icons/fit-window.svg +1 -0
  488. aio_qc-1.0.0/AIO_QC/icons/folders.svg +1 -0
  489. aio_qc-1.0.0/AIO_QC/icons/get-started.svg +1 -0
  490. aio_qc-1.0.0/AIO_QC/icons/group-dataset.svg +1 -0
  491. aio_qc-1.0.0/AIO_QC/icons/group-labels.svg +1 -0
  492. aio_qc-1.0.0/AIO_QC/icons/group-models.svg +1 -0
  493. aio_qc-1.0.0/AIO_QC/icons/group-review.svg +1 -0
  494. aio_qc-1.0.0/AIO_QC/icons/group-shapes.svg +1 -0
  495. aio_qc-1.0.0/AIO_QC/icons/hand.svg +1 -0
  496. aio_qc-1.0.0/AIO_QC/icons/history.svg +1 -0
  497. aio_qc-1.0.0/AIO_QC/icons/image.svg +1 -0
  498. aio_qc-1.0.0/AIO_QC/icons/import.svg +1 -0
  499. aio_qc-1.0.0/AIO_QC/icons/info.svg +1 -0
  500. aio_qc-1.0.0/AIO_QC/icons/keyboard.svg +1 -0
  501. aio_qc-1.0.0/AIO_QC/icons/layout.svg +1 -0
  502. aio_qc-1.0.0/AIO_QC/icons/list.svg +1 -0
  503. aio_qc-1.0.0/AIO_QC/icons/logs.svg +1 -0
  504. aio_qc-1.0.0/AIO_QC/icons/new.svg +1 -0
  505. aio_qc-1.0.0/AIO_QC/icons/next.svg +1 -0
  506. aio_qc-1.0.0/AIO_QC/icons/open.svg +4 -0
  507. aio_qc-1.0.0/AIO_QC/icons/pip.svg +1 -0
  508. aio_qc-1.0.0/AIO_QC/icons/prev.svg +1 -0
  509. aio_qc-1.0.0/AIO_QC/icons/question.svg +1 -0
  510. aio_qc-1.0.0/AIO_QC/icons/quit.svg +1 -0
  511. aio_qc-1.0.0/AIO_QC/icons/redo.svg +1 -0
  512. aio_qc-1.0.0/AIO_QC/icons/restore-window.svg +1 -0
  513. aio_qc-1.0.0/AIO_QC/icons/review-clear.svg +1 -0
  514. aio_qc-1.0.0/AIO_QC/icons/review-fixed.svg +1 -0
  515. aio_qc-1.0.0/AIO_QC/icons/review-flag.svg +1 -0
  516. aio_qc-1.0.0/AIO_QC/icons/review-next.svg +1 -0
  517. aio_qc-1.0.0/AIO_QC/icons/review-note.svg +1 -0
  518. aio_qc-1.0.0/AIO_QC/icons/review-ok.svg +1 -0
  519. aio_qc-1.0.0/AIO_QC/icons/run.svg +1 -0
  520. aio_qc-1.0.0/AIO_QC/icons/save.svg +1 -0
  521. aio_qc-1.0.0/AIO_QC/icons/shape-circle.svg +1 -0
  522. aio_qc-1.0.0/AIO_QC/icons/shape-line.svg +1 -0
  523. aio_qc-1.0.0/AIO_QC/icons/shape-linestrip.svg +1 -0
  524. aio_qc-1.0.0/AIO_QC/icons/shape-polygon.svg +1 -0
  525. aio_qc-1.0.0/AIO_QC/icons/shape-rectangle.svg +1 -0
  526. aio_qc-1.0.0/AIO_QC/icons/sketch-arrow.svg +1 -0
  527. aio_qc-1.0.0/AIO_QC/icons/sketch-circle.svg +1 -0
  528. aio_qc-1.0.0/AIO_QC/icons/sketch-ellipse.svg +1 -0
  529. aio_qc-1.0.0/AIO_QC/icons/sketch-eraser.svg +1 -0
  530. aio_qc-1.0.0/AIO_QC/icons/sketch-highlighter.svg +1 -0
  531. aio_qc-1.0.0/AIO_QC/icons/sketch-line.svg +1 -0
  532. aio_qc-1.0.0/AIO_QC/icons/sketch-pen.svg +1 -0
  533. aio_qc-1.0.0/AIO_QC/icons/sketch-picker.svg +1 -0
  534. aio_qc-1.0.0/AIO_QC/icons/sketch-rect.svg +1 -0
  535. aio_qc-1.0.0/AIO_QC/icons/sketch-text.svg +1 -0
  536. aio_qc-1.0.0/AIO_QC/icons/stop.svg +1 -0
  537. aio_qc-1.0.0/AIO_QC/icons/tag.svg +1 -0
  538. aio_qc-1.0.0/AIO_QC/icons/tool-ambiguity.svg +1 -0
  539. aio_qc-1.0.0/AIO_QC/icons/tool-class.svg +1 -0
  540. aio_qc-1.0.0/AIO_QC/icons/tool-coverage.svg +1 -0
  541. aio_qc-1.0.0/AIO_QC/icons/tool-crop-gallery.svg +1 -0
  542. aio_qc-1.0.0/AIO_QC/icons/tool-dataprep.svg +1 -0
  543. aio_qc-1.0.0/AIO_QC/icons/tool-dim-area.svg +1 -0
  544. aio_qc-1.0.0/AIO_QC/icons/tool-dup-shapes.svg +1 -0
  545. aio_qc-1.0.0/AIO_QC/icons/tool-editor.svg +1 -0
  546. aio_qc-1.0.0/AIO_QC/icons/tool-empty.svg +6 -0
  547. aio_qc-1.0.0/AIO_QC/icons/tool-export.svg +1 -0
  548. aio_qc-1.0.0/AIO_QC/icons/tool-guidelines.svg +1 -0
  549. aio_qc-1.0.0/AIO_QC/icons/tool-handoff.svg +1 -0
  550. aio_qc-1.0.0/AIO_QC/icons/tool-image-dups.svg +1 -0
  551. aio_qc-1.0.0/AIO_QC/icons/tool-inbox.svg +1 -0
  552. aio_qc-1.0.0/AIO_QC/icons/tool-label-map.svg +1 -0
  553. aio_qc-1.0.0/AIO_QC/icons/tool-model-check.svg +10 -0
  554. aio_qc-1.0.0/AIO_QC/icons/tool-model-setup.svg +1 -0
  555. aio_qc-1.0.0/AIO_QC/icons/tool-ocr.svg +1 -0
  556. aio_qc-1.0.0/AIO_QC/icons/tool-outliers.svg +1 -0
  557. aio_qc-1.0.0/AIO_QC/icons/tool-quality.svg +1 -0
  558. aio_qc-1.0.0/AIO_QC/icons/tool-remove-class.svg +1 -0
  559. aio_qc-1.0.0/AIO_QC/icons/tool-report.svg +1 -0
  560. aio_qc-1.0.0/AIO_QC/icons/tool-review-grid.svg +1 -0
  561. aio_qc-1.0.0/AIO_QC/icons/tool-roi.svg +1 -0
  562. aio_qc-1.0.0/AIO_QC/icons/tool-rules.svg +1 -0
  563. aio_qc-1.0.0/AIO_QC/icons/tool-sampling.svg +1 -0
  564. aio_qc-1.0.0/AIO_QC/icons/tool-saved-filter.svg +1 -0
  565. aio_qc-1.0.0/AIO_QC/icons/tool-sequence.svg +1 -0
  566. aio_qc-1.0.0/AIO_QC/icons/tool-similar.svg +1 -0
  567. aio_qc-1.0.0/AIO_QC/icons/tool-sketch.svg +1 -0
  568. aio_qc-1.0.0/AIO_QC/icons/tool-smart-filter.svg +1 -0
  569. aio_qc-1.0.0/AIO_QC/icons/tool-splits.svg +1 -0
  570. aio_qc-1.0.0/AIO_QC/icons/tool-stats.svg +1 -0
  571. aio_qc-1.0.0/AIO_QC/icons/tool-validation.svg +1 -0
  572. aio_qc-1.0.0/AIO_QC/icons/undo.svg +1 -0
  573. aio_qc-1.0.0/AIO_QC/icons/zoom-in.svg +1 -0
  574. aio_qc-1.0.0/AIO_QC/icons/zoom-out.svg +1 -0
  575. aio_qc-1.0.0/AIO_QC/icons/zoom.svg +1 -0
  576. aio_qc-1.0.0/AIO_QC/utils/__init__.py +10 -0
  577. aio_qc-1.0.0/AIO_QC/utils/color_scale.py +81 -0
  578. aio_qc-1.0.0/AIO_QC/utils/font_loader.py +31 -0
  579. aio_qc-1.0.0/AIO_QC/utils/io.py +70 -0
  580. aio_qc-1.0.0/AIO_QC/utils/qt_utils.py +325 -0
  581. aio_qc-1.0.0/AIO_QC/utils/shape.py +85 -0
  582. aio_qc-1.0.0/AIO_QC/utils/theme.py +94 -0
  583. aio_qc-1.0.0/AIO_QC/validators/README.md +23 -0
  584. aio_qc-1.0.0/AIO_QC/validators/date.py +25 -0
  585. aio_qc-1.0.0/AIO_QC/validators/digits_only.py +8 -0
  586. aio_qc-1.0.0/AIO_QC/validators/gs1_barcode_number.py +14 -0
  587. aio_qc-1.0.0/AIO_QC/validators/iban.py +12 -0
  588. aio_qc-1.0.0/AIO_QC/validators/indian_plate.py +28 -0
  589. aio_qc-1.0.0/AIO_QC/validators/isbn.py +15 -0
  590. aio_qc-1.0.0/AIO_QC/validators/iso6346_container.py +23 -0
  591. aio_qc-1.0.0/AIO_QC/validators/letters_digits.py +10 -0
  592. aio_qc-1.0.0/AIO_QC/validators/vin.py +23 -0
  593. aio_qc-1.0.0/AIO_QC/widgets/__init__.py +13 -0
  594. aio_qc-1.0.0/AIO_QC/widgets/anim.py +181 -0
  595. aio_qc-1.0.0/AIO_QC/widgets/base_scan.py +841 -0
  596. aio_qc-1.0.0/AIO_QC/widgets/canvas.py +1347 -0
  597. aio_qc-1.0.0/AIO_QC/widgets/card_gallery.py +387 -0
  598. aio_qc-1.0.0/AIO_QC/widgets/charts.py +446 -0
  599. aio_qc-1.0.0/AIO_QC/widgets/class_removal_dialog.py +258 -0
  600. aio_qc-1.0.0/AIO_QC/widgets/command_palette.py +165 -0
  601. aio_qc-1.0.0/AIO_QC/widgets/coverage_dialog.py +134 -0
  602. aio_qc-1.0.0/AIO_QC/widgets/crop_gallery.py +918 -0
  603. aio_qc-1.0.0/AIO_QC/widgets/data_prep.py +724 -0
  604. aio_qc-1.0.0/AIO_QC/widgets/dataset_watcher.py +49 -0
  605. aio_qc-1.0.0/AIO_QC/widgets/dup_gallery.py +305 -0
  606. aio_qc-1.0.0/AIO_QC/widgets/editor_session_dialog.py +1002 -0
  607. aio_qc-1.0.0/AIO_QC/widgets/export_dialog.py +581 -0
  608. aio_qc-1.0.0/AIO_QC/widgets/file_list.py +636 -0
  609. aio_qc-1.0.0/AIO_QC/widgets/filmstrip.py +149 -0
  610. aio_qc-1.0.0/AIO_QC/widgets/flagged_dialog.py +285 -0
  611. aio_qc-1.0.0/AIO_QC/widgets/get_started.py +509 -0
  612. aio_qc-1.0.0/AIO_QC/widgets/guidelines.py +443 -0
  613. aio_qc-1.0.0/AIO_QC/widgets/handoff_dialog.py +530 -0
  614. aio_qc-1.0.0/AIO_QC/widgets/history_panel.py +210 -0
  615. aio_qc-1.0.0/AIO_QC/widgets/image_quality_dialog.py +209 -0
  616. aio_qc-1.0.0/AIO_QC/widgets/inference_service.py +164 -0
  617. aio_qc-1.0.0/AIO_QC/widgets/inline_editor.py +269 -0
  618. aio_qc-1.0.0/AIO_QC/widgets/issues_dialog.py +345 -0
  619. aio_qc-1.0.0/AIO_QC/widgets/keymap.py +352 -0
  620. aio_qc-1.0.0/AIO_QC/widgets/label_map_dialog.py +338 -0
  621. aio_qc-1.0.0/AIO_QC/widgets/lifecycle.py +217 -0
  622. aio_qc-1.0.0/AIO_QC/widgets/mini_session.py +347 -0
  623. aio_qc-1.0.0/AIO_QC/widgets/model_check_dialog.py +1362 -0
  624. aio_qc-1.0.0/AIO_QC/widgets/model_setup_dialog.py +982 -0
  625. aio_qc-1.0.0/AIO_QC/widgets/ocr_dialog.py +672 -0
  626. aio_qc-1.0.0/AIO_QC/widgets/process_runner.py +99 -0
  627. aio_qc-1.0.0/AIO_QC/widgets/qc_basic.py +984 -0
  628. aio_qc-1.0.0/AIO_QC/widgets/qc_power.py +1064 -0
  629. aio_qc-1.0.0/AIO_QC/widgets/region_canvas.py +248 -0
  630. aio_qc-1.0.0/AIO_QC/widgets/report_dialog.py +237 -0
  631. aio_qc-1.0.0/AIO_QC/widgets/review_grid.py +464 -0
  632. aio_qc-1.0.0/AIO_QC/widgets/ribbon.py +478 -0
  633. aio_qc-1.0.0/AIO_QC/widgets/rules_dialog.py +380 -0
  634. aio_qc-1.0.0/AIO_QC/widgets/sampling_dialog.py +329 -0
  635. aio_qc-1.0.0/AIO_QC/widgets/sequence_dialog.py +237 -0
  636. aio_qc-1.0.0/AIO_QC/widgets/session.py +922 -0
  637. aio_qc-1.0.0/AIO_QC/widgets/similarity_dialog.py +612 -0
  638. aio_qc-1.0.0/AIO_QC/widgets/sketch.py +1294 -0
  639. aio_qc-1.0.0/AIO_QC/widgets/split_health_dialog.py +243 -0
  640. aio_qc-1.0.0/AIO_QC/widgets/status_button.py +85 -0
  641. aio_qc-1.0.0/AIO_QC/widgets/storage_dialog.py +321 -0
  642. aio_qc-1.0.0/AIO_QC/widgets/toast.py +347 -0
  643. aio_qc-1.0.0/AIO_QC/widgets/tool_bar.py +28 -0
  644. aio_qc-1.0.0/AIO_QC/widgets/validator_editor.py +350 -0
  645. aio_qc-1.0.0/AIO_QC/widgets/views_dialog.py +516 -0
  646. aio_qc-1.0.0/AIO_QC/widgets/workers.py +150 -0
  647. aio_qc-1.0.0/AIO_QC/widgets/zoom_widget.py +165 -0
  648. aio_qc-1.0.0/LICENSE +25 -0
  649. aio_qc-1.0.0/MANIFEST.in +6 -0
  650. aio_qc-1.0.0/PKG-INFO +294 -0
  651. aio_qc-1.0.0/README.md +225 -0
  652. aio_qc-1.0.0/THIRD_PARTY_NOTICES.md +22 -0
  653. aio_qc-1.0.0/aio_qc.egg-info/PKG-INFO +294 -0
  654. aio_qc-1.0.0/aio_qc.egg-info/SOURCES.txt +667 -0
  655. aio_qc-1.0.0/aio_qc.egg-info/dependency_links.txt +1 -0
  656. aio_qc-1.0.0/aio_qc.egg-info/entry_points.txt +5 -0
  657. aio_qc-1.0.0/aio_qc.egg-info/requires.txt +10 -0
  658. aio_qc-1.0.0/aio_qc.egg-info/top_level.txt +1 -0
  659. aio_qc-1.0.0/licenses/AVHersheySimplex-CC0-WTFPL.txt +17 -0
  660. aio_qc-1.0.0/licenses/Inter-OFL-1.1.txt +52 -0
  661. aio_qc-1.0.0/licenses/JetBrainsMono-OFL-1.1.txt +52 -0
  662. aio_qc-1.0.0/licenses/Phosphor-Icons-MIT.txt +21 -0
  663. aio_qc-1.0.0/licenses/README.md +21 -0
  664. aio_qc-1.0.0/licenses/SourceCodePro-OFL-1.1.txt +52 -0
  665. aio_qc-1.0.0/licenses/labelImg-MIT.txt +9 -0
  666. aio_qc-1.0.0/licenses/labelme-GPL-3.0.txt +674 -0
  667. aio_qc-1.0.0/pyproject.toml +67 -0
  668. aio_qc-1.0.0/requirements.txt +11 -0
  669. aio_qc-1.0.0/setup.cfg +4 -0
@@ -0,0 +1,5 @@
1
+ # SPDX-FileCopyrightText: 2026 Preetkaran Singh
2
+ # SPDX-License-Identifier: MIT
3
+ __appname__ = "AIO QC Tool"
4
+ __version__ = "1.0.0"
5
+ # NOTE: keep this file Qt-free so `AIO_QC.core` can be imported/tested headless.
@@ -0,0 +1,151 @@
1
+ # SPDX-FileCopyrightText: 2026 Preetkaran Singh
2
+ # SPDX-License-Identifier: MIT
3
+ import os, argparse, sys, io, contextlib
4
+ from loguru import logger
5
+
6
+ from AIO_QC import __appname__
7
+ from AIO_QC import __version__
8
+ # Qt and the app are imported in main() after the arguments are read, so `--version` / `--help` work instantly and
9
+ # without a display.
10
+ QApplication = MainWindow = appIcon = lifecycle = None
11
+
12
+ class _LoggerIO(io.StringIO):
13
+ def write(self, message: str) -> int:
14
+ if stripped_message := message.strip():
15
+ logger.debug(stripped_message)
16
+ return len(message)
17
+
18
+ def flush(self) -> None:
19
+ pass
20
+
21
+ def writable(self) -> bool:
22
+ return True
23
+
24
+ def readable(self) -> bool:
25
+ return False
26
+
27
+ def seekable(self) -> bool:
28
+ return False
29
+
30
+ @property
31
+ def closed(self) -> bool:
32
+ return False
33
+
34
+ from AIO_QC.core.appdirs import log_dir as _log_dir
35
+
36
+ LOG_FILE = str(_log_dir() / "aio_qc_tool.log") # source: current folder · exe: <data>/logs (core.appdirs)
37
+
38
+
39
+ def _setup_loguru(logger_level: str) -> None:
40
+ try:
41
+ logger.remove(handler_id=0)
42
+ except ValueError:
43
+ pass
44
+
45
+ if sys.stderr:
46
+ logger.add(sys.stderr, level=logger_level)
47
+
48
+ log_file = LOG_FILE
49
+ logger.add(
50
+ log_file,
51
+ colorize=False,
52
+ level="DEBUG",
53
+ rotation="10 MB",
54
+ retention="1 year",
55
+ compression="gz",
56
+ enqueue=True,
57
+ backtrace=True,
58
+ diagnose=True,
59
+ )
60
+
61
+ def _install_excepthook() -> None:
62
+ """PyQt6 aborts the process on an unhandled exception inside a slot/virtual.
63
+ Log it instead so one bad file never kills a QC session."""
64
+ def hook(exc_type, exc, tb):
65
+ if issubclass(exc_type, KeyboardInterrupt): # Ctrl+C surfacing inside a slot
66
+ lifecycle.set_exit_reason("Ctrl+C from the terminal")
67
+ logger.warning("Ctrl+C — closing AIO QC gracefully")
68
+ app = QApplication.instance()
69
+ win = getattr(app, "main_window", None) if app else None
70
+ if win is not None:
71
+ win.request_quit("Ctrl+C")
72
+ elif app is not None:
73
+ app.quit()
74
+ return
75
+ logger.opt(exception=(exc_type, exc, tb)).error("Unhandled exception")
76
+ app = QApplication.instance()
77
+ win = getattr(app, "main_window", None) if app else None
78
+ if win is not None:
79
+ win.log_errors([f"Unhandled {exc_type.__name__}: {exc}"])
80
+ sys.excepthook = hook
81
+
82
+
83
+ def main():
84
+ parser = argparse.ArgumentParser(prog="aio-qc", description=f"{__appname__} — quality control for annotated "
85
+ "image datasets (LabelMe / YOLO)")
86
+ parser.add_argument("--version", "-V", action="store_true", help="show version")
87
+ parser.add_argument(
88
+ "--logger-level",
89
+ default="info",
90
+ choices=["debug", "info", "warning", "fatal", "error"],
91
+ help="logger level",
92
+ )
93
+ args = parser.parse_args()
94
+
95
+ if args.version:
96
+ print(f"{__appname__} {__version__}")
97
+ sys.exit(0)
98
+
99
+ global QApplication, MainWindow, appIcon, lifecycle
100
+ from PyQt6.QtWidgets import QApplication
101
+ from AIO_QC.app import MainWindow
102
+ from AIO_QC.utils import appIcon
103
+ from AIO_QC.widgets import lifecycle
104
+ _setup_loguru(logger_level=args.logger_level.upper())
105
+ logger.info(f"Starting {__appname__} {__version__} · Python {sys.version.split()[0]} · {sys.platform}")
106
+ try:
107
+ code = _run(args)
108
+ except KeyboardInterrupt: # Ctrl+C before the window existed (or during start-up)
109
+ lifecycle.set_exit_reason("Ctrl+C during start-up")
110
+ logger.warning("Interrupted (Ctrl+C) before AIO QC finished starting")
111
+ code = 130
112
+ except SystemExit as exc:
113
+ code = exc.code if isinstance(exc.code, int) else 0
114
+ except BaseException:
115
+ lifecycle.set_exit_reason("crash during start-up")
116
+ logger.exception("AIO QC could not start")
117
+ code = 1
118
+ lifecycle.set_exit_code(code)
119
+ sys.exit(code)
120
+
121
+
122
+ def _run(args) -> int:
123
+
124
+ if sys.platform == "win32":
125
+ # Own taskbar identity: otherwise Windows groups the window under python.exe and shows Python's icon
126
+ try:
127
+ import ctypes
128
+ ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(f"AIO_QC.{__version__}")
129
+ except Exception:
130
+ pass
131
+ app = QApplication(sys.argv)
132
+ app.setApplicationName(__appname__)
133
+ app.setApplicationVersion(__version__)
134
+ app.setWindowIcon(appIcon())
135
+ lifecycle.install(app, os.path.dirname(os.path.abspath(LOG_FILE))) # Qt messages, Ctrl+C, crashes, exit
136
+
137
+ _install_excepthook()
138
+ window = MainWindow()
139
+ app.main_window = window
140
+
141
+ with contextlib.redirect_stderr(new_target=_LoggerIO()):
142
+ window.show()
143
+ window.raise_()
144
+ code = app.exec()
145
+ logger.debug(f"event loop finished (code {code})")
146
+ return code
147
+
148
+ if __name__ == "__main__":
149
+ import multiprocessing
150
+ multiprocessing.freeze_support() # packaged builds: process-pool workers (Crop Gallery) start correctly
151
+ main()