Skip to content

Commit

Permalink
Moved development on public github.
Browse files Browse the repository at this point in the history
- changed Content-type for save_job request to application/json, object…
- Adopted public PR - PASCAL VOC converter
- Added convert_to_mask.py script
- Fixed player continue plaing at the end of video, lock for editable object broke the client
- Same colors for shapes and menus, ability to change color for label or group
- Undo redo
- Added license header for all files
- Added .gitattributes file (critical for bash scripts)
- Fixed "Don't delete tasks if a user is deleted"
- More strict check for 'checkbox' and 'number' values
- Added convert_to_coco.py script
- Job statistic were extended. Blowradius was removed
- More strict labels verification
- Drag polygons by requirement, norm stroke opacity, easy box dragging
- Drawing with mouse outside the image area
- Fixed 7z support
- Boundig box size in drawer, switcheable grid
- Split tracks feature
- Fix flip parsing
- Update color set & color by label feature
- Add point for polygons feature
- Added context menu
- Polyshapes
  • Loading branch information
Nikita Manovich committed Aug 30, 2018
1 parent e7fba70 commit a50b4cc
Show file tree
Hide file tree
Showing 178 changed files with 19,643 additions and 12,822 deletions.
29 changes: 29 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
* text=auto whitespace=trailing-space,space-before-tab,-indent-with-non-tab,tab-in-indent,tabwidth=4

.git* text export-ignore

*.txt text
*.htm text
*.html text
*.js text
*.py text
*.css text
*.md text
*.yml text
Dockerfile text
LICENSE text
*.conf text
*.mimetypes text
*.sh text eol=lf

*.avi binary
*.bmp binary
*.exr binary
*.ico binary
*.jpeg binary
*.jpg binary
*.png binary
*.gif binary
*.ttf binary
*.pdf binary

49 changes: 0 additions & 49 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,52 +2,3 @@

When contributing to this repository, please first discuss the change you wish to make via issue,
email, or any other method with the owners of this repository before making a change.

## Development environment

Next steps should work on clear Ubuntu 18.04.

- Install necessary dependencies:

```sh
$ sudo apt-get install -y curl redis-server python3-dev python3-pip python3-venv libldap2-dev libsasl2-dev
```

- Install [Visual Studio Code](https://code.visualstudio.com/docs/setup/linux#_debian-and-ubuntu-based-distributions) for development

- Install CVAT on your local host:

```sh
$ git clone https://github.com/opencv/cvat
$ cd cvat && mkdir logs keys
$ python3 -m venv .env
$ . .env/bin/activate
$ pip install -U pip wheel
$ pip install -r cvat/requirements/development.txt
$ python manage.py migrate
$ python manage.py collectstatic
```

- Create a super user for CVAT:

```sh
$ python manage.py createsuperuser
Username (leave blank to use 'django'): ***
Email address: ***
Password: ***
Password (again): ***
```

- Run Visual Studio Code from the virtual environment

```
$ code .
```

- Inside Visual Studio Code install [Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) and [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) extensions

- Reload Visual Studio Code

- Select `CVAT Debugging` configuration and start debugging (F5)

You have done! Now it is possible to insert breakpoints and debug server and client of the tool.
11 changes: 8 additions & 3 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,21 @@
* Primary developer
* Author and maintainer

- **[Andrey Zhavoronkov]()**
- **[Andrey Zhavoronkov](https://github.com/azhavoro)**

* Developer
* Author and maintainer

# Contributors

- **[Victor Salimonov](https://github.com/VikTorSalimonov)**

* Documentation, screencasts

- **[Dmitry Sidnev](https://github.com/DmitriySidnev)**

* [convert_to_coco.py](utils/coco) - an utility for converting annotation from CVAT to COCO data annotation format

- **[Sebastián Yonekura](https://github.com/syonekura)**
* [convert_to_voc.py](cvat/utils/convert_to_voc.py) - an utility for
converting CVAT XML to PASCAL VOC data annotation format.

* [convert_to_voc.py](utils/voc) - an utility for converting CVAT XML to PASCAL VOC data annotation format.
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ COPY supervisord.conf mod_wsgi.conf wait-for-it.sh manage.py ${HOME}/
RUN pip3 install --no-cache-dir -r /tmp/requirements/${DJANGO_CONFIGURATION}.txt
COPY cvat/ ${HOME}/cvat
COPY tests ${HOME}/tests
RUN patch -p1 < ${HOME}/cvat/apps/engine/static/engine/js/3rdparty.patch
RUN chown -R ${USER}:${USER} .

# RUN all commands below as 'django' user
Expand Down
40 changes: 20 additions & 20 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
MIT License

Copyright (c) 2018 annotation

Copyright (C) 2018 Intel Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom
the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.

SPDX-License-Identifier: MIT
26 changes: 25 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ Type your login/password for the superuser [on the login page](http://localhost:

### Stop all containers

The command below will stop and remove containers and networks created by `up`. See documentation for [docker-compose down](https://docs.docker.com/compose/reference/down/) for more details.
The command below will stop and remove containers, networks, volumes, and images
created by `up`.

```bash
docker-compose down
Expand Down Expand Up @@ -116,3 +117,26 @@ cvat:
environment:
DJANGO_LOG_SERVER_URL: https://annotation.example.com:5000
```
### Share path
You can use a share storage for data uploading during you are creating a task. To do that you can mount it to CVAT docker container. Example of docker-compose.override.yml for this purpose:
```yml
version: "2.3"

services:
cvat:
environment:
CVAT_SHARE_URL: "Mounted from /mnt/share host directory"
volumes:
cvat_share:/home/django/share:ro

volumes:
cvat_share:
driver_opts:
type: none
device: /mnt/share
o: bind
```
You can change the share device path to your actual share. For user convenience we have defined the enviroment variable $CVAT_SHARE_URL. This variable contains a text (url for example) which will be being shown in the client-share browser.
5 changes: 5 additions & 0 deletions cvat/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

6 changes: 6 additions & 0 deletions cvat/apps/authentication/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

default_app_config = 'cvat.apps.authentication.apps.AuthenticationConfig'

6 changes: 6 additions & 0 deletions cvat/apps/authentication/admin.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.contrib import admin

# Register your models here.

5 changes: 5 additions & 0 deletions cvat/apps/authentication/apps.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.apps import AppConfig
from django.db.models.signals import post_migrate, post_save
from .settings.authentication import DJANGO_AUTH_TYPE
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/decorators.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.contrib.auth import REDIRECT_FIELD_NAME
from django.shortcuts import resolve_url, reverse
from django.http import JsonResponse
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/forms.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.contrib.auth.forms import (
UsernameField,
AuthenticationForm,
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/migrations/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

6 changes: 6 additions & 0 deletions cvat/apps/authentication/models.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.db import models

# Create your models here.

5 changes: 5 additions & 0 deletions cvat/apps/authentication/settings/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

5 changes: 5 additions & 0 deletions cvat/apps/authentication/settings/auth_ldap.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.conf import settings
import ldap
from django_auth_ldap.config import LDAPSearch, NestedActiveDirectoryGroupType
Expand Down
6 changes: 6 additions & 0 deletions cvat/apps/authentication/settings/auth_simple.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

# Specify groups that new users will have
AUTH_SIMPLE_DEFAULT_GROUPS = []

5 changes: 5 additions & 0 deletions cvat/apps/authentication/settings/authentication.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.conf import settings
import os

Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/signals.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.db import models

from django.conf import settings
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/templates/403.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<!--
Copyright (C) 2018 Intel Corporation
SPDX-License-Identifier: MIT
-->
{% extends "auth_base.html" %}

{% block title %}Forbidden{% endblock %}
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/templates/login.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<!--
Copyright (C) 2018 Intel Corporation
SPDX-License-Identifier: MIT
-->
{% extends "auth_base.html" %}

{% block title %}Login{% endblock %}
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/templates/login_ldap.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<!--
Copyright (C) 2018 Intel Corporation
SPDX-License-Identifier: MIT
-->
{% extends "auth_base.html" %}

{% block title %}Login{% endblock %}
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/templates/note.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
<!--
Copyright (C) 2018 Intel Corporation
SPDX-License-Identifier: MIT
-->
<p>
</p>
5 changes: 5 additions & 0 deletions cvat/apps/authentication/templates/register.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<!--
Copyright (C) 2018 Intel Corporation
SPDX-License-Identifier: MIT
-->
{% extends "auth_base.html" %}

{% block title %}Create user{% endblock %}
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/templates/user_profile.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<!--
Copyright (C) 2018 Intel Corporation
SPDX-License-Identifier: MIT
-->
<div class='userProfile'>
{% if user.is_authenticated %}
{% if user.ldap_user and 'thumbnailPhoto' in user.ldap_user.attrs %}
Expand Down
6 changes: 6 additions & 0 deletions cvat/apps/authentication/tests.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.test import TestCase

# Create your tests here.

5 changes: 5 additions & 0 deletions cvat/apps/authentication/urls.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.urls import path
import os

Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/authentication/views.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

from django.shortcuts import render
from django.contrib.auth.views import LoginView
from django.http import HttpResponseRedirect
Expand Down
5 changes: 5 additions & 0 deletions cvat/apps/dashboard/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: MIT

Loading

0 comments on commit a50b4cc

Please sign in to comment.