1458 Achegas 5af9b7b8e0 ... 96c7132de1

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