571 Commits

Author SHA1 Message Date
M Clark 8696de1385 fix crash on first launch
When there is no previous state you get a segmentation fault. This fixes it. 

Experienced by me and also kaggle user [Jeffrey Richley](https://www.kaggle.com/c/noaa-right-whale-recognition/forums/t/16328/python-alternative-to-labelling-tool/92693#post92693). Fault trace:

```
Traceback (most recent call last):
  File "./bin/sloth", line 16, in <module>
    labeltool.execute_from_commandline(sys.argv)
  File "C:\personal\kaggle\sloth\sloth\core\labeltool.py", line 152, in execute_from_commandline
    self._mainwindow = MainWindow(self)
  File "C:\personal\kaggle\sloth\sloth\gui\labeltool.py", line 74, in __init__
    self.loadApplicationSettings()
  File "C:\personal\kaggle\sloth\sloth\gui\labeltool.py", line 308, in loadApplicationSettings
    self.restoreState(state)
TypeError: QMainWindow.restoreState(QByteArray, int version=0): argument 1 has unexpected type 'NoneType'
```
2016-08-19 10:06:15 +08:00
nilsonholger e8f7284bbb cursor is cross while making/editing labels, change zoom behaviour, thx @isaacgerg 2016-08-03 18:57:11 +02:00
Antonino Simone Di Stefano 06feb9bfeb Integrate horizontal/vertical help lines in RectItemInserter. 2016-08-03 18:41:46 +02:00
Antonino Simone Di Stefano 2b49500f64 Select and open multiple files in GUI dialog window 2016-08-03 18:36:05 +02:00
baeuml 4c39b89ca7 Merge pull request #85 from neingeist/feature/polygon-enumerator-plugin
Add a plugin to enumerate the corners of polygon items
2014-10-08 16:47:29 +02:00
Mike Gerber d47cd43948 Add a plugin to enumerate the corners of polygon items 2014-10-08 15:41:41 +02:00
baeuml 1b0a6eaa24 Merge pull request #81 from neingeist/feature/append-only-new-files
Append only new files
2014-09-01 09:41:57 +02:00
baeuml 46e80011c3 Merge pull request #83 from neingeist/fix/json-newline-at-end
Add a newline at the end of the JSON file
2014-09-01 09:40:06 +02:00
Mike Gerber 3bf65b9b26 Add a newline add the end of the JSON file
Editors like Vim add a newline at the end of the file when saving. git
then complains loudly about the "change":

  -]
  \ No newline at end of file
  +]

Add a newline to the JSON file to be compatible with editors.
2014-08-29 15:55:19 +02:00
Mike Gerber af0829baf5 Don't append duplicate files on cmd line multiple times
If a file is specified multiple time on the command line, do not
append it multiple times.
2014-08-28 19:46:05 +02:00
Mike Gerber e6927cbc04 Append only new files
When appending files, check if that file is already in the label file.
Do not append it if it's already there.
2014-08-28 19:46:05 +02:00
Martin Baeuml 8d9a6af7bf fix sphinx warnings 2014-04-16 23:02:08 +02:00
Martin Baeuml 8c711fa447 add a bit of documentation to setup.py 2014-04-16 23:01:59 +02:00
Martin Baeuml 138c9abaa1 bump version number in documentation, rename labeltool --> sloth 2014-04-16 23:01:36 +02:00
Martin Baeuml 013a2a4bc3 edit and update the documentation 2014-04-16 22:48:45 +02:00
Martin Baeuml bde36785b6 add build image in markdown 2014-04-15 23:38:43 +02:00
Martin Baeuml ebc40deb0a PEP8 changes 2014-04-15 23:33:13 +02:00
Martin Baeuml bad6e9ccda add numpy to setup.py dependencies 2014-04-15 23:27:18 +02:00
Martin Baeuml 184791a795 add TravisCI build status button 2014-04-15 23:24:37 +02:00
Martin Baeuml ad05875f0b Implement a more general version of the merge command
Also, add tests for this command.

This fixes #71.
2014-04-15 23:21:05 +02:00
Martin Baeuml d6a66eb0e6 remove empty file 2014-04-15 22:39:00 +02:00
Martin Baeuml 0dc837dc66 factor out common finishing code 2014-04-12 09:00:13 +02:00
baeuml 63e841ec12 Merge pull request #82 from neingeist/feature/polygons
Add the missing polygon functionality
2014-04-12 08:51:11 +02:00
Mike Gerber 26543b7a6d Remove default prefix 2014-04-10 23:36:06 +02:00
Mike Gerber 4feb87c72b When handling keys, only pressing Return finishes the polygon 2014-04-10 23:26:52 +02:00
Mike Gerber e810cd09af Allow finishing a polygon using a double click 2014-04-10 23:26:52 +02:00
Mike Gerber e2d61febc3 Allow aborting when inserting a polygon 2014-04-10 23:26:52 +02:00
Mike Gerber 8fbb44218d Remove unused variable _init_pos 2014-04-10 23:26:52 +02:00
Mike Gerber 32a4bbce76 No need for _current_image_item anymore
The insertion does not happen in abort() anymore, so PolygonItemInserter
does not need to save the current image item anymore for later use.
2014-04-10 23:26:52 +02:00
Mike Gerber 2579c4f7b0 Fix the start point of the polygon 2014-04-10 23:26:52 +02:00
Mike Gerber e0fa0534d5 Use the Enter key to finish the polygon
Using abort() (aka Escape) is not the right way to finish the polygon.
Use the Enter key instead. It works this way in Inkscape. Display a
message to instruct the user to use the Enter key to finish the
polygon.
2014-04-10 23:26:52 +02:00
Mike Gerber 3358d6d579 Add the missing PolygonItem
Add the functionality to add labels of polygon shape. That means:

- Fix the non-working PolygonItemInserter class
- Add the missing PolygonItem class
- Add the "polygon" class to the default configuration
2014-04-10 23:26:52 +02:00
baeuml 0d63d1ea34 Merge pull request #78 from neingeist/fix-relative-filenames
Add relative image filenames to the label file
2014-04-02 14:20:47 +02:00
baeuml 53a971b9ce Merge pull request #79 from neingeist/fix-trailing-whitespace
Avoid trailing whitespace in the JSON output
2014-04-02 14:17:51 +02:00
Mike Gerber 5ef339d7a5 Avoid trailing whitespace in the JSON output
The default separators used in the Python JSON library's dump() write
output with trailing whitespace. Use custom separators to avoid that, as
described in the documentation:

  http://docs.python.org/2/library/json.html
2014-03-30 10:58:06 +02:00
Mike Gerber 2afa69a2e4 Make image filenames relative to the label file
The image filenames written to the label files were absolute pathnames.
Change this to use filenames relative to the label file.
2014-03-30 10:53:17 +02:00
Martin Baeuml 19caf08ae1 add simple example on how to subclass RectItem for customization 2014-03-19 23:00:36 +01:00
Martin Baeuml 6b5dc54188 allow using QPen as argument for item.setPen(), fixes #77 2014-03-19 23:00:12 +01:00
Martin Baeuml cf0b79afed more cleanup 2014-03-19 22:59:04 +01:00
Martin Baeuml fa578410dc add missing imports 2014-03-19 22:58:53 +01:00
Martin Baeuml 9eb3e888c5 remove empty file 2014-03-19 22:58:21 +01:00
Martin Baeuml 86ba971a9c add missing travis requirements 2014-03-19 22:58:09 +01:00
Martin Baeuml bcd5415b0a fix bug in factory 2014-03-19 22:35:59 +01:00
Martin Baeuml 9b3ba3cb9f remove obsolete container tests 2014-03-19 22:35:50 +01:00
Martin Baeuml db1dc22036 cleanup/pep8 2014-03-19 22:35:42 +01:00
Martin Baeuml 957daf4c84 remove importlib copy, use stdlib version 2014-03-19 22:11:00 +01:00
Martin Baeuml 5d207711de pep8 2014-03-19 22:00:51 +01:00
Martin Baeuml 1c0387a192 pep8 2014-03-19 14:53:47 +01:00
Martin Baeuml a811b9cccf remove more mutable default arguments 2014-03-19 14:32:09 +01:00
Martin Baeuml 9bb08470cc fix mutable default arguments
Mutable default arguments are usually a bad idea, and certainly not intended here.
2014-03-19 14:16:19 +01:00