1458 Commit-ok 5af9b7b8e0 ... 96c7132de1

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

+ 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: