1458 Achegas 5af9b7b8e0 ... 96c7132de1

Autor SHA1 Mensaxe Data
  Noman 96c7132de1 Changes made to labelme to integrate with Paddle Detection and Paddle Segmentation hai 7 meses
  Tricolops 5af9b7b8e0 remove 7z file hai 10 meses
  Tricolops e54fb05bf8 Revert "Revert "fix some bugs"" hai 10 meses
  Tricolops 6e83472924 Revert "fix some bugs" hai 10 meses
  Tricolops 0f3244d604 fix some bugs hai 10 meses
  Tricolops 9915b88bb8 remove reame hai 10 meses
  Tricolops 7eeb4b7778 code update hai 10 meses
  Tricolops 7f2ec36ef3 labelmewithAI hai 10 meses
  Kentaro Wada aca3e64545 5.5.0 hai 11 meses
  Kentaro Wada 76cdf0b1ad Fix slider alignment in BrightnessContrastDialog hai 11 meses
  Kentaro Wada fd3354cb7f Fix the stride in BrightnessContrastDialog hai 11 meses
  Kentaro Wada 5a1ed9f209 Upgrade python in release.yml: 3.7 -> 3.9 hai 11 meses
  Kentaro Wada 90d4111c15 Update .github/workflows/release.yml hai 11 meses
  Kentaro Wada 24c446c878 Update setup-miniconda to v3 hai 11 meses
  Kentaro Wada a534e7c421 Remove X/Twitter from README hai 11 meses
  Kentaro Wada 913927c147 Show xy coordinate in the status bar hai 1 ano
  Kentaro Wada 1fd98ba452 Rename function name more pythonic hai 11 meses
  Kentaro Wada d220eb7914 Support multiple edit of annotations hai 11 meses
  Kentaro Wada 97bee58a8e Introduce base_value for 50 hai 11 meses
  Kentaro Wada 87b015d9dc Revert "Fix get_long_description" hai 11 meses
  PairZhu d2370f63fd Optimize the brightness contrast adjustment hai 11 meses
  PairZhu 4d2d0f7335 Fix get_long_description hai 11 meses
  Kentaro Wada 24a3a5f8f9 Apply ruff hai 11 meses
  RachamimYaakobov ba5594abbf Update canvas.py hai 1 ano
  杰瑞雾里 4329343b14 1.Modified several instances of text without localization processing hai 1 ano
  Kentaro Wada 9085123e56 Save mask as uint8 for better compatibility with other tools hai 11 meses
  Wang Xin 906a2173eb Update app.py hai 1 ano
  Wang Xin c337ff341e Update app.py hai 1 ano
  Wang Xin 3ba59468ca fix a typo hai 1 ano
  Kentaro Wada f476970b2f [isort] -> [lint.isort] hai 11 meses
  Kentaro Wada 7051f3bfa6 Upgrade setup-miniconda hai 11 meses
  Kentaro Wada 03fc6606d5 Update README.md hai 11 meses
  Kentaro Wada 0a6b463a9d Revert "Clean up README" hai 11 meses
  Kentaro Wada 918158bbb7 Clean up README hai 11 meses
  Kentaro Wada c75acc7701 Add link to Toolkit hai 1 ano
  Kentaro Wada 12d425b956 Dual license for some of the Labelme utils hai 1 ano
  Kentaro Wada 1d1ba7007a Refactor LICENSE year part hai 1 ano
  Wang Xin 3a1f655407 Remove a duplicate statement hai 1 ano
  Wang Xin 9a9af93bb4 fix a typo hai 1 ano
  Kentaro Wada 4b6813fb0d Keep selected state when duplicating shapes hai 1 ano
  Kentaro Wada 7abb6aa756 Update links of Starter Guide hai 1 ano
  anonymousdouble 82dc203f40 Update util.py hai 1 ano
  Kentaro Wada a38ad73684 Update .github/workflows/release.yml hai 1 ano
  Kentaro Wada 53c4a5c6ab 5.4.1 hai 1 ano
  Kentaro Wada 13aaa3d520 Add copy and paste to edit menu (need to enable shortcut) hai 1 ano
  Kentaro Wada bac7d669fc Stop using emoji that can cause encoding issue on Windows hai 1 ano
  Kentaro Wada 5a546a49ab Handle empty contour case hai 1 ano
  Kentaro Wada e618e49439 Update release.yml template hai 1 ano
  Kentaro Wada 37f103d5cf 5.4.0.post1 hai 1 ano
  Kentaro Wada f64c106e51 Set permissions write for all jobs in release.yml hai 1 ano
  Kentaro Wada 3d3f42e936 5.4.0.post0 hai 1 ano
  Kentaro Wada 1156236c57 Set write permissions for release workflow to create tag hai 1 ano
  Kentaro Wada fdd4a3e0d7 5.4.0 hai 1 ano
  Kentaro Wada 44efd36bdc Refactor regex filename search hai 1 ano
  Michael Litvin 785b2187dd Regex filename search %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 3c8c4576fd Add translate folder to package_data hai 1 ano
  wongxy aee5c5501d fix(i18n): add qm files to runtime hai 1 ano
  Kentaro Wada c0330d4ffa Apply ruff hai 1 ano
  Kentaro Wada 9f34a8d686 No shortcuts by default to show/hide all polygons hai 1 ano
  Michael Litvin f30ad5a197 Toggle all polygons menu with shortcuts %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 7328a7c702 Fix link of image classification example hai 1 ano
  Kentaro Wada d6eb58db71 Remove imperfect "Object Detection Dataset" example from README hai 1 ano
  Kentaro Wada 7617b69579 Remove unnecessary comments from README.md hai 1 ano
  Michael Litvin ec88ffedd0 os.path.normpath filenames to display paths correctly on Windows %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada f063b64b58 Use tight bounding box to represent bbox for shape_type="mask" hai 1 ano
  Kentaro Wada 68f6b3c0de Use lxml<5.0.0 for bbox_detection/labelme2voc.py hai 1 ano
  Kentaro Wada ca07cccb3b Add Makefile hai 1 ano
  Kentaro Wada 8eb9acf4d6 Use ruff==0.1.9 in CI hai 1 ano
  Kentaro Wada b0e9b453b4 Enable Pyflakes "F" hai 1 ano
  Kentaro Wada d1b8a22adc Enable "I" in ruff.toml hai 1 ano
  Kentaro Wada 397c94a2d4 Apply ruff to examples/ hai 1 ano
  Kentaro Wada cdea31352e Apply ruff to tests/ hai 1 ano
  Kentaro Wada 7e08806f4d Apply ruff to setup.py hai 1 ano
  Kentaro Wada 77688de105 Stop using ambiguous variable names hai 1 ano
  Kentaro Wada 62d5f92548 Use line-length 88 instead of 79 hai 1 ano
  Kentaro Wada ae649d6ab1 Use ruff to replace black and flake8 hai 1 ano
  Kentaro Wada 8088375d7b Use Xvfb to run tests only on ubuntu-latest hai 1 ano
  Kentaro Wada da3de4f262 Fix test_MainWindow_annotate_jpg hai 1 ano
  Kentaro Wada 5b692a78ce Download onnx models from Github release of efficient-sam hai 1 ano
  Kentaro Wada 05812d5993 Fix import order in _utils.py hai 1 ano
  Kentaro Wada 9cb4641208 Add EfficientSam to AI models hai 1 ano
  Kentaro Wada 1c23cf0d43 Set default ai model by config hai 1 ano
  Kentaro Wada d09151fa66 Make default logger level debug hai 1 ano
  Kentaro Wada 2ce212dbf7 Use class to represent AI model hai 1 ano
  Kentaro Wada 78891cebcd Move segment_anything_model.py to ai directory hai 1 ano
  Kentaro Wada 390d32c044 Handle when pixmap is not set yet hai 1 ano
  Kentaro Wada 9afd7556ff Refactor segment_anything.py hai 1 ano
  Kentaro Wada 3fcf5213e6 Set encoding to utf8 to fix errors on Windows hai 1 ano
  Kentaro Wada 2975accef1 Add X account section in README.md hai 1 ano
  Kentaro Wada e816cf6762 Update release note template hai 1 ano
  Kentaro Wada 0eeac0a1df Bump 5.4.0a0 hai 1 ano
  Kentaro Wada 7760879737 Set onnxruntime!=1.16.0 to avoid providers argument requirements hai 1 ano
  Kentaro Wada c6956c726a Remove small noisy objects from mask hai 1 ano
  Kentaro Wada 897ea14e5b Add createMode="ai_mask" that generates shape_type="mask" hai 1 ano
  Kentaro Wada 2219a1d48f Fix img_arr_to_b64 hai 1 ano
  Kentaro Wada b13e6a49a8 Implement utils.img_arr_to_data hai 1 ano
  Kentaro Wada 1cca2447c6 Add predict_mask_from_points to SegmentAnythingModel hai 1 ano
  Kentaro Wada ea38ce0b04 Fill polygon by color for ai_polygon hai 1 ano
  Kentaro Wada 635d76195e Use more transparent color for select_fill_color for visibility hai 1 ano
  Kentaro Wada 330199cbed Refactor toggleDrawMode hai 1 ano
  Kentaro Wada 103f96167f Enable selectAiModel by default even before start using AI hai 1 ano
  Kentaro Wada 7ba1b0c839 Stop using test function to get window instance hai 1 ano
  Kentaro Wada 631ad507d5 Increase resolution of polygon approximation hai 1 ano
  Kentaro Wada d7c00df8f5 Update README.md hai 1 ano
  Kentaro Wada f7e5411e33 Update README.md hai 1 ano
  Kentaro Wada 8ad785fbad Resize icons to be 32x32 hai 1 ano
  Kentaro Wada a810b907ca Fix renamed export file folder in README hai 1 ano
  Kentaro Wada 420709dda4 Fix for flake8 hai 1 ano
  Kentaro Wada a6e34d875b Add asctime to logging hai 1 ano
  Kentaro Wada ea320efcdd Use fitWindow as action menu hai 1 ano
  Kentaro Wada 5fb13e8200 Improve the order of openNext and openPrev hai 1 ano
  Kentaro Wada a02f3d2270 Resize icons smaller than 32x32 to 32x32 to align them hai 1 ano
  Kentaro Wada 80d80861d9 Clean up tool manu: remove ones less common, make diff in action and others hai 1 ano
  Kentaro Wada dcc0a2342a Remove unnecessary underscore from menu title hai 1 ano
  Kentaro Wada 6152d6b3ff Add newline to short action manu title hai 1 ano
  Kentaro Wada f85133a01a Remove setFont call not to mess the font hai 1 ano
  Kentaro Wada 67e489ba23 Update README.md hai 1 ano
  Kentaro Wada 622e9e3ec1 Starter Bundle -> Starter Pack hai 1 ano
  Kentaro Wada 4e7a25e220 Update README.md hai 1 ano
  Kentaro Wada d39ba17287 Sort json file processing in labelme2voc.py hai 1 ano
  Kentaro Wada 74c4664129 Support --labels to be comma separated text hai 1 ano
  Kentaro Wada 1905d531eb Update README.md hai 1 ano
  Kentaro Wada a1edc60420 Rename Starter Kit -> Starter Bundle hai 1 ano
  Kentaro Wada 13d7fdf715 Update README.md hai 1 ano
  Kentaro Wada 03e22e9bfd Update README.md hai 1 ano
  Kentaro Wada aa91168e4c Export original VOC format in labelme2voc.py hai 1 ano
  Kentaro Wada 629171edcd Show label_names and image in draw_label_png.py hai 1 ano
  Kentaro Wada b69870a79a Set INFO as default logger level hai 1 ano
  Kentaro Wada 7b1d240b1b 5.3.1 hai 1 ano
  Kentaro Wada 7073205a95 Export file without extention in its name hai 1 ano
  Kentaro Wada 98fde75afc Update README.md hai 1 ano
  Kentaro Wada c8f01c4958 Update README.md hai 1 ano
  Kentaro Wada 0d28e9c8e1 5.3.0 hai 1 ano
  Kentaro Wada 09b0812a94 Rename labelme_json_to_dataset -> labelme_export_json hai 1 ano
  Kentaro Wada bd2cafd17d 5.3.0a0 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada abd4424d9e Fix find_contours on the image border %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 76584bbb5f Only run flake8 on labelme/ %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada d1bd523539 Remove unused import gdown %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada c201114850 Fix for flake8, black %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 6ef3f90bb5 Make sure onnxruntime>=1.14.1 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada c5e0030529 Initialize self._thread by None %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada e92bba9219 Give options to select AI models %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada d6535830e9 Add QLabel for "Zoom" %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 60ad92d6da Put toolBar top by default %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 57ba5bb302 Remove unnecessary version check in label_file.py %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 84c6c79630 Fix for black %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 7ea7edef4d Fix for flake8 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 546445bedd Drop last polygon points from _compute_polygon_from_points as duplicate %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 99c37594b9 Treat zero length line as line to avoid unintuitive behavior %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada a3cec08aa7 Use black for fill_color and make fill_color=true by default %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 1f96108115 Refactor the threading for image_embedding computation %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 7acedaecd1 Rename points_to_polygon_callback -> predict_polygon_from_points %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada b5e54e779b Add real-time rendering of ai_model points_to_polygon prediction %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 43b71888d3 Add self._config["canvas"]["fill_drawing"] %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 8613cfcf4c Support createMode="ai_polygon" in self.double_click %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada e65a7989b7 Fix behavior of self.double_click="close" (no need 4 points) %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 9e0150c3a8 Support 1-click annotation with createMode="ai_polygon" %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada f3f880e5bb Fix uninitialized image for AI model when annotating consecutive images %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada ef01600e99 Make utility functions for Segment-Anything Model private %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 97b7b81c1a Support portraint images in Segment-Anything Model %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada d42e3c6e23 Fix for flake8 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 050f85045a Add logging to SegmentAnythingModel %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada d987c44e5c Fix logger for Python3 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 0bacc48517 Add image_embedding_cache %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 29f85bfa1e Add gdown, onnxruntime, scikit-image to install_requires %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 688ff43300 Download onnx files from GitHub Release %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 515d33d393 Enable combination of Ctrl and Shift %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 378ab6e572 Support negative point label for SAM %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada ac3a7c63b4 Introduce Segment-Anything model for crateMode="ai_polygon" %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada b68871f004 5.2.1 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada cf53837eef Fix undefined description when display_label_popup=False %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 907a871c8f Fix tests for the newly added description %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 637b52dba6 5.2.0.post4 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 06a612c33c Revert back to ::set-output %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada eb637a1de2 5.2.0.post3 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 0069c4d8f0 Fix github release action by adding id: create_release %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada a4173b16a4 5.2.0.post2 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada f8cf946b04 GITHUB_STATE -> GITHUB_OUTPUT %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 25f12f8662 5.2.0.post1 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 79d90254c2 Migrate set-output to >> $GITHUB_STATE %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada bb15893b4f 5.2.0.post0 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 3d9af990f9 Recover release url file for uploading artifacts %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 2835052954 5.2.0 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada b366e95fe0 Create release tag with changelog %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 2dbea4bfd5 Rename content -> description %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada a024e70c81 Use FixedHeight to layout labelList and textEdit %!s(int64=2) %!d(string=hai) anos
  Michał Woś ca7ffb3b34 Apply black auto-formatting - make static check happy %!s(int64=3) %!d(string=hai) anos
  Michał Woś 25bbb82784 Add label specific content %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 151b8b60c6 Protect unsupported point removal in removePoint %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada d8a13a3980 Use QPointF to handle float in Canvas.boundedMoveShapes %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada b98d5155ad Resolve CI failures %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 819643f8ca Create FUNDING.yml %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 2b225b2b38 5.1.1 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada f294c37bb5 matplotlib<3.3 is only requirement for PyInstaller %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada ea121918ec 5.1.0 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 2187de1e79 Support crosshair along with cursor %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 8556159651 Stop supporting docker since it is unstable + docker hub has changed %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada be4629a3c9 5.0.5 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 70add16763 Update .github/workflows/ci.yml %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada d0983dca29 Use QPointF to avoid TypeError in Python3.10 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada ef2cbd4604 5.0.4 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 1a2cadb5b5 Fix for black==22.8.0 %!s(int64=2) %!d(string=hai) anos
  박상민 c0454cae39 Fix always call setDirty after removing selected point %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 770f55f2d1 Fix for unsupported float for setValue %!s(int64=2) %!d(string=hai) anos
  박상민 c6b823723d Remove duplicated declaration %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada c6fa3b7876 logger.warn -> logger.warning %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada aeed5317bb qtbot.waitForWindowShown -> qtbot.waitExposed %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 03d678fb1a Add pytest.ini %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 0342c46c3e Fix for sizeHint: it must return QSizeF %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada a5cca50965 Improve .flake8 to ignore all of the hidden files %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 4c98193b7e 5.0.3 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada bcb97bf82a Use QPointF and QSizeF to avoid TypeErrors in Python3.10 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 0082efa844 Add Youtube playlist for FAQ %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 04307a2ce4 5.0.2 %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 6d5bee08d4 Skip gui tests on GitHub Actions for now %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada a37aa20515 Fix editLabel crash due to the novel label name in self.uniqLabelList %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 819a93cbbc Escape label name to support labels like <cat>, <background> %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada bb30184458 Update .github/ISSUE_TEMPLATE/1.bug_report.yml %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada a6a8ee8154 Update README.md %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada d5a684e266 Add more ISSUE_TEMPLATE %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada 94641f5b09 Add .github/ISSUE_TEMPLATE %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada f24982e8f1 Stop using setLoggerClass %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada addfed4229 Fix black %!s(int64=2) %!d(string=hai) anos
  Kentaro Wada d6d3292e96 5.0.1 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada a0f62e09b3 5.0.1a0 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 745f37ee47 Remove github2pypi and project cleanup %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 3e0f71831e Refactor setup.py %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 1db6862044 5.0.0 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 3dad964018 Update README.md %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada ed5f76a219 Delete man file as it is not so helpful: --help is fine %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 4d4cd2033e Use natsort.os_sorted to sort files in the browser %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 423aca79c1 Drop PyQt4 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada a3126e06e6 Drop Python2 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 07af1d3f31 Remove GITHUB_ISSUE_TEMPLATE as it seems not helping %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 8250d0b2a9 Use Python 3.9 in CI %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada ddf78d56df Specify versions of hacking and black %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada dcd8a3dea7 Apply black 22.1.0 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada f8097a4b19 Update .github/ISSUE_TEMPLATE %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 6ccebff317 Update README.md %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 03236ae92e Add CITATION.cff %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada ed8169c85b 4.6.0 %!s(int64=3) %!d(string=hai) anos
  Bc. Martin Kubovčík 8515fd6f4a Preview images on file dialogs (#948) %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada b90a305a7b Fix for PyQt4 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 54eadef16a Run PyQt4 test on CI %!s(int64=3) %!d(string=hai) anos
  Joshua a7923513b6 Adaptively approximate the circle shape (#945) %!s(int64=3) %!d(string=hai) anos
  Bc. Martin Kubovčík f696ea7a26 Movement with arrow keys (#942) %!s(int64=3) %!d(string=hai) anos
  Bc. Martin Kubovčík 806800efb0 Deselect shape when clicking and already selected (#950) %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 4754b26e73 Revert "Deselect shape when clicking and already selected (#944)" (#949) %!s(int64=3) %!d(string=hai) anos
  Bc. Martin Kubovčík 9d9914e8a4 Deselect shape when clicking and already selected (#944) %!s(int64=3) %!d(string=hai) anos
  Bc. Martin Kubovčík dc8e3ce2aa Fix crashes when moving a polygon after copying %!s(int64=3) %!d(string=hai) anos
  Changwoo Song a057253399 Update label color immediately after 'edit label' (#864) %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada e8e821000f Fix keyboardModifiers() for keep_prev (#939) %!s(int64=3) %!d(string=hai) anos
  Sebastian Ruiz 7e7ed18738 feature: copy and paste polygons (#818) %!s(int64=3) %!d(string=hai) anos
  firesh 975fe115bf Add support circle shap_type on label2coco.py (#804) %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 75d085e169 Remove value=200 to avoid confusion (#938) %!s(int64=3) %!d(string=hai) anos
  Charlie 39d4f7611c Add shortcut for remove selected point (#802) %!s(int64=3) %!d(string=hai) anos
  Tim Gates 7d098ed776 docs: fix simple typo, constrast -> contrast %!s(int64=4) %!d(string=hai) anos
  Naiyang Lin 697b056054 Add "Keep Previous Scale" checkbox (#770) %!s(int64=3) %!d(string=hai) anos
  Bc. Martin Kubovcik d1738fc510 Interactively adding point to edge %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 169673122d Fix master -> main in ci.yml %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada c7ba122e1b Skip visualization for images with no annotation in labelme2coco.py %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 4aa785f118 4.5.13 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada c256682f36 master -> main %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 734ff14b7d Add question issue template %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada fc3e505737 Add Homebrew installation to README %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 19197e2be4 4.5.12 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada f961f5e412 Skip ci with pyqt4v2 because of unknown error %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 3f9350b99c Disable snapping while Alt is pressed %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 7bb808d54f Make shape.point_size configurable with the config file %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada d080544af4 Update setup.py %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 8a5f753083 4.5.11 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 57bde081d7 Fix _get_rgb_by_label %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 783f1f7c0e Support imgviz >= 1.3 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 1a425b25fd 4.5.10 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 8a0a3b80c8 Fix error around pyinstaller + PyQt5 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 349d6a8f1d Use imgviz<1.3 to avoid error around label2rgb %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 4efcad25d9 4.5.9 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada bdc322a925 Stop using PyQt5 5.15.3, 5.15.4 that won't work with pyinstaller %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 615d9dfb50 4.5.8.post0 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada b40d03aca0 Use conda-incubator-setup-miniconda@v2 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 06425dabaa 4.5.8 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 66d007fab8 Update README.md for instance_segmentation %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 0b5dc94901 Update README.md for video_annotation %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 5a487f8abe Use pytest-qt<4 to support pyqt<5.11 %!s(int64=3) %!d(string=hai) anos
  Kentaro Wada 115816d3e4 Add "How to contribute" to README.md %!s(int64=4) %!d(string=hai) anos
  femianjc b8ed7ce081 Faster undo, and undo with Autosave %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 7e4de03ac5 Remove .github/FUNDING.yml %!s(int64=4) %!d(string=hai) anos
  ilayluz c20c4e50f4 Fix typo in README %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 3a6e076469 Fix bugs around removing points and point-empty shape %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 3b732f58f7 Fix RuntimeWarning in distanceToLine %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 6d870d2de9 Raise error in findItemByShape %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada c0d99dc47b Update README.md %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 7be04b2201 Drop PySide2 from support %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 3210d65b94 brew cask install -> brew install --cask %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 3f2f7ee9f4 Use conda-incubator/setup-miniconda in ci.yml %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 4ab66b2e03 4.5.7 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada bb021c7dbf canvas.setFocus() in loadFile %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 160a1357d0 Use pip install pyqt5 for Python 3.7 + macOS %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 59b5ee3653 Use conda install pyqt=5 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 2f0962648a Fix GitHub CI around PyInstaller %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada ab3d9b32d4 Reformat files with Black 20.8b1 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 49b1f8f61f Add --diff to black command in GitHub Action %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 6ca4f83bc3 Zoom in after completely zooming out %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 816038f206 Add black to ci.yml %!s(int64=4) %!d(string=hai) anos
  Henrik Toft 7189f2c989 Adding ability to add or remove points from existing polygon when left-clicking while holding down the SHIFT-key. %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 4e46e00f29 Use actions/checkout@v2 in ci.yml %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada c8c60dbfd8 Update README.md %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 2b948946a7 4.5.6 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 96dabeb891 Add release.yml %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 83f8927945 Use colorama on Windows %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada b6625f3e5a Add sys.setrecursionlimit for Windows %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada a8b94863d2 Add data_dataset_coco/Visualization %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 0dcb729380 Update README.md %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 0846e098d8 Rename to Labelme.app %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 8759bfa20f Update labelme.spec %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 7616da4cd7 4.5.5 %!s(int64=4) %!d(string=hai) anos
  howayi 8f6f8ed03f fix slider_contrast repeated with brightness %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 5b9be06ee1 Set transparent shape fill_color while drawing %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada e42e5a2cec 4.5.4 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada f90be4f367 Call QImageReader.supportedImageFormats later %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 0ad853b729 4.5.3 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 64958b5b59 Fix item drag-drop in polygon list %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada bac03f075d Config for shape colors (line_color, fill_color, etc) %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada c3809e8f59 4.5.2 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 65d5f2baa5 Use utf-8 for json encoding %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 30c02f7dd9 4.5.1 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada ed2c4fdcc6 Can't use black to support Python2.7 + virtualenv %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 4274ffbc84 4.5.0 %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 83bc799fc1 Pass PIL.Image.Image to BrightnessContrastDialog %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada a2ebb1fe84 Add keep_prev_brightness, keep_prev_contrast %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 2260f7875d Keep brightness contrast values for each filename %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 5f40e71bf4 Remove zoomIn, zoomOut, fitWindow from tool menu %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 204da6fd10 Centerize icons %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 5c9808446a Format code with black %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 19433fcabf Update github2pypi %!s(int64=4) %!d(string=hai) anos
  alexander-g d986e8fc08 Added a tool to adjust image brightness and contrast. Useful for dark images (#494) %!s(int64=4) %!d(string=hai) anos
  Kentaro Wada 9a81574210 Define encoding: utf-8 for Python2 %!s(int64=4) %!d(string=hai) anos
  Erik 50adb8f189 fixes inability to save PNGS with alpha channels, ie RBGA %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 5c76adda68 Convert rectangle to polygon in labelme2coco.py %!s(int64=5) %!d(string=hai) anos
  Shannon ecf6362a37 Fix segmentation generation for rectangles %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 1d5f125d62 4.4.0 %!s(int64=5) %!d(string=hai) anos
  Akshar Patel 6a9913af65 feat: allow saving file without any labels %!s(int64=5) %!d(string=hai) anos
  Akshar Patel 0c0ab87d5b feat: set yes button as default in delete warning box %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada b4d8f08218 4.3.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada c0f77a969e Fix typo %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada de5b7343b5 4.3.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 487e14b80b Fix image orienation in instance_segmentation/labelme2voc.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 9b5bb5ae61 Fix image orientation in instance_segmentation/labelme2coco.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 08aa0d2725 Fix image orientation in bbox_detection/labelme2voc.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 3ae57b2655 Fix image orientation in labelme_draw_json %!s(int64=5) %!d(string=hai) anos
  Aleksi J 1f592db26b Open files by drag and drop (#601) %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada fe7f7d62a5 Fix for flake8 %!s(int64=5) %!d(string=hai) anos
  Jongha Lim 68fb3ebc4b Replace labelme.cli.draw_label_png with imgviz %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a8db0cfbf8 4.2.10 %!s(int64=5) %!d(string=hai) anos
  Alex Myczko 6c08880336 Create labelme.desktop %!s(int64=5) %!d(string=hai) anos
  Jonas 9fdda01a4b Fixed edit error %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 334a8b6d45 Update issue templates %!s(int64=5) %!d(string=hai) anos
  Douglas Livingstone 45e999d1d0 Update readme for Windows install %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 465d882306 Make "Add Point To Edge" more robust %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada f0f645436a Add shortcut for "add_point_to_edge" %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada df820a3e0c Update log format %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 3158981154 Fix warning message %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada d1a0092557 Update logger format similar to loguru %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 01af3fe036 fix issue with grayscale images in draw_json (#605) %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 729327d38f Add support for png files (#609) %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 18157b7e69 Use hacking instead of flake8 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada f2582fa838 Update README.md %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada cff2c043ec Use bionic for docker image %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 678adbce30 4.2.9 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada c0d1b2616a Fix delete item %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 170b62f0ac Remove MainWindow.colorDialog, which is not used %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada dcfcc4ab4d Fix QtCore.QItemSelectionModel.Select for old pyqt5 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada f50e7fdb5c 4.2.8 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 38e289b7a0 Replace LabelQListWidget with custom LabelListWidget %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 3aa2b5f729 Fix for Python2 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada da396b8365 Press outside of the list to clear selection %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 45d1d04791 Fix both unHighlight and addPointToEdge with self.prevXXX %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada b3a672ba52 Clear shape highlight correctly %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a846f39cbb main.yml -> ci.yml, CI -> ci %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 87df70ad9e setup.cfg -> .flake8 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 6c25d15199 4.2.7 %!s(int64=5) %!d(string=hai) anos
  Grzegorz Ruciński 9bc8a754e0 Preserve other keys on shape level %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a62194be5c Run pyinstaller in Windows as well %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 26bf7a359f 4.2.6 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada c6266dcf9e Use imgviz.asgray %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 61f5fee418 Remove lineColor and shapeColor keys from example JSON files %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 4833f2eb3d 4.2.5 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 5bb577eb32 Add more tests with OpenDir %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada ee8aacb718 Fix next prev image with QtGui -> Qt %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 1ba851d5ce 4.2.4 %!s(int64=5) %!d(string=hai) anos
  Grzegorz Ruciński beac2809cb Merge image flags from config and label file %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 1c70a81239 Fix saveFileDialog for Windows + PyQt5 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada de00a0406b Replace QGuiApplication -> Qt %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 019e789b18 4.2.3 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 797004bac0 Fix bug caused by unHighlight %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 35a2ae79e6 4.2.2 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada df09c6d04c Exclude github2pypi %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada badea5abf4 4.2.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 9c1ac6dd94 Fix for shape_color: null %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 6c75974450 4.2.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 03d7d365ce Update README images %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 88f2dac921 Fix for flake8 in Python2 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada e05840786b Add color circle to the unique label list %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 5085ceadb5 Add dot with color in polygon list %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 739042f74d Add windows to CI %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a5b3a9baea Fix keep_prev and setDirty %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada d41dd8be05 Update Dockerfile %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 7d500569a9 Use setuptools<45.0.0 for pyinstaller %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 13636f39dd 4.1.2 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 8b5b4ea410 Use visible colors as default for auto_shape_color %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 94b4265740 4.1.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada b21a85d64e Add shift_auto_shape_color to adjust shape_color: auto %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 8d50d33de2 Use value=200 for LABEL_COLORMAP %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada e1ce574c62 4.0.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 862e0b04df Add shape_color, label_colors config %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 48a3c5732c 4.0.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada d18809bb6d Update .readme %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 19b36a5858 Use imgviz>=0.10.6 to avoid importing matplotlib %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 5fe0f6ff91 Update examples/video_annotation %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 83dfab0e14 Update examples/tutorial %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada e305c510a2 Update examples/semantic_segmentation %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 1e3fd89285 Update examples/primitives %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 8683269fef Update examples/instance_segmentation %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada de7c63c3ff Remove --validatelabel instance %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada dd4c3c5cdf Update examples/classification %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 14b599bc45 Update examples/bbox_detection %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada c767fc5508 Add warning for incompatible version of labelme %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 612b40df6f Update labelme2voc.py and labelme2coco.py accordingly %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 9a191df998 Colorize shapes according to uniqLabelList %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 3936c55023 Add group_id for shape annotation %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada b3c67fec36 Add --validatelabel to labelme %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada c33e449646 Remove fill color %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 025ed3d78d Remove line color %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada b1ed91af28 3.22.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 7accf9ea28 Fix canvas.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada ae2f8aa5f1 Reset self.hShape in Canvas %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 7cba9aabbd Fix 'version' key load and save in json %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 419b8014e4 Support ESC in LabelQListWidget %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a79b0df351 Simplify self.labelItemChanged in app.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada dc5e5ec39c Deselect shape by labelList %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 4fb1fab963 Clear highlight when leaving from canvas %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada e150533d32 Fix fill_drawing initial state %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada d3e832f8a8 3.22.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 37bfe44276 Move __version__ to __init__.py %!s(int64=5) %!d(string=hai) anos
  Sergey Shilin 132eb8af7e Scroll the list of labels to selected item for simpler navigation %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 6aa70229b6 Fix typo of citation %!s(int64=5) %!d(string=hai) anos
  Sergey Shilin a3e6781bb1 Fixed a bug when application crashes on polygon deletion. Closes #556 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 6eb1798a77 main.py -> __main__.py to allow python -m labelme %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 245fd0fe80 3.21.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada e62be5c570 Fix the use of --config arg in main.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a99954688a 3.21.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 829a8711f3 Add keep_prev_scale %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 911a433d17 3.20.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 4138895f51 Save self.zoomMode as well %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a2f1fea173 3.20.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 2a2f49098b Store scroll value %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 1a14f36d1c 3.19.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 67a497ed05 Store zoom value for each filename %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 138c4d1e00 Smaller zoom min range %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada df56f13eea Set PIL.Image.MAX_IMAGE_PIXELS = None for large images %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 21813d2857 Add config for canvas: double_click %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada d0fda7de36 Support yaml by --config %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada f20a942569 Fix tests/labelme_tests/test_app.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 2cb4eba573 Use labelme.LabelFile in labelme2voc.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada aa45449197 Add labelme.utils.img_data_to_arr %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 34c88be4cd Use shapes as list of dictionary %!s(int64=5) %!d(string=hai) anos
  PM 9ed44c8549 yaml.load -> yaml.safe_load %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 5daf868920 3.18.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 4ab0e9a7c7 Minor fix %!s(int64=5) %!d(string=hai) anos
  LATENTIX\ht ac5ae2206d Stop tracking of files. %!s(int64=5) %!d(string=hai) anos
  LATENTIX\ht dc4967b330 Fixing potential bug %!s(int64=5) %!d(string=hai) anos
  LATENTIX\ht 2eb18d1234 Adding ability to remove a point from a closed shape (polygon). %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 926eca4135 Use gray for label2rgb %!s(int64=5) %!d(string=hai) anos
  Christian Clauss e727b88ef1 Typo found by codespell %!s(int64=5) %!d(string=hai) anos
  Christian Clauss 2088025670 Typo found by codespell %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada bc7de19dae Minor fix saveWithImageData %!s(int64=5) %!d(string=hai) anos
  iamgd67 e2894d3767 fix for python 2.7 %!s(int64=5) %!d(string=hai) anos
  iamgd67 fb1152a121 fix style warn %!s(int64=5) %!d(string=hai) anos
  iamgd67 f74c4c9dd1 add save image data option to UI for easier use of it %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 3b84972309 Fix color_line -> color-line %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 4d765e2bfc Update docker/Dockerfile %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 312d2b6fd6 Update docs/man/labelme.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 89014c3a17 3.17.0 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 6a1f2c2747 Use os.path as osp %!s(int64=5) %!d(string=hai) anos
  Chen Zhang 78cf389ebe Reorder imports %!s(int64=5) %!d(string=hai) anos
  Chen Zhang 5f859557f7 Load translation files from runtime absolute path %!s(int64=5) %!d(string=hai) anos
  Chen Zhang b74e2aaf3a update i18n files %!s(int64=5) %!d(string=hai) anos
  Chen Zhang 72cce5d0ec fix translation error %!s(int64=5) %!d(string=hai) anos
  Chen Zhang f6f03ddee5 Fix text width issues %!s(int64=5) %!d(string=hai) anos
  Chen Zhang 29f5405924 one import per line %!s(int64=5) %!d(string=hai) anos
  Chen Zhang de781f6d6e Add Chinese translation %!s(int64=5) %!d(string=hai) anos
  Chen Zhang 226f5e66ef add more string to translate %!s(int64=5) %!d(string=hai) anos
  Chen Zhang 3b344420a2 add empty translation template %!s(int64=5) %!d(string=hai) anos
  Chen Zhang ab87ce000c Add QTranslator support %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 0644d0c6b5 Update examples/**/data_dataset_voc %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a9f562df67 Fix lblsave %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 8edd218200 Replace labelme.utils.draw with imgviz %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada a98437ad74 Add --noviz option to all labelme2voc.py %!s(int64=5) %!d(string=hai) anos
  BenjaminMueggenburg 5b24ff3888 Add flag --no-vis to semantic_segmentation/labelme2voc.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada cfb2bd7fd9 Use edgeSelected with passing shape as second argument %!s(int64=5) %!d(string=hai) anos
  Jakub Gregorek f9752e46a0 Fixes #462, check shape type before emitting signal to allow to add points %!s(int64=5) %!d(string=hai) anos
  Bartosz Gasiorzewski ef7b217f24 Add support for double clicking labels %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 9b7f131a0f Update README.md %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 1d6ea6951c Create FUNDING.yml %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada eb010f2aea Make bbox_detection/labelme2voc.py more robust %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 5698ac0719 Run push test only on master %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 37ba58d992 Add pull_request to .github/workflows/main.yml %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 290ef952e6 3.16.7 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada ceb87cc000 Update README.md %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada c9f76d6d29 Remove unnecessary comments %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 0bce275b4a Travis CI -> GitHub Actions %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 7d17a19ff5 Update setup.cfg %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada d860cce750 Remove .github/stale.yml %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 09c2c8b656 3.16.6 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 159f6e03ad Fix typo %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 7c589bce6d Update README.md %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 7cffdeef2a 3.16.5 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 854f039fd5 Clip only x1 and y1 for intersectingEdges %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 765ff9d47e 3.16.4 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 39d9d8d207 Clip x, y values before calling intersectingEdges %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada df5e189e92 Add shortcut for addPointToEdge %!s(int64=5) %!d(string=hai) anos
  Alex Myczko 50353835ac Update README.md %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 62e9b6ce44 3.16.3 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 68a800e15b Fix outOfPixmap to solve crashing when outside of the pixmap %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 3285c9e67f Stop using pyside2==5.12.4 to avoid weird error %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada b6694d14fa Fix "No module named 'numpy.random.common'" in pyinstaller %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 8550d42b98 Fix pattern in test_labelme_1.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 7b160bc723 Fix test %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 099e347a42 Fix tests %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 11520c20ca Add test_labelme_1.py %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada e02f2eed96 Move to labelme_tests %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 21a5c05d9e 3.16.2 %!s(int64=5) %!d(string=hai) anos
  granbestiapop e1fdeda94e Fix not imageData property %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada f20e7a10a2 Install man page via setuptools %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada d64d9b334d Add help2man consistency check in .travis.yml %!s(int64=5) %!d(string=hai) anos
  Alex Myczko 218fb65362 Add docs/man/labelme.1 %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada e34254906d Add note about installation via homebrew %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 663d1707d5 Remove deploy sections from .travis.yml %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada 376b20585f Add how to convert video section in README.md %!s(int64=5) %!d(string=hai) anos
  Kentaro Wada eb0190f4b2 Stop releasing binary into github %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada e1559cf541 3.16.1 %!s(int64=6) %!d(string=hai) anos
  taashi-s 66b90c03a6 Fix sideeffect of auto label increment. %!s(int64=6) %!d(string=hai) anos
  taashi-s 94691512cd Fix label proposal when add new shape %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a98d9b66b0 3.16.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 34ae0e6e9e Add cite this project %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3b55c8a222 Correct comments about canvas.menus %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ea23c7caee Remove duplicate menu in canvas %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada add90d2d76 Several refactoring %!s(int64=6) %!d(string=hai) anos
  IlyaOvodov da3fa111b0 Group operations on shapes (#405) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4909727485 3.15.2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4d2fe2ddca Keep text as empty string and flags as empty dict as much as possible %!s(int64=6) %!d(string=hai) anos
  IlyaOvodov ba475461a8 Fix #408 Undo works only once %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 86133e4655 3.15.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d857209b51 Fix Shape.copy %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada df0e43940b Load points as float values %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 48542a6f38 3.15.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5367a29818 Update examples/instance_segmentation/README.md with --labelflags %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 448bd4a786 Use regex for keys of label_flags %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 05ed24c114 Fix tests for the feature of label-specific flags %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7ad8d5c5cf Refactoring to merge the feature of label-specific flags %!s(int64=6) %!d(string=hai) anos
  cmerchant 425b3c4be4 Removed LabelFlags widget/dock %!s(int64=6) %!d(string=hai) anos
  cmerchant ccff74073d Replaced long line of code with for human friendly if/else statement. No functionality changes %!s(int64=6) %!d(string=hai) anos
  cmerchant 4a5f282e3b Added back old main function with error checking %!s(int64=6) %!d(string=hai) anos
  cmerchant c2ba19759b Added the ability to have different flags for each label plus shared flags for all labels %!s(int64=6) %!d(string=hai) anos
  cmerchant 92d2b226ba Added dialog for label flags when a new shape is created %!s(int64=6) %!d(string=hai) anos
  cmerchant ecdd186347 Added label specific flags %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a9c4df0a62 Use MouseEvent.localPos which returns QtPointF (pos is QPoint) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d8e8a5c07f 3.14.2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 0f9a09737e yaml.load -> yaml.safe_load %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4ec682f9f1 3.14.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5de0b4236a Update .github/stale.yaml %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d4ad10da4e Add stale bot %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8c259ee329 Raise ValueError in lblsave for labels that cannot be saved %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7bef7f87f8 3.14.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7b417c22ee Skip annotated json even with keep_prev=True %!s(int64=6) %!d(string=hai) anos
  Jonne Engelberts 11c0fc8f47 Relative highlighting. %!s(int64=6) %!d(string=hai) anos
  Daniel Rose 2314de584b labelme2coco: remove assert for background class (coco annotations don't have one) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 65e289f104 3.13.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 18cd3d8e59 Update github2pypi %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 40405e2f73 3.13.0 %!s(int64=6) %!d(string=hai) anos
  jonnedtc 148892ed76 Exponential zooming and relative stickiness. %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f7635f6156 3.12.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 029aed3924 Fix keep_prev when loading annotated labels %!s(int64=6) %!d(string=hai) anos
  Lingjie Zhu 0ec892ad01 add feature: instance label auto increment %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada dcfeb3e937 github2pypi is optional %!s(int64=6) %!d(string=hai) anos
  Lingjie Zhu 9885f0703e use pycocotools API %!s(int64=6) %!d(string=hai) anos
  Lingjie Zhu aef5216557 add missing 'bbox' field in COCO annotation %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8435d75e73 Remove import of labelme in on_docker.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 1c2a5eb9f0 3.11.2 %!s(int64=6) %!d(string=hai) anos
  Roger Iyengar 3b0bbcfec9 Fix problem saving to output directory %!s(int64=6) %!d(string=hai) anos
  Roger Iyengar 90ccde1166 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4f2999e66e 3.11.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 800dc25c43 Update examples/instance_segmentation/data_dataset_voc %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada bc46a933c8 Fix bug of shapes_to_label for type='instance' %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a108b58a3d Remove Screencast from README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ef97ce3d03 3.11.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 1195c45b1e Fix conversion of imageData to PNG data for PY2 + QT4 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2dfad85299 Load JPEG image as JPEG data (to save data storage) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada da64647176 Load image file with EXIF from both JSON and Image files %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada aedd590f09 Fix missing imports %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4f5473c245 Move apply_exif_orientation to utils/image.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 6e352f040c Refactor app.py to use utils module %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 530ad3a6f9 Refactor tests/utils_tests %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 9a8c7293ae output -> output_file in test_app.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada c1b1543e86 Fix labelme2coco.py to parse with pycocotools %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3bec9f6151 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 74a4140b1c Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 01f10365f4 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada fc68d12338 Delete WindowMixin %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 34d7ce694b 3.10.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a4c7a16dfe Add get_long_description %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4c2d63ba80 3.10.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7f205788c5 Use resetState for postprocess after deleting label file %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f41f332ff1 Set logger level by argument %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada b62f664857 Refactoring %!s(int64=6) %!d(string=hai) anos
  なるみ cd665aacc1 Clear label list %!s(int64=6) %!d(string=hai) anos
  なるみ 5dee7f4f74 Uncheck file %!s(int64=6) %!d(string=hai) anos
  なるみ 590a0d1d53 Add delete file warning %!s(int64=6) %!d(string=hai) anos
  なるみ eb2e55a11e Check label file exists %!s(int64=6) %!d(string=hai) anos
  なるみ 8c64e7a769 Add DeleteFile action %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ff189faad3 Install sudo command as utilities in Dockerfile %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d4a1933584 3.9.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d4f8459454 Add main block for pyinstaller executable %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 30bf312591 3.9.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5b05401c2c Fix for flake8 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3df5e79752 Use colored logging with termcolor %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 75a0e10994 Use logger as much as possible %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ccd7a5e79f Catch exceptions in main function %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 73d044d7cb Detect duplicates in label list %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada c3cc4201dd Make label editing less strict %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8aba57d718 3.8.2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2114231696 Fix AttributeError while label editing %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 070da3744a 3.8.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3cc4199bbf Fix attribute error of _getexif %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 44482691c1 3.8.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f1526d7168 --labels required=True %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4346c6b402 Update .travis.yml %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 6561c90029 -like -> -format %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f4dfc47a55 Add labelme2coco.py for instance_segmentation %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d4d5c8099f Fix for flake8 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 585ee0a22e Update labelme2voc.py to use --labels for labels.txt %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7f1027e0dc 3.7.3 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 22d1680045 lxml for install_requires is optional %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 32689a6827 3.7.2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4b822358f8 Check if Exif orientation is available %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ff7757316b 3.7.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 04c69d39d2 Use pyinstaller!=3.4 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a843525e59 Support empty lineColor and fillColor %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 1e3a5b1471 3.7.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f1600ce40e Read Exif from image to rotate image correctly %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 86bec5e0d7 Update setup.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8e45531d3e Update setup.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 179637bbd8 Update examples/tutorial/README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada e5525eab5d 3.6.16 %!s(int64=6) %!d(string=hai) anos
  IlyaOvodov 27ce594f6e Fix #266, #285. 'keep_prev' mode is visible in Edit menu and switchable (#286) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 706dd36733 Fix for flake8 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada aa80701314 3.6.15 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 729ec5e82d Update setup.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2b04f7eef1 3.6.14 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 01809e731f Add github2pypi %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada b449af9c98 3.6.13 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d96baa9240 Replace README link when release %!s(int64=6) %!d(string=hai) anos
  なるみ dc2b676b25 Fix flags default value %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada c90e63e561 3.6.12 %!s(int64=6) %!d(string=hai) anos
  wangpeng 037fb69e0e fix error AttributeError: 'module' object has no attribute 'QAbstractItemView' %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada caa54a7079 Move .readme -> Google Drive %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada c80400d0a8 3.6.11 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada b82ea08a4b Fix for flake8 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f42464b6c0 Fix UnicodeEncodeError of label %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5f4c8767ed Add PY2 and PY3 to __init__ %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f82373f580 Check if osp.dirname is empty or not %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 97383b1a2a Restrict x and y range in [0, width), [0, height) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5e836d2cb1 3.6.10 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3c4c637f5f skip_cleanup: true %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f9b2eb1ce3 3.6.9 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f972124878 Remove ci-helpers and miniconda.sh after used %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2ac1c4e527 3.6.8 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a132b10a76 file_glob: true %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3eeffce8ef 3.6.7 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 252576e98e Run pyinstaller in script %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada e31f6081e7 3.6.6 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada efca164639 Fix branches.only in .travis.yml %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada b79958960f 3.6.5 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada dacb910dcf Add version tag to branches.only section in .travis.yml %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 88c7d1dfb4 Specify file to upload via twine %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 6d74613f41 3.6.4 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 1a39c328eb 3.6.3 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 485195204d Use twine %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 1956ca4603 3.6.2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2a3772b1c9 Revert unnecessary changes in .travis.yml %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4e83434146 Fix Abort trap: 6 error %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada c45eaf9175 Fix dist/*.zip creation %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada c6c1579c32 Use pyqt=5.6 on macOS travis to fix unknown error %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 017b1af25b Fix .travis.yml %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f75529f4f8 v3.6.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada e7b8647c31 Automate release file upload by travis %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8f130d9ebf Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada fc12286b4d 3.6.0 %!s(int64=6) %!d(string=hai) anos
  Sebastien 34887aeef1 Add config parameter to remove label popup %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6b38a26a28 warn -> warning %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 6db7324b0e Add dialog to change output directory %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 54f055ade0 Support directory with --output option %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada af89ab4e63 Use osp replacing os.path %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a7ffd513d5 Use Ctrl+Shift with OpenNext and Prev to keep previous shapes %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d07eb4ba2a Add saveAuto check button in menu %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 80ba44459c Add Ctrl+= for zoom_in %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3611c0ce9f Default zoom mode to FIT_WINDOW %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4628f4f6a0 Add image size information into json file %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d04bbe0cb5 Fix imageData of primitives.json %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 0a09c46f3b Add test with examples/primitives %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 64dbf01712 Make shape_to_mask support all shape types %!s(int64=6) %!d(string=hai) anos
  Shohei Fujii c7158a0c8d fix line drawing %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 81d92aa852 3.5.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 6da3f9781f Add tip to end creation %!s(int64=6) %!d(string=hai) anos
  Shohei Fujii 62bfea5428 fix warnings by flake8 %!s(int64=6) %!d(string=hai) anos
  Shohei Fujii cf2bd6181c add linestrip %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 9d5b2e7ae4 Use importlib instead of imp for Python3 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 030f9dfa45 3.4.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2d232c8cc7 Fix state of buttons (disable most buttons without image) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 92b3b9bac9 test_polygons_to_mask -> test_shape_to_mask %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7f57f09fb4 Add test for draw_instances %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 1cdb84c880 Add cache: pip to .travis.yml %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 519db4207b Fix deprecation warning from base64 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada e2eccbac52 Convert bounding box annotated files to VOC-like dataset %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada cd504642fa 3.4.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7a1371e155 Polygon should be the default shape_type (because we use it as polygon) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada c53dc94c52 Add version entry to the output json file %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 05d2bace0e Add various primitives example %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7ee836fa62 Update shape_to_mask for rectangle %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 658d50a188 Update bbox_detection example with shape_type='rectangle' %!s(int64=6) %!d(string=hai) anos
  Tatiana Malygina bd747d869f Add circle shapes support %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8e7fd79b2c Change the order of travis entries %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada b9211f94fc Fix test_app.test_MainWindow_annotate_jpg with new shape_type field %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 00cfa6371c Introduce shape_type field to enhance rectangle annotation %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3fdf0be291 Re-enable pyqt4 tests %!s(int64=6) %!d(string=hai) anos
  Tatiana Malygina fe96adecb8 add fix for PyQt4+python 2.7 to avoid window freeze. %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a5c379d872 3.3.7 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a7d78ef7d1 Skip some tests on pyqt4v2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2c708b9838 Skip test of annotate_jpg with pyqt4v2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 13d9a90de8 Configure docks visibility by config file %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d3e5134756 Fit to content in label field %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ece71201c4 Add --reset-config arg %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada cf227b0fcc 3.3.6 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2ac16c4d19 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 0bcc887f8f Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5d40bf64b5 Fix pyinstaller standalone generation %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f221a53ce4 Set enabled to delete on Label List %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5af522fe24 Repaint fileListWidget for long file list %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 37fe44a980 Add colormap arg to draw_label %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 9a4c5a702b 3.3.5 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 394dee75bb Fix label list order changes %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada da5901ea89 Add toggleViewAction of docks %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 1426a8494a 3.3.4 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 6b09fbbb18 Fix label visualization in draw_json, json_to_dataset %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 1ff768dc8e Also draw label_name which starts with _ in draw_json %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 0fb2188829 Fill drawing shape by a pale color %!s(int64=6) %!d(string=hai) anos
  wenliwyan 4879c12340 paint the interior of current drawing polygon %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 835c4d4686 Remove "Show/Hide Label Panel" %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 55c7ec83c0 Fix not to use setFilterMode in PyQt4 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 636decdadb Fix for flake8 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 22518a7917 Fix typo in labelme/app.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 06f52e0a73 Add label_completion config key %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ee6933f9a5 Not use setHidden but completion %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d25fd72459 Check if there is a entry of the image file %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2dd5496ce0 Add file_search config for file_search at start %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 35c2d75048 Hide label list in labelDialog by the result of text edit %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d264431467 Update check state of the annotated image in saveLabels %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 08b5232a3c 3.3.3 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8aa9bbc7b6 Fix icons path %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a5926b051e Filer files by search box %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada e2ff6094e1 3.3.2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 3c9af23038 Fix openNexImg at bottom %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 80e2b19ca7 Refactoring docks on right (remove no need, improve order) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 41ce587fdc Remove editButton from right docks %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2430890ff3 Stop clearing unique labels when undo is triggered %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 79515b38cd Move main function from app.py to main.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada de4ecab70d Move widgets from app to labelme.widgets %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 0e0f2bedf8 Make all docks close and float %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4389ce1d55 Show if a file is annotated by check box %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada a84001c9db Remove app.inverted %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5c559e7a4d Add Developing section %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ae89df3f97 3.3.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 04afc1e102 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 49029aa925 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 43b5f14534 labelFile.py -> label_file.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada e43d9e75a5 Create labelme.utils %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8a3ac874ae Create labelme.widgets %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4963f72142 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8c0a597193 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 5ae8a41633 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 06415e088d 3.3.0 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 78f2a21ec0 Install pillow by conda for pyinstaller on Travis %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 12d05f436b Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 43b2df9513 Update examples/semantic_segmentation/README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f3010a6cde Update .travis.yml %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 8c5a2346d9 Set alpha=0.5 as default for label2rgb %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada eb58e964e3 Add labelme.utils.lblsave %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d7b1777440 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ba5b0e7bc5 Fix toggleDrawMode for editMode %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 2f0e93ce9f Add create point mode %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada abadf01870 Add create line mode %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 11a683fe64 Add NextImage and PreviousImage in View menu %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada b4b6950ffb Re-generate video_annotation/data_dataset_voc %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 02e2fae3b7 3.2.4 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 7e06a82bdd Capability to specify epsilon value by --epsilon 5.0 (11.0 default) %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 83a151225f Suppress highlighting while drawing %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4e255e2d70 3.2.3 %!s(int64=6) %!d(string=hai) anos
  Naoya Yamaguchi 65bbb127bd Update draw_label in labelme2voc.py %!s(int64=6) %!d(string=hai) anos
  Naoya Yamaguchi 328d50c8e3 Use utils in draw_json.py %!s(int64=6) %!d(string=hai) anos
  Naoya Yamaguchi 683a049450 Show label_value in draw_label %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada d342c10754 3.2.2 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 6d11656ad5 Optimize the order of menu buttons on left %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada f5ffb2f1cd Fix for flake8 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ad548cb32d 3.2.1 %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 09c2605486 Remove labelme/compat.py %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 17cf678db1 Stop using Pillow installed via pip on Travis %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada 4d4d26ef04 Update README.md %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada c1a5a5ca78 Save pixel-wise labels as PNG file %!s(int64=6) %!d(string=hai) anos
  Kentaro Wada ee23064759 Add bounding box detection example %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a441700e6f Support rectangle annotation %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada eb427bd42b Add classification annotation example %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f96f5f2d41 Support flag only annotation for image classification %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 335670eddf Reset previous flag annotation %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3be106a1e5 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c9d18e606e Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 547b9dd1c6 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada fe0de1b07e Update README.md %!s(int64=7) %!d(string=hai) anos
  lehuyhunghedspi 7808be0265 Update readme for avoiding pillow 5 dll load error %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada dc1fd35fde Fix for PyQt4 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0198cd11eb Add labelme.compat module for compatibility of backends %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6ed9ee7ee7 Fix for flake8 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8420662264 Use hacking instead of flake8 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada eab7e7db1e Add point to the nearest edge by right-click %!s(int64=7) %!d(string=hai) anos
  AlexMarshall011 17ea778424 Add feature of adding vertex %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a386eea3a7 Use npy in labelme2voc.py for -1 value in labels %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada dd75c665c9 Exclude matplotlib by excludes option in labelme.spec %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada bbfbd3d940 Check if docker is installed %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada e9e226f0d6 Update examples/video_annotation/README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a59efc791d 3.2.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 558a462706 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada bc8a7da2e3 Add video annotation example %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1cd15022cd Add --keep-prev option for video annotation %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 65acd861b2 3.1.1 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5755c58848 Suppress unspecified argument %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 32e94c837f 3.1.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 4abe716273 Specify flags by command line arguments %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f9964425e4 Fix handling the command line argument to app %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3da2c4ce2a sys.exit(0) after release %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9f3852de03 3.0.1 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6f52eadd4a Check call releaes commands %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3041525b1b Set ensure_ascii=False to draw CJK in JSON %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b9e1122075 2.15.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b323a37a3e Add features list to the README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 68166666af Add image level flag annotation %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0c2912a4d5 2.14.3 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6fa294bd83 Fix classifier in setup.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada cd55b8c372 2.14.2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5711d1dfb2 Add Python Versions %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1d3208994c 2.14.1 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 071e052416 Stop overwriting provided config with default args %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 29871e1bbb 2.14.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada e1b3ec3dd5 Fix style of code %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c3bd4388fe Fix for flake8 %!s(int64=7) %!d(string=hai) anos
  Justin Ellis 7fcfe69e0d Fixed bug in draw_json and json_to_dataset %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9fc9420fa1 hacking- > flake8 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b276e1c634 Fix for flake8 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f8b38eb87e 2.13.2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 07f9515bb9 Skip closing polygon if polygon points <= 2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 721d3547c4 Fix typo of saving default_config_file %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9f2de0534f Use codecs.open(encoding='utf-8') to support CJK label list file %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5087ed2fae Update setup.py release %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 36273767ec 2.13.1 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f00ba79fb0 Add PyQt5 to install_requires %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b35cda3c39 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 646680a0d7 Use pyinstaller on Anaconda %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 88ef2a1fa5 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 08e9203807 2.13.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1486f03588 Fix the order of loading configuration %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada fa4c68f337 Add os: osx to .travis.yml %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1a4eb8eb5f Build the standalone executable on Travis %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 43564ec9af Add icon.ico to build exe on Windows %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ab5302fc44 Use with open to avoid leaving unclosed files %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1b389f8b59 Stop using pkg_resources.get_distribution for version %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6b308ea563 Enable user configure GUI with args and a yaml file %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada befb18bf83 Skip validation of None label %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c28ac49282 Update TODOs in app.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c70c395c49 Add --version option %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 091b2a412b Remove app.py and use labelme/app.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 537b1f811d Load a first image file when opening dir %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7ccddb7486 Add datas in labelme.spec %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ee013c499b 2.12.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 93ae5a5bb8 Update draw_label_png_class.jpg %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada dd07e04afa Add draw_label_png visualization to README of examples %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3253db7859 Add labelme_draw_label_png %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 660c2e2847 Initialize Canvas.movingShape=False %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7f7bd93a0e Fix check of len(self.points) <= 2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 38ac17f145 Use logger and config in app.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 52ff12a04d Fix editMode which should be enabled %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3f95cd7739 Undo shape edit by Ctrl+Z %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 225f24a2fa Use xenial for docker %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 588dc993ec Preserve custom JSON keys %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f1155252dd Check --labels and --validatelabel %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ae7dc9b743 Validate label with types 'none', 'exact', 'instance' %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 352bc86160 Add --autosave option %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 31d84be8a5 Fix tutorial %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0d8ee60f2b advanced -> tool, advancedContext -> menu %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0e3ac68bf2 Drop mode switching feature of beginner and advanced %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 571f8dabba Load ~/.labelmerc for user defined shortcuts %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1d5161f859 Refactor shortcuts %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0dcdde4b84 Workaround about QSettings.value of recentFiles for PyQt4 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6c28241f8f Fix for flake8 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 57f0677b8c open -> open_ %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada fe49c0074d Use QSettings %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8561e28039 Update READMEs %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c0fdafc9f1 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6117ec6153 Use pyqt4v2 which is automatically selected by qtpy with pyqt4>=4.6 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7ceddc8b84 Add travis ci testing with pyside2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 4518bdb13e Support PySide2 (PySide is deprecated so not supported) %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c59d3f4eb3 Use qtpy to abstract Qt python binding %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 03fc8e194b Remove use of QVariant %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada cb75da024d Remove labelme/resources.py from .gitignore %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 23beeaa073 Fix for flake8 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c796a32faf Exclude venv/* from flake8 check %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8b37d242a1 Fix icon name: 'new' -> 'objects' %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6d26f8ddf7 Remove resources.qrc with refactring newIcon function %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f1fb8d9ef6 Add labelme.spec %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 03445e854b Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0a28179142 2.11.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 572f6ede4c Use QtGui.QKeySequence.ZoomIn/Out %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 4c8784b4e7 Zoom in using both Ctrl++ and Ctrl+= %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c8ec7a3351 Revert: self.scrollArea -> scrollArea (previously it was scroll) %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada dc5b6e48cb Revert: Use Ctrl++ for zoom-in %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 0749b5f3e5 fix flake8 issuesOF %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs fba42e8b02 Remove unused parameter from zoomRequest signal %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 79397ea38d Remove temporary variables, use member variables instead %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs b02303c6e0 Simplified zooming on cursor to scrollbar manipulation %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 908faa8457 First attempt to zoom at pointer location %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 6cffb91f24 pixelDelta() is only available on platforms that have high-resolution trackpads %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 83c11e0635 Make zoom shortcuts consistent with other applications %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 22e7ae76d1 Update examples/tutorial/.readme/draw_json.jpg %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5b796208a8 2.10.5 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7f47eff16c Remove duplicate addWidget(self.labelList) %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1e53764922 Fix utils.labelme_shapes_to_label %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c75416109b 2.10.4 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 953fc16cd9 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3eb8fc2fae Update setup.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7f64119b1d 2.10.3 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5b11692925 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 67f467678b Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 52198771db Update setup.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 88780508b4 2.10.2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1d3caca45d 2.10.1 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7f1a07f52e Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3a1f5659fe Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6dacaad701 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada e1e2d5b3a2 2.10.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada e362ebd86c Add how to build app %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f0942cbce9 Add files for building standalone app with pyinstaller %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 902be109a5 Import matplotlib at runtime %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada aed80e4465 .travis.yml: single_image -> tutorial %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ca783362e2 Make labeled polygons sortable %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 083ef20bd4 Make self.imageList as the property %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ebef53ab6d Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a8dacdfbc2 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 05df3bd4ad Add FAQ section %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 37c8d48117 single_image -> tutorial %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2a1b0dd83c Update examples/single_image/README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 135b39eca3 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 793e52d429 2.9.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 68247395c8 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2f4ad3ac46 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 643aea5866 Refactor Canvas.undoLastPoint %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 56625cf445 Remove MainWindow.undoLastPoint for simplicity %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6aa125f0ee Use Ctrl+Z to undoLastPoint as well %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs e537170a4f Fix flake8 issues %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 2b0cbd7bf9 Undo last drawn point on current polygon %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3b15f58da3 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2d60314ecb Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6e1402bccf Add test for labelme/app.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 657cd5455f Test with Python2 + PyQt5 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6147d5787c Not use CONDA_CHANNELS=conda-forge %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ed75616742 More tests of labelDialog.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada d1629e2548 Use astropy/ci-helpers for pytest-qt with xvfb %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c1deb02364 Test labelme/labelDialog.py with pytest-qt %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada dc64f8d8de Add tests for labelme/utils.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 24259a5810 Add img_b64_to_arr, img_arr_to_b64 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2889887e44 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5ce1b9ed3d setWindowTitle with checking if self.filename is None %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada dcd1193675 Fix regression of refactoring %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c034412a1c Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b72a83e698 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f6520d457c Update README %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ba23b8178e Update README %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada d5a4a64547 Remove PIL.ImagePalette from labelme2voc.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5d1b7a5fd8 Fix currentRow of completer %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 30c851837f Fix for flake8: labelme/app.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ed74f1dbcd Fix for flake8: labelme/canvas.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9bee9e1141 Update LICENSE file %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0c66d5ea9d Refactor labelme/labelDialog.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a1c1ef651b Fix for flake8: labelme/zoomWidget.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada d800ee1a87 Refactor labelme/utils.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 30f34645e1 Fix for flake8: labelme/toolBar.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 796a1a255f Fix for flake8: labelme/shape.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 95c22cd59b Fix for flake8: labelme/lib.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7f7f1b1da7 Fix for flake8: labelme/utils.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0cf137b567 Fix for flake8: labelme/labelDialog.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 54f9544c77 Fix for flake8: labelme/colorDialog.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6bbcee40c3 Fix for flake8 and add flake8 test %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3453477733 Run instance_segmentation example on Travis %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0289b23690 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 4f2e652483 Add examples/instance_segmentation %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 65acf304e6 Show class_id in Visualization %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada e70bcaebd6 Support type='instance' by shapes_to_label %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9888887b56 Remove dependency to scikit-image %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 68f3395fa9 Merge semantic_segmentation contrib %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada af1345eb95 Check if filename is None %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c7442b7735 Overwrite existing label file with importDir %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada cc7ffeb84f Fix imagePath which should be relative to labelfile %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 505391c00f Append to unique label list after edit %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 22a6a9df33 Show errorMessage with not existing file to load %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 135b4a8134 Use pyqt not pypt=4 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 573a887a18 Test on python 3.6 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 803aec5efc Use plt.switch_backend %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 190ca95fdb Call matplotlib.use('Agg') in json_to_dataset.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a357ffb9b6 Set MPLBACKEND to avoid error %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 46063915d5 Update .travis.yml: add more tests %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 74360f8db7 Update setup.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 71de1adb00 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 04ab36bd88 Update examples/semantic_segmentation/README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a560f67a6c Keep previous label in QLineEdit for label %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 207411d541 Use arrow key to select label from list in QLineEdit %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ad9e0c5079 Fix coding style of labelDialog.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2a8bfc2226 Coding style fix %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs f6c43b515b Allow loading labels from file %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 3ba3b5a226 Don't display empty labels for the user to select %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs a369ccf1da If there are unsaved changes, show a asterisk in window title %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 2e7f1101eb Enable selecting a label from the list using up/down keys %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 0a69964a84 Change discard changes dialog to save changes dialog %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ae433aeb49 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7c3e465de3 Update labelme_on_docker to handle input directory %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9ee0e2e84f Add completion for label editing %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2700eec1f5 Show unique label list in the dock %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 509a2a39be Remove Copy of ... %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f77477be92 Fix labelme_on_docker %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8b005e7036 Open file from list with a single click %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada dbe48599bc Update tests/test_utils.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b299926f10 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada e366b1eadd Move image %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0a8970c02b tutorial -> single_image %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a0c3ece730 tutorial/ -> examples/single_image/ %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b344ffc6c4 Fix typo %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 06226a0607 Ignore .anaconda3/* for flake8 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c2634212d2 Test with examples/semantic_segmentation %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 43c442db27 Add example of semantic_segmentation %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a8c1292f8c Show currently loaded file in loadFile method %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 6267cb4f43 Show relative path instead of full path to save some space %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs 3fc3cda356 Select currently loaded file in filelistwidget %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs fbe41a6248 Show currently loaded file in window title %!s(int64=7) %!d(string=hai) anos
  Martijn Buijs da0814cd92 Check self.dirty before switching to double clicked file %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 57438f5201 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 4ed5ce51cd Refactor app.py: add _find_item_from_shape, _find_shape_from_item %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8c2b8399be Remove unused variable self.dirname %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9587eaacea Import dir images without error popup %!s(int64=7) %!d(string=hai) anos
  Douglas Long 47607a47a6 Resources.qrc %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada eac90f84de Refactor app.py: add _find_item_from_shape, _find_shape_from_item %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 94c176ff7e Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada de2b4fa19c Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada cb41b79510 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 039052ddee Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a6fec35f09 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 57dcc5ef0d 2.8.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7245dedcc9 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0a9ab610f0 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0672ba5e9e Fix addLabelHistory %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada bee16c6ed5 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 78cbae81c2 Add --nosortlabels option %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada bc7e0ac698 Annotate label from list %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6d505bd2da Use setPlaceholderText %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ea81b99363 Avoid failing installing tornado via pip %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9d0d16a38d Fix PYQT_VERSION = 5 in setup.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 7ad7375a4d 2.7.3 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c8d8131625 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9591c5712f Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ad92fbbaa2 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 4df84b9bec Remove -nd %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ba3d19bfcf Support option not to save imageData %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada fd6b5482bf 2.7.2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada e86968cd3e Use console_scripts instead of scripts to make it work on Win %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a1f14cf871 2.7.1 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 85e3928dd2 Add warning about usecase of labelme_json_to_dataset %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3895d9664d Cache exception when connecting only two points for polygon %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada abc7c76d4e Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8071f12255 Fix typo %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 73dc2dfd71 2.7.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 48dc10e308 Run custom command before both install and develop commands %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 19b77a7f7c Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 336edb3a2c Remove appveyor files which is not planned to be used %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 512d9affe7 Remove dependency on six and scipy %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 06bca28744 Install PyQt5 via pip if using Python3 automatically %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2b020e270f Fix error on saving/loading when using Python3 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5367e118f5 Use pytest %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada eba6f86ad0 Add tutorial %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 176af5ef81 Stop sorting to avoid unexpected behavior %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada db3f97665d Draw original image in labelme_draw_json %!s(int64=7) %!d(string=hai) anos
  serycjon b6e0df882c fix nearest vertex selection %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8c2bedb232 Use concrete name in json %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 30393ebf71 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0421c5f912 2.6.4 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3188bd970e Show supported image formats in error message while opening image %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 403e0571f6 Support Ctrl/Command Key + mouse scrolling for zoom in/out %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 24659cf717 Only test for x64 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 4e4e1647b5 Comment out python3 tests on Windows %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1527c4300e No need scikit-image on appveyor %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c45f650b12 Remove dependency on scikit-image %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada e9d7e6290a Fail to use brew on Travis %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f9a39e7fa4 2.6.3 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 18b3504c29 Fix mouse scroll event %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 606f7aadb4 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 3f4cc0d3f2 Update README %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b7d5015f6e 2.6.2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5c0ac9a712 Install six %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9689cd7f27 Fix string encoding for compatibility in Python2 and 3 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada beec7f5c74 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada cd54f37fca 2.6.1 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2e6873c442 Change order of release %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c844d319bd 2.6.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada db8b07d08b Update icon of labelme %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada d257f18e11 Update README.md %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ccf7341a43 2.5.4 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 54e78473b2 2.5.3 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6ca8a690b1 Fix of opening supported images when using Python3 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8d40b3c773 2.5.2 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 4aeccee854 Skip building on not master %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 07c5ab04bf Fix app.py for both PyQt4 & PyQt5 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a528c44147 Add appveyor requirements %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada a43f3f2bbf Use pip %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2390881635 2.5.1 %!s(int64=7) %!d(string=hai) anos
  袁堂亮 564cd22519 Update app.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 5ad6d34fac Add Appveyor Status badge %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6a84f86bbf Add appveyor.yml for testing on Windows %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 72ccde446e 2.5.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c1afeca807 Email false %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 90d6fcb16c Update Badge %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 6477d0b23b Update README %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 9d524f8854 Add anaconda instruction %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2ce87de9e2 Fix backend %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0e9d6d71b3 Fix backend: %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 2875a74449 Install pyenv %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 0b60b3787b Update %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 1f41544dc5 Install scikit-image before setup.py install %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 90760edad7 Test on macOS 10.11 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 86feed960c Fix syntax error %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 04aa53a62c Add testing using conda %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 594999c5f4 Add docker building badge %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada f9a57c0e6e Add badge %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada d8cf749f21 Use sum %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada c1a06ad0c2 Update setup.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 299c005e57 2.4.0 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 40f2ecc681 Update README %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada d9a227d4c9 Test on trusty/osx on Travis (#14) %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ec9e2f4aee Fix PyQt4.QtWidgets %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ee086bc32d Fix description in setup.py %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada 8f0b245924 Fix url %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada ab05f76e8c Support PyQt5 with master branch %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada b00506f760 _static -> static %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada dc2dce6f8b Support PyQt4 and PyQt5 %!s(int64=7) %!d(string=hai) anos
  Kentaro Wada fe1f8c445a Clarify python2 and 3 for pyqt5 in README %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada f071cc864e Fix tests %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 80fab30529 Fix tests %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 430e7f916b Make repo light %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada df63c5fc48 2.3.1 %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 8452899a20 Merge pull request #9 from eisoku9618/patch-1 %!s(int64=8) %!d(string=hai) anos
  Eisoku Kuroiwa c5f02239a8 Depend Pillow 2.8.0 or later %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 68b4ff3a61 Update README %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada c6438f036e Update README %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 798e9b9cab Update dockerfile %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 2a5379a266 2.3.0 %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 16a0bbf501 Update README %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 09bfdd401e Describe docker %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 056df0794e Support linux on labelme_on_docker %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 02ae92053b Update README %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 01ebb5e835 Add labelme_on_docker %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada a05dd11294 Update Dockerfile %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada a33f07938e Add dockerfile %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada ccdde5cd4c Add comment to .travis.yml %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada cf2ac140b6 Install scikit-image and numpy %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 6c83b9cfc4 Add Python.h %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 2b38679da0 Fix fork skimage %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada d60c53338d Add matplotlib %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 9051d25c09 Fix virtualenv in travis %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada cf349bae09 Fix matplotlib %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 58ef81a84f Fix nose %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 43982381e0 Improve apt-get install %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 08dffdc2f1 Add travis badge %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada f78c053e52 Add tests %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 753443f82c Add .travis.yml %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 1e10031b5f Fix missing install_requirements %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada ddabbe7716 Merge pull request #8 from eisoku9618/eisoku9618-patch-1 %!s(int64=8) %!d(string=hai) anos
  Eisoku Kuroiwa 3dd175a23a Update dependency of this package %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 0a7c17777a Fix dependency on matplotlib %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 3ee4803227 2.2.2 %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada bc24ed1d19 Update README %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 1e237689b6 Merge pull request #4 from haraduka/filename_optional %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada d77c4aa5ae Merge pull request #3 from haraduka/fix_file_dialog %!s(int64=8) %!d(string=hai) anos
  haraduka a766edf183 Save file correctly with file dialog %!s(int64=8) %!d(string=hai) anos
  haraduka f88b4b2d44 Make filename as optional argument %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada fca8089025 Update README %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 759f933160 Fix dependency for pyrcc4 command %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada b5a4c947d5 Improve README %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada bdbd152743 2.2.1 %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 4149ba6774 Support colormap in labelme draw_label %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada bf2333aaa8 2.2.0 %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 341537a0ab Fix size of label drawing results %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada 212475279f 2.1.0 %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada d746976371 Add labelme_json_to_dataset utility script %!s(int64=8) %!d(string=hai) anos
  Kentaro Wada a532edc4d9 Update usage %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada b184003c80 2.0.4 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 9962d0adbf rst to md %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 958fb3c538 Add samples %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 1cc92a1950 2.0.3 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 9ed8755ee9 Added save and exit mode with --output option %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 36a7d01e76 Set default filename with basename of image %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 116e30f5ef Describe about label_draw_json %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 1c4075f9a6 2.0.2 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 9b74b4be9d 2.0.1 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 7a07a7e526 2.0.0 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 743b522ab5 Add script for drawing json %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada c908379614 Pop out window to the front %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 546e12b2bb Change suffix .lif -> .json %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada c022723b34 Add script for developper friendly %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 980932f6ea Make script as console_scripts %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 81367eefaf Add installation instruction for osx %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 7d23d2dbbd Update README for installation %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada faf1434bea 1.2.3 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 71157aa958 Fix glob for icons %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 95560494c7 1.2.2 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada f0f6028ea2 Fix cwd for pyrcc4 conversion %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada c3ffd12785 1.2.1 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada bdaafa1cd8 Install resources.qrc %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada fb3b97b268 1.2.0 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada a5515b242d Check pyrcc4 command exists %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 9e4a53d5b5 Fix author and license %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada d233ad1877 1.1.6 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 38cc94b0bb Reorder the build_py running commands %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 5a336629bf 1.1.5 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 35f827cabe Update build_py %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada e0f2d45054 Rename COPYING -> LICENSE %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada efd14803f7 1.1.4 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 209bbb5ad5 Remove checking output of pyrcc4 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 7dc1d8a598 1.1.3 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada a7fde506f5 Update screencast size %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada c57ea619b1 1.1.2 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada d1c6f45234 Fix cwd %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada cab993177d 1.1.1 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada d2e45274d0 Update gif path %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 2b120b3ed7 1.1.0 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada a95aab76b6 Convert ogv to gif %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 8424ef433e Add dependencies and usage %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada e1b930fe83 Remove todo in README %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada ac66c75bb0 Add description in README %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 133dcb4cf1 1.0.1 %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada b308585725 Add MANIFEST %!s(int64=9) %!d(string=hai) anos
  Kentaro Wada 9ba752183c Prepare source to release pypi %!s(int64=9) %!d(string=hai) anos
  Michael Pitidis fc8fecd81f Update usage instructions, add links %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis cbbff62e7e Add usage tips %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 0b472517c1 Add GPL v3 license and headers %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 59fc047c47 Update README %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 50bdb49d92 Add latest icons %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 92096a6124 Switch to PNG files %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 3f63c84d9b Prompt user when loading recent files %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f347751470 Add create/edit modes in Edit menu %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 92ddbcce0f Fix bug when switching modes %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 160ff05c5d Fix save file bugs and switch to different dialogs %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis cd248dcc7a Add application icon %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 7aa81a081d Move recent files to separate menu %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 30971aef54 Fix icons, add screencast entry in help menu %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis dcbb86d2da Remove old files %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis bc7a401ca5 Fix typo %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 115edf9749 Do not use Mac native color dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 09ddb989ba Make some shortcuts and mnemonics more consistent %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 79f3448a5e Add advanced mode icons %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 7b49527c50 Merge branch 'feature/save-as' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis e08e86ea5a Disable Save As on file close %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis d7dcec7c07 Add `Save As` menu action %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis ba3bb27011 Merge file filters into one %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis efb1eb8740 Add create action in the edit menu %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis d61bc9d9ac Position the label dialog under the cursor %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis fe14f007bc Fix bug with createMode sensitivity %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c6969c5577 Switch out of create mode beginner presses escape %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis eda1c4ff86 Fix some more bugs with vertex highlighting %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis bf21090bd5 Merge label dialog into a single class %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 23e9d00ee3 Switch to simpler label dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis e44df990b1 Add more actions to menus, copy shape properties %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis ba3132a9df Fix bug in default fill color for shapes %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 1867977598 Add Return as a shortcut for closing a shape %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis a66a963c66 Rephrase `copy` to `duplicate`, move to beginner %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis fec310a3d5 Merge branch 'experiment/modes' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 7f52f77bfd Experiment with vertex fill colors %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis d5e34931e8 Fix various bugs with vertex selection/movement %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f67a1144b0 Deselect and un-highlight shapes in create mode %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 95c783d18d Different beginner/advanced context menu %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f6db44577e Move hide/show to advanced mode %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f3a5ac8a90 Hide edit label button in advanced mode %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c44325434d Changed content margins %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 2dbe44df40 Fix bug when deleting shapes %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 4943d1a367 Remove entered text from label dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 86dff3c387 Remove create context menu entry %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 58d61c57e9 Make dock features advanced-mode only %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 1a2f1148d9 Add beginner/advanced modes %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 22e44ace07 Fix copied shape offset so that it is bounded %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 9e579400bd Fix bug in shape copying and move copied shape %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 54fbc95381 When loading image zoom to fit window %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 9351f12637 Fix some ambiguous shortcuts and accelerators %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 1193c42127 Fix bugs introduced with previous merge %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 8f9087e506 Merge branch 'feature/move-vertices' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b2bac4072b Update TODO %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f19eaf2522 Fix persisting cross cursor bug %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 0b9d851481 Disallow label editing when in draw mode %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis d80c404466 Make draw mode persistent %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 4e01351f28 Update TODO and minor changes %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b02a28f324 Don't select shapes from label list when editing %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis e4e0502956 Set clean state after closing image %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis fb7b8417ab Minor refactoring of label list code %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis fcb7c020be Toggle zoom controls on open/close, fix fitting %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 437e011843 Fix some issues and refactor recentFiles %!s(int64=13) %!d(string=hai) anos
  Hussein 458ca30b79 add recent files %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 9f35425b98 Update TODO %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 12347de72b Add working prototype of vertex moving %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 4d20f7b181 Update TODO file %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis eccc3f3fd7 Partly fix cursor change bugs %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis d54a766b34 Place label dialog buttons explicitly %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis a73a66d2be Change cursor when attracting line to close shape %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c1ff8a647e Highlight starting point when attracting line %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 34eea4385c Experiment with persistent draw mode %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b93a0c51cf Cache painter, cleanup %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 0aa5efd756 Set background label list color to shape color %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis bc61a0979e Mark color changes as dirty %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b753dd6c21 Fix canvas update bug %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 6bff3a6f1f Implement a recent files list %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 406674fd2f Hide all shapes, including selections %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 7e4bd28b17 Merge branch 'feature/save-colors' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 6df3c077d5 Add support for saving/loading shape colors %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 3fd40ba286 Experiment with different enter label dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis dc9fa8216d Merge branch 'master' of linode:hci1 %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis e6577a18a8 Merge branch 'fix/todo' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c42d6fbc0c Merge label edit dialogs into one %!s(int64=13) %!d(string=hai) anos
  Hussein ee110eeb4c Edit , change line color and fill color for the selcted shape %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis fab5f3d1a8 Implement edit label dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis cf9e90177a Add label list context menu %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f3f61168de Change hide labels to hide not selected polygons %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 086929090d Update TODO %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 75194951ee Add close action, fix zoom issue %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 59c43ce9df Update TODO based on user feedback %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c736abf0c7 Switch to update instead of repaint to fix flicker %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis bd1dfc8da5 Select shapes when the user clicks on a label %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 0d4ffb85df Select label list items on shape selection %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c50e1c4b6d Remove frameless hint %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis bb6191d0c8 Remove some unnecessary repaints %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 7cf604bd6a Merge branch 'master' of linode:hci1 %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 5404279ebe Merge branch 'feature/colors' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis df3eb15c6e Add Restore Defaults button in color dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b491268fb1 Switch to custom color dialog, to fix cancel %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c50bf612e3 Add separate dialog for fill color %!s(int64=13) %!d(string=hai) anos
  Hussein 0055179aff just changed the selection fill color into blue and move it into shape code %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b5c26a405a Merge branch 'feature/cursor' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 0c461927e8 Change cursor on mouse release too %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 2bba6b23ce Fix issue with cursor by overriding app cursor %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 389c96d37b Change canvas cursors depending on the operation %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b96f4b5f22 Only fill shapes on mouse-over %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c2696dfa3d Update TODO with previous change %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b654e4d6e0 Merge branch 'feature/error-dialog' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 12d32e366f Notify the user on load/save errors %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis cd63847cdc Merge branch 'feature/user-prompt' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 40a5bc21f1 Prompt user to save changes on open/quit %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 626a3f0a3a Update TODO list %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 8fa061060b Add smooth transform render hint %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 1a2b986fe8 Update and group TODO/FIXME lists %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 2abdd7c2bd Add detailed zoom actions %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 02d3cba8f5 Add 'Delete' as a secondary shortcut to delete %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 70e409bb32 Merge branch 'master' of linode:hci1 %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis ab33b81381 Make all toolbar buttons the same size %!s(int64=13) %!d(string=hai) anos
  Hussein 45666c81d5 fix copy here , to make copied shape is the only selected one %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b8089c205c No need to deselect, the copy is now selected %!s(int64=13) %!d(string=hai) anos
  Hussein e9fd967978 Merge branch 'master' of 109.74.206.203:hci1 %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis bacfd5c0b9 Fix bug when copying with right click %!s(int64=13) %!d(string=hai) anos
  Hussein d95784d012 fix copy here , just the copied shape to be selected %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 8d6bfef698 Fix bug when the copy/move menu is cancelled %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f27b9c55df Merge branch 'master' of linode:hci1 %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 35c296ef94 Add pop-up menu when moving shape with right click %!s(int64=13) %!d(string=hai) anos
  Hussein dfbeb448ac fix copy and delete status after copying a shape %!s(int64=13) %!d(string=hai) anos
  Hussein 8f4764fbbb fix copy and delete ( to be activated after copying a shape , as it's will be selected) %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 05a3bfe7ad Make right click select shapes as well %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c652ec996d Merge branch 'master' of linode:hci1 %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 2b6cbafb31 Make shape-related actions context sensitive %!s(int64=13) %!d(string=hai) anos
  Hussein f51cb91f7c fixed copy shape %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 5cfe56751f Update label list when deleting shapes from canvas %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 2070489947 Do not select shapes marked hidden %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 00991bd333 Fix label dialog to accept on Return-press %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 60410eff65 Merge branch 'merge/list-save' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c717b7485a Merge branch 'feature/save' into feature/label-list %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b9cb79bca6 Fix hiding of background shapes across selections %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 7b3fa8cef6 Fix bug in pressed button detection %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis c7471ecb32 Bound shape moves inside pixmap area %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 18fdb79a4d Add label text as tooltip %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 06d6698503 Fix selection of shapes in scaled images %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 5b51852d46 Validate label text when adding/editing %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis d0688774be Add support for editing label text %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis d8751d8568 Add checkbox for label visibility %!s(int64=13) %!d(string=hai) anos
  Hussein f31efaac1a after coping a shape , it addes it to the list %!s(int64=13) %!d(string=hai) anos
  Hussein 55e489269f hide when add new shape %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis cf9e6ab53b Add support for loading labels %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b7ab6a5c90 Fix issues in shape completion with double click %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis bfd18b5033 Add support for saving labels %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 9195ca74d2 Add list of labels and highlight selections %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 8c822c2f0f Scale vertices so that they have stable size %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 4be2bbba25 Minor refactoring, change pen size %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 181cd3522b Whitespace changes %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 89e06d7228 Implement undo/delete shape from label dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 379216e9b2 Rename zoomwidget file %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis da221841ed Pop-up label dialog after a shape is drawn %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 6d15cd3f6c Fix and refactor fitWindow code %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 2dffe04535 Refactor image code to use resource files %!s(int64=13) %!d(string=hai) anos
  Hussein 3dd2e04710 Merge branch 'master' of 109.74.206.203:hci1 %!s(int64=13) %!d(string=hai) anos
  Hussein 8dc69da627 Added Icons to the toolbarAdded Icons to the toolbar %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 02c205ef31 Merge branch 'feature/intersections' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f7ae3e6aff Project line to pixmap edges when out of area %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 541b237fbb Don't allow creating points outside of pixmap %!s(int64=13) %!d(string=hai) anos
  Hussein 301c5c84bf Moving shape ,delete it and prototype of right click and making new copy of the shape. %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 83899de186 Merge branch 'features/scaling,controls' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis ee894fdcb4 Clean up and refactor slightly %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 7486c5809b Add some wheel & key controls to canvas %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 29d67ad811 Scale and center painter & image %!s(int64=13) %!d(string=hai) anos
  Hussein b1fb6c7487 Added new label button , so the user wont start drawing unless he clicks the button , in labelme %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis adca0805b4 Change shape color with the color chooser %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis a4573adbcc Add more point shapes %!s(int64=13) %!d(string=hai) anos
  Hussein 14f3c199ce in shape ,small square around each point %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 57cf61b1a1 Attract line to starting point %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 0e3536755f Draw polygonal shapes freely over the picture %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 350b9d596d Merge branch 'feature/zoom' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis f8265d3f41 Don't update image on every zoom value change %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis d45654e573 Add scroll area around image %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis e55ca64af6 Add support for zooming and make fit optional %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis a2b7a16e4c Add color chooser dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 5dee93a946 Try to add a point tracking line (failed) %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 71591b0458 Forgot to add separate file for canvas class %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 3b5931e741 Refactor main widget into separate class %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 795066e6e0 Add one shape and fill when closed %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 0f90bf13f9 Whitespace changes %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 98517a6de6 Custom label class with mousepress event %!s(int64=13) %!d(string=hai) anos
  Hussein d5b4c9de93 Merge remote-tracking branch 'origin/master' %!s(int64=13) %!d(string=hai) anos
  Hussein ee7d2b0160 Add my files %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 8884105f35 Merge branch 'experiment/settings' %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis db15457e46 Scale image to fit area %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis b39282b6dd Add file open dialog %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 05a2e5588c Add support for loading an image from the cli %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis ae1d765fce Save part of window state with QSettings %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis a6c86dda73 Add skeleton of UI layout %!s(int64=13) %!d(string=hai) anos
  Michael Pitidis 572689ad15 Initial commit %!s(int64=13) %!d(string=hai) anos

+ 6 - 0
labelme/__main__.py

@@ -109,6 +109,11 @@ def main():
         help="model weight for barcode detection",
         default=argparse.SUPPRESS,
     )
+    parser.add_argument(
+        "--segmentation_model",
+        type=str,
+        help="Path to the segmentation model"
+    )
     args = parser.parse_args()
 
     if args.version:
@@ -146,6 +151,7 @@ def main():
     config_file_or_yaml = config_from_args.pop("config")
     config = get_config(config_file_or_yaml, config_from_args)
     config["model"]=config_from_args.pop("model")
+    config["segmentation_model"]=config_from_args.pop("segmentation_model")
     if not config["labels"] and config["validate_label"]:
         logger.error(
             "--labels must be specified with --validatelabel or "

+ 5 - 2
labelme/ai/__init__.py

@@ -2,12 +2,15 @@ import gdown
 from .efficient_sam import EfficientSam
 from .segment_anything_model import SegmentAnythingModel
 from .barcode_model import BarcodePredictModel
+
 class BarcodePredict(BarcodePredictModel):
     name="BarcodePredict(ov)"
-    def __init__(self,model_path=None):
+    def __init__(self, detection_model_path=None, segmentation_model_path=None):
         super().__init__(
-            model_path=model_path
+            detection_model_path=detection_model_path,
+            segmentation_model_path=segmentation_model_path
         )
+
 class SegmentAnythingModelVitB(SegmentAnythingModel):
     name = "SegmentAnything (speed)"
 

+ 0 - 81
labelme/ai/barcode_model.py

@@ -1,81 +0,0 @@
-import collections
-import threading
-import numpy as np
-import openvino as ov
-import os.path as osp
-import cv2
-from ..logger import logger
-from . import _utils
-import copy
-class BarcodePredictModel:
-    def __init__(self,model_path):
-        self.ie =  ov.Core()
-        bin_path = osp.splitext(model_path)[0] + '.bin'
-        self.net = self.ie.read_model(model_path, bin_path)
-        self.device = 'cpu'
-        self._lock = threading.Lock()
-        self._image_embedding_cache = collections.OrderedDict()
-        self.ppp=ov.preprocess.PrePostProcessor(self.net)
-        self.ppp.input().tensor().set_shape([1,480,480,1]).set_element_type(ov.Type.u8).set_layout(ov.Layout('NHWC'))
-        self.ppp.input().model().set_layout(ov.Layout('NCHW'))
-        # self.ppp.output().tensor().set_element_type(ov.Type.f32)
-        self.net=self.ppp.build()
-        self.sess = self.ie.compile_model(model=self.net, device_name=self.device.upper())
-        self.predict_session=self.sess.create_infer_request()
-
-    def set_image(self,image:np.ndarray):
-        with self._lock:
-            #keep ratio is false
-            self.raw_width=image.shape[1]
-            self.raw_height=image.shape[0]
-            resized_image=cv2.resize(image,(480,480))
-            input_tensor=np.expand_dims(resized_image,2)
-            input_tensor=np.expand_dims(input_tensor,0)
-            self._image=input_tensor
-            self._thread = threading.Thread(
-                target=self._compute_and_cache_image_embedding
-            )
-            self._thread.start()
-    def _compute_and_cache_image_embedding(self):
-        with self._lock:
-            logger.debug("Computing image embedding using BarcodePredict...")
-            #we dont need to transfer because we use mono camera
-            self._result =  self.predict_session.infer(self._image)
-            logger.debug("Done computing image embedding.")
-    def _get_image_embedding(self):
-        if self._thread is not None:
-            self._thread.join()
-            self._thread=None
-        with self._lock:
-            new_result=self._result
-            return new_result
-    def predict_mask_from_points(self,points=None,point_labels=None):
-        return _collect_result_from_output(
-            outputs=self._get_image_embedding(),
-            raw_width=self.raw_width,
-            raw_height=self.raw_height,
-        )
-    def predict_polygon_from_points(self,points=None,point_labels=None):
-        result_list=self.predict_mask_from_points(points,point_labels)
-        return result_list
-def _collect_result_from_output(outputs,raw_width,raw_height):
-    outputs=np.squeeze(outputs[0],axis=0)
-    point_list=[]
-    thresh_hold=0.5
-
-    for bbox_info in outputs:
-        if(bbox_info[4]>thresh_hold):
-            ratio_x=raw_width/480
-            ratio_y=raw_height/480
-            #0->x1 1->y1 2->x2 3->y2
-            x1=max(min(int(ratio_x*bbox_info[0]),raw_width-1),0)
-            y1=max(min(int(ratio_y*bbox_info[1]),raw_height-1),0)
-            x2=max(min(int(ratio_x*bbox_info[2]),raw_width-1),0)
-            y2=max(min(int(ratio_y*bbox_info[3]),raw_height-1),0)
-            point_xy=[]
-            point_xy.append([x1,y1])
-            point_xy.append([x2,y1])
-            point_xy.append([x2,y2])
-            point_xy.append([x1,y2])
-            point_list.append(point_xy)
-    return point_list

+ 2 - 3
labelme/app.py

@@ -166,7 +166,8 @@ class MainWindow(QtWidgets.QMainWindow):
             double_click=self._config["canvas"]["double_click"],
             num_backups=self._config["canvas"]["num_backups"],
             crosshair=self._config["canvas"]["crosshair"],
-            model_path=self._config["model"],
+            detection_model_path=self._config["model"],
+            segmentation_model_path=self._config["segmentation_model"],
         )
         self.canvas.zoomRequest.connect(self.zoomRequest)
         self.canvas.mouseMoved.connect(
@@ -1240,8 +1241,6 @@ class MainWindow(QtWidgets.QMainWindow):
         self.actions.edit.setEnabled(n_selected)
 
     def addLabel(self, shape):
-        if(shape.label is None):
-            return
         if shape.group_id is None:
             text = shape.label
         else:

+ 1 - 1
labelme/config/__init__.py

@@ -69,7 +69,7 @@ def get_config(config_file_or_yaml=None, config_from_args=None):
         update_dict(config, config_from_yaml, validate_item=validate_config_item)
 
     # 3. command line argument or specified config file
-    print(config_from_args)
+    # print(config_from_args)
     if config_from_args is not None:
         update_dict(config, config_from_args, validate_item=validate_config_item)
 

+ 217 - 29
labelme/widgets/canvas.py

@@ -8,7 +8,8 @@ import labelme.utils
 from labelme import QT5
 from labelme.logger import logger
 from labelme.shape import Shape
-
+import numpy as np
+import cv2
 # TODO(unknown):
 # - [maybe] Find optimal epsilon value.
 
@@ -41,7 +42,8 @@ class Canvas(QtWidgets.QWidget):
 
     def __init__(self, *args, **kwargs):
         self.epsilon = kwargs.pop("epsilon", 10.0)
-        self.model_path=kwargs.pop("model_path",None)
+        self.detection_model_path=kwargs.pop("detection_model_path",None)
+        self.segmentation_model_path=kwargs.pop("segmentation_model_path",None)
         self.double_click = kwargs.pop("double_click", "close")
         if self.double_click not in [None, "close"]:
             raise ValueError(
@@ -106,7 +108,8 @@ class Canvas(QtWidgets.QWidget):
         self.setFocusPolicy(QtCore.Qt.WheelFocus)
 
         self._ai_model = None
-
+        self._detection_model = None
+        self._segmentation_model = None
     def fillDrawing(self):
         return self._fill_drawing
 
@@ -132,16 +135,36 @@ class Canvas(QtWidgets.QWidget):
             raise ValueError("Unsupported createMode: %s" % value)
         self._createMode = value
 
-    def initializeAiModel(self,name,weight_path=None):
-        if name not in [model.name for model in labelme.ai.MODELS]:
-            raise ValueError("Unsupported ai model: %s" % name)
-        model = [model for model in labelme.ai.MODELS if model.name == name][0]
+    def initializeBarcodeModel(self, detection_model_path, segmentation_model_path=None):
+        if not detection_model_path:
+            raise ValueError("Detection model path is required.")
 
-        if self._ai_model is not None and self._ai_model.name == model.name:
-            logger.debug("AI model is already initialized: %r" % model.name)
-        else:
-            logger.debug("Initializing AI model: %r" % model.name)
-            self._ai_model = model(weight_path)
+        logger.debug("Initializing only detection model: %r" % "BarcodePredictModel")
+        self._detection_model = labelme.ai.BarcodePredictModel(detection_model_path)
+
+        if segmentation_model_path:
+            logger.debug("Initializing barcode detection  & Segmentation model: %r" % "BarcodePredictModel")
+            self._segmentation_model = labelme.ai.BarcodePredictModel(
+                detection_model_path, segmentation_model_path
+            )
+        if self.pixmap is None:
+            logger.warning("Pixmap is not set yet")
+            return
+
+        self._detection_model.set_image(
+            image=labelme.utils.img_qt_to_arr(self.pixmap.toImage())
+        )
+
+    def initializeAiModel(self, name, weight_path=None):
+        if self._ai_model is not None:
+            logger.debug("AI model is already initialized.")
+            return
+
+        if name not in [model.name for model in labelme.ai.MODELS]:
+            raise ValueError("Unsupported AI model: %s" % name)
+        model_class = [model for model in labelme.ai.MODELS if model.name == name][0]
+        logger.debug(f"Initializing AI model: {name}")
+        self._ai_model = model_class(weight_path)
 
         if self.pixmap is None:
             logger.warning("Pixmap is not set yet")
@@ -768,7 +791,7 @@ class Canvas(QtWidgets.QWidget):
                 point=self.line.points[1],
                 label=self.line.point_labels[1],
             )
-            points = self._ai_model.predict_polygon_from_points(
+            points = self._detection_model.predict_polygon_from_points(
                 points=[[point.x(), point.y()] for point in drawing_shape.points],
                 point_labels=drawing_shape.point_labels,
             )
@@ -787,7 +810,7 @@ class Canvas(QtWidgets.QWidget):
                 point=self.line.points[1],
                 label=self.line.point_labels[1],
             )
-            mask = self._ai_model.predict_mask_from_points(
+            mask = self._detection_model.predict_mask_from_points(
                 points=[[point.x(), point.y()] for point in drawing_shape.points],
                 point_labels=drawing_shape.point_labels,
             )
@@ -826,7 +849,7 @@ class Canvas(QtWidgets.QWidget):
         if self.createMode == "ai_polygon":
             # convert points to polygon by an AI model
             assert self.current.shape_type == "points"
-            points = self._ai_model.predict_polygon_from_points(
+            points = self._detection_model.predict_polygon_from_points(
                 points=[[point.x(), point.y()] for point in self.current.points],
                 point_labels=self.current.point_labels,
             )
@@ -838,7 +861,7 @@ class Canvas(QtWidgets.QWidget):
         elif self.createMode == "ai_mask":
             # convert points to mask by an AI model
             assert self.current.shape_type == "points"
-            mask = self._ai_model.predict_mask_from_points(
+            mask = self._detection_model.predict_mask_from_points(
                 points=[[point.x(), point.y()] for point in self.current.points],
                 point_labels=self.current.point_labels,
             )
@@ -1000,18 +1023,28 @@ class Canvas(QtWidgets.QWidget):
             elif modifiers == QtCore.Qt.AltModifier:
                 self.snapping = False
             elif key == QtCore.Qt.Key_V:
-                if self._ai_model is None and self.model_path is not None:
-                    print(f"model got initialized")
-                    self.initializeAiModel("BarcodePredict(ov)",self.model_path)
+                if self._detection_model is None:
+                    logger.info(f"Initializing AI model")
+                    self.initializeBarcodeModel(self.detection_model_path, self.segmentation_model_path)
+ 
                 self.current = Shape(
-                        shape_type="points"
-                        if self.createMode in ["ai_polygon", "ai_mask"]
-                        else self.createMode
-                    )
-                if self._ai_model is not None:
-                    self.pred_bbox_points=self._ai_model.predict_polygon_from_points()
-                    self.draw_pred=True
-                    self.finalise()         
+                    shape_type="points" if self.createMode in ["ai_polygon", "ai_mask"] else self.createMode
+                )
+                        
+                if self._detection_model:
+                    if self._segmentation_model is None:
+                        logger.info(f"Performing detection only.")
+                        # Get prediction from model
+                        self.pred_bbox_points = self._detection_model.predict_polygon_from_points()
+                        print("Predicted Bounding Box Points:", self.pred_bbox_points)                        
+                        if self.pred_bbox_points:
+                            self.draw_pred = True
+                            self.finalise()
+                        else:
+                            print("No bounding boxes detected.")    
+                    else:
+                            logger.info(f"Performing detection and segmentation.")
+                            self.detect_and_segment() 
         elif self.editing():
             if key == QtCore.Qt.Key_Up:
                 self.moveByKeyboard(QtCore.QPointF(0.0, -MOVE_SPEED))
@@ -1022,8 +1055,163 @@ class Canvas(QtWidgets.QWidget):
             elif key == QtCore.Qt.Key_Right:
                 self.moveByKeyboard(QtCore.QPointF(MOVE_SPEED, 0.0))
 
+    
+    def scale_points(self, approx, mask_shape, cropped_shape, x_min, y_min):
+        scale_x = cropped_shape[1] / mask_shape[1]  # Scale factor for x-axis
+        scale_y = cropped_shape[0] / mask_shape[0]  # Scale factor for y-axis
+        return [[int(pt[0][0] * scale_x) + x_min, int(pt[0][1] * scale_y) + y_min] for pt in approx]
+    
+    def detect_and_segment(self):
+        """
+        Perform detection and segmentation (if both models are available).
+        """
+        logger.info("Performing detection and segmentation.")
+        self.current = Shape(
+            shape_type="points" if self.createMode in ["ai_polygon", "ai_mask"] else self.createMode
+        )
+
+        # Step 1: detection bounding box points
+        detection_results = self._detection_model.predict_polygon_from_points()
+
+        if not detection_results or len(detection_results) == 0:
+            logger.warning("No detection found")
+            return
+
+        logger.debug(f"Detection results: {detection_results}")
+        all_segmentation_results = []
+        rotated = False
+        # Step 2: Loop through each detection result since there are multiple per image
+        for detection_idx, detection_result in enumerate(detection_results):
+            logger.debug(f"Processing detection {detection_idx + 1}/{len(detection_results)}")
+
+            try:
+                #extracting
+                x_coords = [point[0] for point in detection_result]
+                y_coords = [point[1] for point in detection_result]
+                
+                #min and max values for x and y
+                x_min, x_max = min(x_coords), max(x_coords)
+                y_min, y_max = min(y_coords), max(y_coords)
+                
+                logger.debug(f"Bounding box for detection {detection_idx + 1} - x_min: {x_min}, y_min: {y_min}, x_max: {x_max}, y_max: {y_max}")
+            except Exception as e:
+                logger.error(f"Error extracting bounding box coordinates for detection {detection_idx + 1}: {e}")
+                continue
+
+            # Converting bounding box values to integers for cropping
+            x_min, y_min, x_max, y_max = int(x_min), int(y_min), int(x_max), int(y_max)
+
+            # Step 3: Cropping image based on detection output
+            try:
+                
+                cropped_image = self.pixmap.toImage().copy(x_min, y_min, x_max - x_min, y_max - y_min)
+                cropped_image = labelme.utils.img_qt_to_arr(cropped_image)
+
+                orig_height, orig_width = cropped_image.shape[:2]
+                logger.debug(f"Original height: {orig_height}, Original width: {orig_width}")
+                # if the height is greater than the width we rotate for segmentaion
+                if orig_height > orig_width:  
+                    cropped_image = cv2.rotate(cropped_image, cv2.ROTATE_90_CLOCKWISE)
+                    logger.debug(f"Rotated cropped image for detection {detection_idx + 1} due to height > width.")
+                    orig_cropped_shape = cropped_image.shape[:2]
+                    rotated = True
+
+                else: 
+                    rotated = False
+                # Save crop image
+                cv2.imwrite(f"cropped_image_{detection_idx + 1}.png", cropped_image)
+                logger.debug(f"Saved cropped image for detection {detection_idx + 1}: {cropped_image.shape}")
+
+                # logger.debug(f"Cropped image shape for detection {detection_idx + 1}: {cropped_image.shape}")
+            except Exception as e:
+                logger.error(f"Error cropping the image for detection {detection_idx + 1}: {e}")
+                continue
+
+            # Step 4: Resize the cropped image to match segmentation input size (1 64 256)
+            try:
+                orig_cropped_shape = cropped_image.shape[:2]  # Save the original cropped image size
+                preprocessed_img = self._detection_model.preprocess_image(cropped_image, for_segmentation=True)
+                logger.debug(f"Preprocessed image shape for segmentation detection {detection_idx + 1}: {preprocessed_img.shape}")
+            except Exception as e:
+                logger.error(f"Error preprocessing the image for segmentation for detection {detection_idx + 1}: {e}")
+                continue
+
+            # Step 5: inference on segmentation model on cropped image
+            try:
+                seg_result = self._segmentation_model.segmentation_sess.infer_new_request({'x': preprocessed_img})
+                logger.debug(f"Segmentation model inference completed for detection {detection_idx + 1}.")
+            except Exception as e:
+                logger.error(f"Error during segmentation model inference for detection {detection_idx + 1}: {e}")
+                continue
 
+            # Step 6: Convert binary mask to polygon (contours)
+            try:
+                mask = seg_result['save_infer_model/scale_0.tmp_0']  #model output name
+                mask = mask.squeeze()  # Remove batch dimension, should result in (64, 256)
+                logger.debug(f"Segmentation mask shape for detection {detection_idx + 1}: {mask.shape}")
+
+                # Normalize the mask to 0 and 255 and convert to uint8
+                mask = (mask * 255).astype(np.uint8)
+
+                logger.debug(f"Converted mask shape for detection {detection_idx + 1}: {mask.shape}, dtype: {mask.dtype}")
+                cv2.imwrite(f"segmentation_mask_{detection_idx + 1}.png", mask)
+                if rotated:
+                    cropped_image = cv2.rotate(cropped_image, cv2.ROTATE_90_COUNTERCLOCKWISE)
+                    mask = cv2.rotate(mask, cv2.ROTATE_90_COUNTERCLOCKWISE)
+                    rotated_cropped_shape = cropped_image.shape[:2]
+                
+                # cv2.imwrite(f"segmentation_mask_{detection_idx + 1}.png", mask)
+                logger.debug(f"Saved segmentation mask for detection {detection_idx + 1}.")
+                
+                # Step 7: Find contours
+                contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
+                logger.debug(f"Found {len(contours)} contours in the mask for detection {detection_idx + 1}.")
+
+                if len(contours) > 0:
+                    largest_contour = max(contours, key=cv2.contourArea)
                     
+                    # Step 8: Approximate a polygon with exactly 4 points (quadrilateral)
+                    epsilon = 0.02 * cv2.arcLength(largest_contour, True)  # epsilon for precision
+                    approx = cv2.approxPolyDP(largest_contour, epsilon, True)
+
+                    # If the approximation doesn't result in 4 points, force it
+                    if len(approx) != 4:
+                        # Using boundingRect as fallback in case of insufficient points
+                        print("log here")
+                        x, y, w, h = cv2.boundingRect(largest_contour)
+                        point_xy = [
+                            [x + x_min, y + y_min],          # Top-left
+                            [x + w + x_min, y + y_min],      # Top-right
+                            [x + w + x_min, y + h + y_min],  # Bottom-right
+                            [x + x_min, y + h + y_min]       # Bottom-left
+                        ]
+                    else:
+                        if rotated:
+                            point_xy = self.scale_points(approx, mask.shape, rotated_cropped_shape, x_min, y_min)
+                        else:
+                            point_xy = self.scale_points(approx, mask.shape, orig_cropped_shape, x_min, y_min)
+                    logger.debug(f"Generated 4 corner points for the polygon for detection {detection_idx + 1}: {point_xy}")
+                    self.pred_bbox_points = [point_xy]
+                    logger.debug(f"Predicted Bounding Box Points for detection {detection_idx + 1}: {self.pred_bbox_points}")
+                    if self.pred_bbox_points:
+                        self.draw_pred = True
+                        self.finalise()
+                    else:
+                        logger.info(f"No bounding boxes detected for detection {detection_idx + 1}.")
+                        
+                    # Collect the segmentation result
+                    all_segmentation_results.append(self.pred_bbox_points)
+            except Exception as e:
+                logger.error(f"Error creating the polygon shape for detection {detection_idx + 1}: {e}")
+
+            # **Reset critical variables after each detection**:
+            self.pred_bbox_points = None
+            self.draw_pred = False
+
+        # You now have a list of segmentation results for all detections
+        if all_segmentation_results:
+            logger.info(f"Segmentation results for all detections: {all_segmentation_results}")
+
 
     def keyReleaseEvent(self, ev):
         modifiers = ev.modifiers()
@@ -1076,8 +1264,8 @@ class Canvas(QtWidgets.QWidget):
 
     def loadPixmap(self, pixmap, clear_shapes=True):
         self.pixmap = pixmap
-        if self._ai_model:
-            self._ai_model.set_image(
+        if self._detection_model:
+            self._detection_model.set_image(
                 image=labelme.utils.img_qt_to_arr(self.pixmap.toImage())
             )
         if clear_shapes: