Comparar commits

..

629 Commits

Autor SHA1 Mensagem Data
= 40e9798e56 Bumped to version 1.7.0 2018-12-06 11:11:31 -08:00
Phil e206244fb6 Merge pull request #283 from PIC123/feature/import-export-tfrecord
Refactor Export TFRecord Logic
2018-12-05 17:00:19 -08:00
= 569a7cfd95 Address pr comments 2018-12-05 16:56:18 -08:00
= 85a45e9be2 Fix tfrecord import/export scaling 2018-12-05 14:17:07 -08:00
= b590101a3e Merge with master 2018-12-04 09:52:18 -08:00
Elizabeth Halper a4e187e18d Merge pull request #336 from elizabethhalper/bug/stop-propogation
Bug/stop propogation
2018-12-03 10:27:15 -08:00
Elizabeth Halper 7debab9db5 disable backspace with focused textbox 2018-12-03 10:13:44 -08:00
= 0bedec3571 Merge with master 2018-12-03 09:39:51 -08:00
Elizabeth Halper 3cd6755121 html input conditional 2018-12-03 09:10:08 -08:00
Elizabeth Halper 4747a9885c merge current master 2018-12-03 09:05:30 -08:00
= e4b10b5349 Fix merge with master 2018-12-03 00:08:34 -08:00
Phil 1b78605934 Merge pull request #333 from PIC123/patch/reorder-tags-fix
Fix reorder and copy bugs
2018-12-03 00:01:35 -08:00
= cbce7a4b03 Merge with master and fix copy bug 2018-12-02 21:31:19 -08:00
= 8604d63442 Merge branch 'master' of https://github.com/Microsoft/VoTT into patch/reorder-tags-fix 2018-12-02 21:29:15 -08:00
Phil 9e68d58812 Merge pull request #338 from kichinsky/dev
CT Update: "none" and "template" selection modes update and bug fixes
2018-12-02 21:27:11 -08:00
= 5caad8d5f0 Address pr comments 2018-12-02 21:04:49 -08:00
Konstantin Kichinsky 22e0045746 Added mouse wheel suppor to template selection mode 2018-12-03 01:13:55 +03:00
Konstantin Kichinsky 27542799b0 Fix to locking/unlocking regions. 2018-12-03 00:11:36 +03:00
Konstantin Kichinsky 528fa85685 Updated toolbar creation to reflect changes in CT, added none-selection mode. 2018-12-02 23:42:47 +03:00
Konstantin Kichinsky 29502b3f52 New icon for toolbar 2018-12-02 23:42:13 +03:00
Konstantin Kichinsky 2ca905ed82 CT Update:
* new none-selection mode (for regions manipulation only)
* separtors in toolbar, splitted actions into selectors and switches
* updated styles
* fixes for manipulation/selection overlapping
2018-12-02 23:41:48 +03:00
Konstantin Kichinsky 8475d0a1d1 Merge branch 'master' into bug/stop-propogation 2018-12-01 11:52:40 +03:00
Konstantin Kichinsky fc71d7005e Merge pull request #335 from kichinsky/dev
Prevent hotkeys overlapping with text inputs (VoTT + CT)
2018-12-01 11:17:39 +03:00
Elizabeth Halper 6d683bc9a8 fixed e2e tests 2018-11-30 17:28:41 -08:00
Elizabeth Halper 3f7b7962da button adds tag 2018-11-30 13:30:05 -08:00
Elizabeth Halper 116697a3a4 no hotkeys enabled when focused 2018-11-30 13:17:06 -08:00
Elizabeth Halper fb3a122436 isenabled conditional 2018-11-30 13:12:22 -08:00
Konstantin Kichinsky 3adce4fabd Prevent hotkeys overlapping with text inputs 2018-11-30 22:39:29 +03:00
Konstantin Kichinsky 44a838135a CT Update: refactored code, polyline + point selection modes, prevent hotkeys overlapping with text inputs 2018-11-30 22:38:31 +03:00
Konstantin Kichinsky ebc2aed768 Updated toolbar icons 2018-11-30 22:37:23 +03:00
Elizabeth Halper a45e2112ce region and toolbar hotkeys suppressed 2018-11-30 11:19:32 -08:00
Elizabeth Halper 76a6df0faa Merge branch 'master' into bug/stop-propogation
adding to include updated libraries
2018-11-30 10:12:00 -08:00
Elizabeth Halper 6ab9079810 test disableHotkeys 2018-11-30 08:50:59 -08:00
= a0f3e24349 Fix reorder bug 2018-11-29 17:21:22 -08:00
Elizabeth Halper a7b69c1b59 Merge pull request #330 from kichinsky/dev
Keyboard events management + bug fixes
2018-11-29 22:19:20 +01:00
Elizabeth Halper 0f6f8e113c remove comments 2018-11-28 13:59:38 -08:00
Konstantin Kichinsky 072790d870 Added option to disable hotkeys on toolbar
toolbar.disableHotkeys()
toolbar.enableHotkeys()
2018-11-29 00:58:37 +03:00
Konstantin Kichinsky ed06a74f1a Fix to the mask issue on resizing 2018-11-29 00:04:44 +03:00
Elizabeth Halper e1a7ded76b merge master 2018-11-28 12:47:56 -08:00
Konstantin Kichinsky 88ef64f4a4 Updated regions freezing to cancel all events; Moved selection locking to toolbar. Bug fixes 2018-11-28 23:41:58 +03:00
Konstantin Kichinsky 07ffb9f85c Merge pull request #4 from Microsoft/master
Sync kichinsky/dev with origin master
2018-11-28 22:54:00 +03:00
Elizabeth Halper 30d3236705 improve ui for add-tag textbox 2018-11-28 10:52:39 -08:00
Phil c2bb03eb20 Merge pull request #329 from PIC123/feature/reorder-tags
Add ability to reorder tags
2018-11-28 09:57:19 -08:00
= f913bd26e7 Fix ui bug 2018-11-27 17:00:40 -08:00
= c3f61eaa00 Fix merge and selection bug 2018-11-27 16:27:52 -08:00
Phil 7443691a29 Merge pull request #327 from PIC123/feature/more-nav-controls
Add shortcut to move frames
2018-11-27 16:07:27 -08:00
Phil 84b0cfdb34 Merge pull request #325 from PIC123/feature/tag-controls
Remove tags on the fly
2018-11-27 16:07:08 -08:00
= 8dae870773 Fix tag add bug 2018-11-27 16:04:50 -08:00
= 7cd9da0b90 Merge branch 'master' of https://github.com/Microsoft/VoTT into feature/tag-controls 2018-11-27 15:23:41 -08:00
= 0e999d665c Add help on deleting tags 2018-11-27 15:23:22 -08:00
= fdc90dd25c Address pr comments 2018-11-27 15:14:08 -08:00
= a0b1a01d4c Add ability to reorder tags 2018-11-27 15:01:32 -08:00
Elizabeth Halper 162362086c Merge pull request #328 from elizabethhalper/feature/click-region
Add border to selected tag
2018-11-27 23:45:16 +01:00
Elizabeth Halper 231b9bfc5e Merge pull request #324 from elizabethhalper/feature/add-tag-ad-hoc
added tag ad-hoc
2018-11-27 23:37:51 +01:00
Elizabeth Halper 898fa97d1a addressed comments 2018-11-27 14:32:09 -08:00
Elizabeth Halper 126f6c8bae add border to selected tag 2018-11-27 14:10:18 -08:00
= 9ea4f7502e Add shortcut to move frames using e/q 2018-11-27 13:08:01 -08:00
Phil 9080e8ad4a Merge pull request #323 from kichinsky/dev
Update to CanvasTools
2018-11-27 11:46:58 -08:00
= ac5f93da22 Change shortcut to refresh app in help 2018-11-27 10:36:15 -08:00
= ecff49ece6 Add info on deleting tags to help 2018-11-27 10:26:24 -08:00
= 66bdf236a8 Add remove functionality, fix color bug 2018-11-27 10:17:31 -08:00
Konstantin Kichinsky 81de28502d Update to CanvasTools
- Refactored AreaSelector
- Tooltips for regions
- Bug fixes
- Merged template and copy based selection modes
2018-11-27 11:06:29 +03:00
= 8030a33a50 Add feature to remove tags 2018-11-26 17:29:22 -08:00
Elizabeth Halper aa5f88500d added tag ad-hoc 2018-11-26 17:24:26 -08:00
= ce452a6fd6 Remove comments 2018-11-26 14:24:00 -08:00
= 67a0cf4520 Merge with master 2018-11-20 11:00:40 -08:00
Phil 66af16b718 Merge pull request #314 from Microsoft/revert-linting
Revert linting commit
2018-11-20 10:07:31 -08:00
Tanner Barlow 36ba839185 Revert previous commit 2018-11-20 09:55:51 -08:00
Tanner Barlow d57a02c7c9 Replace ESLint JSON config with Yaml, Add Autofix script (#313)
* replace json with yaml

* add lintfix script

* Run autofix and remove passing rules from ignore
2018-11-19 08:47:44 -08:00
= 75c33022ae Merge with master 2018-11-16 20:04:46 -08:00
Konstantin Kichinsky 654a51ea84 Merge pull request #295 from kichinsky/dev
Toolbar & template/copy-based selection modes. Update to exclusive selection mode. Various bug fixes and visual updates.
2018-11-17 02:19:19 +03:00
Konstantin Kichinsky 9aca260949 Fix to keys processing 2018-11-17 02:12:36 +03:00
Konstantin Kichinsky 52bde64875 Merge pull request #3 from kichinsky/master
Sync dev with new master
2018-11-15 22:31:54 +03:00
Konstantin Kichinsky 0ea755df16 Merge pull request #2 from kichinsky/dev
Merge dev into master
2018-11-15 22:23:46 +03:00
Konstantin Kichinsky 70d717ce82 Merge pull request #1 from Microsoft/master
Update from head fork
2018-11-15 22:20:48 +03:00
Tanner Barlow 56367012dd Build and deploy executables/installers via GitHub releases (#301)
* Build and deploy executables via GitHub releases

* bump version
2018-11-15 07:58:01 -08:00
Darío Hereñú cc7ec33b88 Duplicated word - Typo (#158)
on #145, plus minor fixes. Typo on #186
2018-11-15 07:57:08 -08:00
Konstantin Kichinsky e4f304b308 Adgjustment to background toggling + bug fixes
Update to new CanvasTools.js version
* Adjusted how toggling background works
* Fix to selection in locked mode
* Fix to menu positioning when region is near the bottom edge
2018-11-15 13:24:54 +03:00
= 2408e15b96 Fix issue caused by merge 2018-11-14 17:42:05 -08:00
= 0f6883deb3 Fix merge 2018-11-14 16:54:26 -08:00
= b85b03678c Fix export until and add shorter video json 2018-11-14 16:48:46 -08:00
= 28db72f787 Fix tfrecord output 2018-11-14 10:31:09 -08:00
Konstantin Kichinsky f61e455478 Update to tooltips on toolbar 2018-11-14 19:42:46 +03:00
Konstantin Kichinsky e7e8bd8c15 Fix to setting title mixing with other "title" elements. 2018-11-14 19:41:57 +03:00
= 5c04633666 Add export tests 2018-11-13 16:17:00 -08:00
Konstantin Kichinsky aa2d6ae244 Merge branch 'dev' of https://github.com/microsoft/VoTT into dev 2018-11-14 01:38:54 +03:00
Konstantin Kichinsky 169252ee51 Update to shortcuts help 2018-11-14 01:32:18 +03:00
Konstantin Kichinsky 7aca60d11b Updated library with bux fixes and locking mode for selector and freezin for regionsmanager 2018-11-14 01:21:23 +03:00
Phil 7240bf14ef Merge pull request #291 from Microsoft/dev
Merge dev commits into master
2018-11-13 14:18:03 -08:00
Tanner Barlow 53b5827950 Add v1.6.0 to package.json (#294) 2018-11-13 14:14:01 -08:00
Tanner Barlow 3e0b2f6847 Build distributables for OSX, Windows and Linux and deploy them via GitHub releases on tagged commits (#293) 2018-11-13 13:53:11 -08:00
Konstantin Kichinsky f9cd6afad9 Added icons to toolbar 2018-11-13 16:49:56 +03:00
Konstantin Kichinsky eaa7ad31a5 Remove old canvastools library 2018-11-13 16:36:27 +03:00
Konstantin Kichinsky 91cd38966c Update to regenerated library version 2018-11-13 16:36:12 +03:00
Konstantin Kichinsky d771d33b76 Updated styles to add toolbar, moved CanvasTools setup into a separate function 2018-11-13 16:28:13 +03:00
Konstantin Kichinsky a3de9252a5 Added new icons for toolbar 2018-11-13 16:26:57 +03:00
Konstantin Kichinsky 9d19f15381 Update to a new version of CanvasTools
-- Use one file ct.min.js with packaged CanvasTools, SnapSVG + css files.
-- New selection modes
-- Toolbar support
-- Removed dependency from System.js (use webpack loader).
2018-11-13 16:09:16 +03:00
Konstantin Kichinsky f7f6ba115e Merge branch 'dev' of https://github.com/microsoft/VoTT into dev 2018-11-13 15:56:05 +03:00
Phil Cherner 16a9a6b1c4 Merge branch 'feature/import-export-tfrecord' of https://github.com/PIC123/VoTT into feature/import-export-tfrecord 2018-11-12 12:05:41 -08:00
Phil Cherner 2e471182f8 Fix linting error 2018-11-12 12:04:44 -08:00
Wallace Breza 3bcbbf919b Merge branch 'dev' into feature/import-export-tfrecord 2018-11-12 11:55:18 -08:00
Tanner Barlow 14a528f7a2 UI Tests for VoTT workflow running in Travis CI (#284)
* Basic UI tests with image loading and video loading (#6)

* First basic pass at Spectron test

* fix package.json

* restrict travis build to linux os and allow spectron to build

* starting to add spectron helper

* before and after all

* First basic pass at Spectron test

* fix package.json

* restrict travis build to linux os and allow spectron to build

* Added jasmine to run spectron tests

* Updated npm test script

* first two tests

* Added test to upload path to dialog

* Added test to upload path to dialog (#5)

* mocking

* add sample data for testing

* use spectron helper and format json

* move sample data to spec directory

* Added test to continue to tagging screen

* absolute path working

* relative path working

* Added tests for moving next/previous

* restructure sample data and add video

* added sample video to tests - not all tests passing

* removing failing tests for now

* added more fps to video tagging

* comment out test

* Combine UI tests (#8)

* First basic pass at Spectron test

* fix package.json

* starting to add spectron helper

* before and after all

* First basic pass at Spectron test

* fix package.json

* Added jasmine to run spectron tests

* Updated npm test script

* first two tests

* Added test to upload path to dialog

* Added test to continue to tagging screen

* Added tests for moving next/previous

* Added tests to validate export window opens / closes

* Updated path to sample images

* Split up seperate tests for each main workflow

* Synced package-lock.json

* Standardized to single quotes

* New images project flow (#10)

* Added azure pipelines yaml

* Updated pipeline to run on windows

* Updated azure pipeline again

* Created new project flow with images, tags and saving

* Added new images and spec file

* Added a 'waitForValue' in video test

* Added image tagging and verification

* Updated test descriptions

* Added a waitForVisible to ensure element exists before next step

* Increased timeout for tagsLayer

* Wait for dragLayer before applying tag

* Removed expectations on SVG elements

* excluded the tests that are not running in travis

* Changed to use 'moveToObject' method

* Added pause between saving and opening file

* Added console log to help debug failing tests

* Removed console logging of JSON data

* Removed commented out code blocks

* remove azure pipelines (#11)

* Address PR feedback by removing dev code
2018-11-12 10:53:14 -08:00
Konstantin Kichinsky 5afb357557 Style fix for image/video container 2018-11-09 14:11:19 +03:00
Konstantin Kichinsky ad20a57d35 Update to visual styles
* Make image/video look like an artboard
* Shadow for playing toolbar to separate visually from background
2018-11-09 13:56:44 +03:00
Phil Cherner f2ed98f66f Fix exporting for image and video to tfrecords 2018-11-08 17:25:16 -08:00
Phil Cherner f7857b9bd4 Merge branch 'dev' of https://github.com/Microsoft/VoTT into feature/import-export-tfrecord 2018-11-08 10:11:32 -08:00
Phil Cherner faf2928101 Fix export until bug, still not fully working 2018-11-08 08:38:47 -08:00
Konstantin Kichinsky 0506a29f2e Merge pull request #280 from kichinsky/dev
Updated how CanvasTools is called from the code. Small fixes for detector.js on frameId.
2018-11-08 12:01:19 +03:00
Konstantin Kichinsky afb03722f3 Fix for the visitedFrames bug. 2018-11-08 12:00:00 +03:00
Konstantin Kichinsky 1106f973c8 Fixed frameId for images + small renaming for better readability 2018-11-07 23:29:29 +03:00
Konstantin Kichinsky 3696b4e46a Refactored calls to CanvasTools 2018-11-07 15:10:55 +03:00
Konstantin Kichinsky 84e2103f31 Merge pull request #277 from kichinsky/dev
Updated internal structure for canvastools.js
2018-11-07 15:00:20 +03:00
Konstantin Kichinsky b57875b3dc Updated internal structure for canvastools.js 2018-11-07 14:58:52 +03:00
Konstantin Kichinsky ce412df73d Merge pull request #274 from kichinsky/dev
1) Grayscale filter 2) Toggling region background
2018-11-07 00:02:00 +03:00
Konstantin Kichinsky 7a06e93c12 1) Grayscale filter support + fix for filter reset, 2) Toggling region box background - Ctrl+B 2018-11-06 23:58:34 +03:00
Tanner Barlow de1db2cc8b Basic CI/CD setup with Travis, fake test, linting and code coverage (#265)
* Add eslint config and travis,

* ignoring bad parsing error

* add fake test

* install mocha

* add comment for fake test

* added istanbul to unit tests
2018-11-06 11:19:07 -08:00
Wallace Breza d80eb709b5 Removed unused dependencies (#269)
* Removed angular JS, bootstrap tokenfield plugin, and unused underscore dependencies
2018-11-06 11:02:53 -08:00
Konstantin Kichinsky e6c8bdda55 Merge pull request #266 from kichinsky/dev
Moved filters support to canvastools.js
2018-11-06 14:43:12 +03:00
Konstantin Kichinsky afc72793e8 Moved filters support to canvastools.js 2018-11-06 14:20:19 +03:00
Phil Cherner c3436b7f9e Refactor tfrecord export logic to follow VOTT pattern 2018-11-05 17:06:45 -08:00
Phil Cherner 4e85a00511 Fix conflict from merge with dev 2018-11-02 14:57:27 -07:00
Phil 97362b0ce8 Merge pull request #264 from PIC123/patch-4
Fix JSON frame names
2018-11-01 15:08:29 -07:00
Phil Cherner 51bbc92b14 Fix JSON filenames for unix 2018-11-01 14:00:35 -07:00
Phil e4365f2abb Feature/import export TFRecord files (#261)
* Add import/export functionality for tfrecords (will refactor to reflect VOTT export pattern)
2018-10-30 15:07:36 -07:00
Phil Cherner 206ed51730 Fix stepfwd in video 2018-10-30 13:42:23 -07:00
Phil Cherner 03f9797c2a Address pr comments 2018-10-30 12:03:53 -07:00
Phil Cherner cb2ed6eb92 Add queue support for parallel export, add loader for opening tfrecords 2018-10-23 17:40:34 -07:00
Phil Cherner a47dc1f6e9 Add support for laoding tags from tf record, (still need default tag) 2018-10-22 13:42:29 -07:00
Phil Cherner 73f1e3515d Add loading animation for loading/exporting 2018-10-19 08:48:22 -07:00
Phil Cherner 82b356174d Clean up code 2018-10-17 11:18:57 -07:00
Phil Cherner c1ae2a8547 Add loading animation for export and add tf export option to export window 2018-10-17 10:17:36 -07:00
Phil Cherner 0483242569 Add tfrecord export for images 2018-10-16 16:22:19 -07:00
Phil Cherner bb7e8d793b Add export to tf for image/video 2018-10-11 16:31:38 -07:00
Phil Cherner 8d2d27fac1 Fix region scale issue 2018-10-11 16:31:38 -07:00
Phil Cherner 7ec0a034ee Add tfrecord read/write. Still need to fix region scaling 2018-10-11 16:31:37 -07:00
Konstantin Kichinsky b2f053cb78 Merge pull request #258 from PIC123/feature/back-compat
Fix bug when starting new tagging job
2018-10-11 16:25:37 -07:00
Konstantin Kichinsky 8868e5c286 Merge pull request #257 from kichinsky/dev
Fix for exporting into Custom Vision service + basic filter implementation
2018-10-11 16:25:26 -07:00
Phil Cherner 34710733ce Fix bug when starting new tagging job 2018-10-11 15:20:33 -07:00
Konstantin Kichinsky 407f78fc83 Basic invertion filter support + resetting filters applied 2018-10-11 14:50:25 -07:00
Tyler Gibson 972265e215 Merge pull request #256 from PIC123/feature/back-compat
Add back compat functoinality for loading JSON data
2018-10-11 11:56:05 -07:00
Phil Cherner 9c5ad8d6b2 Add back compat functoinality for loading JSON data 2018-10-11 10:27:00 -07:00
Konstantin Kichinsky 4890e18919 Fix exporting to custom vision
Issue: region boxes are not imported into custom vision service.

tag.h, tag.w are not defined -> used frame width/height instead.
2018-10-11 10:11:29 -07:00
Konstantin Kichinsky 0dd7ec7844 Revert "Fix exporting to custom vision"
This reverts commit 7d887e84dc.
2018-10-11 10:10:18 -07:00
Konstantin Kichinsky 7d887e84dc Fix exporting to custom vision
Issue: region boxes are not imported into custom vision service.

tag.h, tag.w are not defined -> used frame width/height instead.
2018-10-11 10:09:52 -07:00
Konstantin Kichinsky 2ec9346814 Add simple UI to turn on filters
Invert filter demo. Use menu to add global filters to images.
2018-10-09 19:03:37 -07:00
Phil Cherner 0a3b7d25e3 Fix region scale issue 2018-10-08 13:52:45 -07:00
Phil Cherner 4a88258301 Add tfrecord read/write. Still need to fix region scaling 2018-10-08 10:00:47 -07:00
Tyler Gibson 6aef1a531c Merge pull request #241 from PIC123/patch-3
Fix video export bug
2018-09-24 15:55:41 -07:00
Phil Cherner 4681d3bd5d Fix video export bug 2018-09-24 15:47:13 -07:00
Tyler Gibson e9d4ea6073 Merge pull request #240 from PIC123/feature/help-menu
Add help menu and update README with keyboard bindings
2018-09-24 14:26:09 -07:00
Tyler Gibson 68bfd492e7 Merge pull request #239 from PIC123/patch-2
Fix framenumber and seekbar bug in video
2018-09-24 14:25:28 -07:00
Phil Cherner 93f1a5906c Add help menu and update README with keyboard bindings 2018-09-21 15:39:32 -07:00
Phil Cherner f32f11930a Fix framenumber and seekbar bug in video 2018-09-21 14:17:04 -07:00
Tyler Gibson 3b4548c171 Merge pull request #237 from tylergibson/bugfix/reorder-on-add-new-region
Fixes conditional check for incorrect element ordering when adding new regions
2018-09-21 13:06:32 -07:00
Tyler Gibson 05c8182f28 Fixes conditional check for incorrect element ordering when adding new regions 2018-09-21 13:05:12 -07:00
Tyler Gibson 34037bab93 Merge pull request #236 from PIC123/patch-1
Fix frame number and seekbar bug from name change
2018-09-20 16:49:35 -07:00
Phil Cherner 8c45b9e634 Fix frame number and seekbar bug from name change 2018-09-20 16:42:53 -07:00
Tyler Gibson b47a8e4287 Merge pull request #235 from PIC123/feature/tagging-control-improvements
Feature/tagging control improvements
2018-09-20 15:49:09 -07:00
Tyler Gibson e1c6854bab Merge branch 'dev' into feature/tagging-control-improvements 2018-09-20 15:48:57 -07:00
Phil Cherner 9e235a8359 Address try/catch change 2018-09-20 15:38:43 -07:00
Tyler Gibson 6a20623681 Merge pull request #231 from tylergibson/feature/play-frame-input
Feature/play frame input
2018-09-20 15:37:26 -07:00
Tyler Gibson 39d3628438 Merge pull request #233 from tylergibson/feature/region-selection-improvements
Feature/region selection improvements
2018-09-20 15:37:04 -07:00
Tyler Gibson d43518f79e Fixing PR comments - removing debugging code 2018-09-20 15:35:39 -07:00
Tyler Gibson c05fb5e75e Fixing PR comments - removing commented code 2018-09-20 15:32:59 -07:00
Phil Cherner ecf24ac54b Address PR requested changes 2018-09-20 11:03:28 -07:00
Phil Cherner 72ead27ddd Fix frame delete bug 2018-09-19 16:50:50 -07:00
Phil Cherner 97b41365fc Fix multiselect editing 2018-09-19 16:16:29 -07:00
Phil Cherner 46e89d6777 Add spacebar play/pause toggle 2018-09-19 15:19:31 -07:00
Phil Cherner 2da30a6c62 Add select all 2018-09-17 13:34:04 -07:00
Tyler Gibson f5bb08b7a6 Fixes tag highlighting bug and reduces redraw redundancy. 2018-09-17 11:36:26 -07:00
Phil Cherner 8fafd6498b Add multiselect and cross-frame duplicates 2018-09-14 15:24:12 -07:00
Phil Cherner 61e7f5ffc3 Add copy paste feature and stores frames by img name 2018-09-14 09:46:48 -07:00
Tyler Gibson 345e3afc18 Initial commit - f
Fixes z-ordering for selection layer and all regions which now get ordered by area ascending.
Implements exclusive mode "add new region" allowing regions to be created over top of existing regions using CTRL+N keyboard shortcut.
Fixes selection handling when moving to next frame while mouseover on a region, now no longer disables selection layer
2018-09-13 22:18:17 -07:00
Tyler Gibson 2c64b3c224 Fixing keybinding propogation issues 2018-09-12 17:04:12 -07:00
Tyler Gibson 6264388f91 Merge pull request #170 from barisdemiray/patch-1
Remove copy/paste line from video tagging flow
2018-09-12 11:57:32 -07:00
Tyler Gibson 5078ca50c2 Adding video playback, seek, manual frame input. 2018-09-11 21:23:01 -07:00
oycbox 42678da4a8 Update video-tagging.html
add seekToFrame function, fix the seekbar's seek function for image tagging.
2018-08-29 13:19:49 -07:00
PythicCoder 2520b03315 Merge pull request #219 from Anthbs/patch-2
Fix KITTI export missing training images
2018-08-17 00:58:13 +03:00
Anthony 28779d4f7c Fix KITTI export missing training images
Fix for no training images due to posFrameIndex only being incremented after label generation but all images are saved before the labels are generated.
2018-08-13 12:45:10 +12:00
Ari Bornstein de0e686e9b update the pascal exporter
to support file extensions of more then 4 chars .jpeg
this needs to be refractored to properly extract filenames
2018-07-23 13:15:17 +03:00
PythicCoder 194e4f6a42 Merge pull request #215 from kichinsky/dev
Updated file structure for region storage
2018-07-22 00:34:13 +03:00
Konstantin Kichinsky 3af747039e Updated file structure for region storage
For compatibility coordinates are now stored in two formats:
x1-y2 + width, height -- old format, when width and height are current scaled image size and x1-y2 are relative to that size.

box {x1-y2} - new format for absolute region coorinates based on actual image size
2018-07-20 21:47:04 +03:00
Ari Bornstein 2b1cc558e0 Reverted breaking change 2018-07-18 17:23:13 +03:00
PythicCoder 8b1b5c7e38 Merge pull request #209 from kichinsky/dev
Keyboard shortcuts for tags (1-9) + performance optimization
2018-07-18 16:50:55 +03:00
PythicCoder aa3ecace06 Merge branch 'dev' into dev 2018-07-18 16:50:45 +03:00
Konstantin Kichinsky 034c40419b Fix for tags not displayed on creation from code 2018-07-15 16:43:19 +03:00
PythicCoder f1940335b3 Merge pull request #197 from hermanho/fix_saveWhenImgDirChanged
Fix to load tags correctly when the image files have been changed in the same directory.
2018-07-15 11:53:46 +03:00
Konstantin Kichinsky 19e9e187ac Fix for duplicating frame
+ Fix to default positioning of textbox background
2018-07-14 12:54:28 +03:00
Konstantin Kichinsky a09c39183f Keyboard shortcuts for tags (1-9) 2018-07-14 00:14:08 +03:00
Konstantin Kichinsky a37fd3c203 Changed state management for states control
-- keep internal state of selected tags
-- fire tags changed event instead of tags added or deleted
2018-07-13 23:14:16 +03:00
PythicCoder 558dab59d4 Merge pull request #207 from PsychoLogicAu/GS-22
Add export for KITTI format
2018-07-13 21:21:42 +03:00
Konstantin Kichinsky 25ca1bce3b Fix for Ctrl+a overlapping with "a" input 2018-07-12 12:52:04 +03:00
Konstantin Kichinsky e26bc6a4d2 Performance optimization for regions rendering 2018-07-12 12:05:11 +03:00
PythicCoder 00a62218a9 Merge pull request #206 from kichinsky/dev
Keyboard shortcuts for region move/resize
2018-07-11 17:24:02 +03:00
Konstantin Kichinsky 211bd371e3 Keyboard shortcuts for region move/resize
Keyboard shotcuts:
-- Move: ctrl + arrows
-- Resize Up: ctrl+shit + arrows
-- Resize Down: ctrl+alt + arrows
2018-07-11 17:11:14 +03:00
PythicCoder 9553254174 Merge pull request #205 from kichinsky/dev
Secondary tags support
2018-07-10 22:06:41 +03:00
Konstantin Kichinsky c5f07b4438 Changed visual for secondary tags from circles to squares 2018-07-10 21:04:21 +03:00
Konstantin Kichinsky a10a7e5274 Secondary tags visual support;
Added support for display of secondary tags (dots on top of region).
Fixes:
-- when new tags are added on load - generate new colors for added tags.
2018-07-10 20:40:54 +03:00
Konstantin Kichinsky 84fff57e10 Tags buttons update
Tags buttons: changed input to buttons + indexes
Moved building tags descriptor into a separate function
Regions & Selection - various fixes (color generation, frame animation, etc.)
2018-07-10 11:39:06 +03:00
Konstantin Kichinsky de1962ed4b Fix to adding tags when no region is selected 2018-07-10 02:18:06 +03:00
PythicCoder b17e0a42b8 Merge pull request #204 from kichinsky/dev
Responsive tags; Key shortcuts update; multi-selection support
2018-07-09 17:38:50 +03:00
Konstantin Kichinsky b7839fef0e Responsive tags; Key shortcuts update; multi-selection support
Privary tag display is now responsive to region box size.
Key shortcuts on region level are now in RegionsManager (tab, delete, backspace).
Key shortcuts merged for video and images (back/fwd, duplicate).
Multiple regions selection support (for deletion as of now).
2018-07-09 17:13:21 +03:00
PythicCoder f264b787a8 Merge pull request #203 from kichinsky/dev
Fixed region deletion from keyboard
2018-07-05 10:21:22 +03:00
Konstantin Kichinsky 6ce7806121 Added tab support (for images)
Use TAB key to switch between regions.
Fixed for deletion and selection
2018-07-05 01:32:44 +03:00
Konstantin Kichinsky bbc88a62c6 Fix for delete shortcut for images 2018-07-05 00:09:48 +03:00
Konstantin Kichinsky 0f5aa7e613 Fixed region deletion from keyboard 2018-07-05 00:04:36 +03:00
PythicCoder da6a3afbff Merge pull request #198 from hermanho/fix_tagColor
Fix the colors for the new tags when open from directory with saved file
2018-07-04 14:51:51 +03:00
PythicCoder 85472ca739 Merge pull request #202 from kichinsky/dev
Integrated SVG-based region manipulation instead of divs.
2018-07-04 14:45:15 +03:00
Konstantin Kichinsky 6682765af9 Update to selection state management
Reduce duplicate events.
2018-07-03 16:12:46 +03:00
Konstantin Kichinsky 1c832b0e33 Fixed issues on selection while moving/resizing 2018-07-03 14:59:53 +03:00
Konstantin Kichinsky a15ab4b811 Fix to menu positioning on resize and selection mode 2018-07-03 10:37:58 +03:00
Konstantin Kichinsky d2dadd91e5 Substituted div-based regions to SVG ones
Limitations & known issues:
-- only one tag pre region is supoprted (displayed)
-- some keyboard actions are disabled (tab), others are not tested yet
-- no region numbers are not displayed (main tag is show instead, but text might overflow region box)
2018-07-03 00:00:46 +03:00
Konstantin Kichinsky d57441c763 Cleared out old code 2018-06-27 17:33:24 +03:00
Konstantin Kichinsky 9b8202f902 Fixed issues with region manipulation 2018-06-27 14:03:06 +03:00
Konstantin Kichinsky be7349a746 Added regions tools based on SVG
Not fully integrated yet.
2018-06-26 10:43:00 +03:00
herman dddd6c1c22 Generate colors for the new tags 2018-06-17 01:56:07 +08:00
herman c5221c3f01 Add new property "framesByImagesName" in save file 2018-06-17 01:23:57 +08:00
Owen Knight 353d5d90c0 Add export for KITTI format 2018-06-12 16:15:48 +10:00
aribornstein df1160be82 Change Log
- Added export to custom vision service

- Added autosaving of tag colors

- Updated readme

Todo
- Clean export to custom vision service code
2018-05-16 22:11:05 +03:00
PythicCoder eca5ead0c6 Merge pull request #183 from kichinsky/dev
Update for the aspect ratio/scaling issue
2018-05-15 23:06:47 +03:00
Konstantin Kichinsky 83f28d6e34 Aspect ratio/scale fix update 2018-05-15 22:20:49 +03:00
Konstantin Kichinsky 5a4db3cb16 Fix for aspect ration/scaling issue.
Moved part of layout calculations from JS to CSS (grid based).
2018-05-15 21:58:58 +03:00
PythicCoder 73238d487b Merge pull request #182 from kichinsky/master
Fix to aspect ratio issues
2018-05-07 15:21:01 +03:00
Konstantin Kichinsky c929a0cba7 Fix to aspect ratio issues 2018-05-07 15:03:44 +03:00
PythicCoder 542af619d5 Merge pull request #181 from kichinsky/master
Changed areaselection.js to rewritten canvastools.js
2018-05-07 09:02:06 +03:00
Konstantin Kichinsky 1405ee86b6 Changed areaselection.js to rewritten canvastools.js
CanvasTools.js -- rewritten on TypeScript.
-- SelectionTool (select ares)
-- RegionTool (draw editable regions) -- not integrated yet

System.js
-- Added to load modules. Use produciton version for release

Bug fixes:
-- Fixed bug in css on fraveCanvas going out of video boundaries.
2018-05-07 02:22:13 +03:00
PythicCoder 88442951d3 Merge pull request #180 from Microsoft/url_review_api
Active Learning Bug Fix
2018-05-04 13:35:56 +03:00
aribornstein 5a5e4573a8 Active Learning Bug Fix
- Added better error handling for remote active learning removed infinite wait on error.
2018-05-04 13:27:24 +03:00
PythicCoder 0b6f0c9987 Merge pull request #179 from Microsoft/url_review_api
Fixed loader
2018-05-02 17:37:49 +03:00
aribornstein 45f7a717a5 Fixed loader 2018-05-02 17:36:31 +03:00
PythicCoder 10f3e9eb2b Merge pull request #176 from Microsoft/url_review_api
Url review api
2018-04-30 10:08:44 -07:00
aribornstein 0eb2c95c61 Change log
- Rebranded review model to active learning
-Added Prototype for remote active learning
2018-04-30 19:59:37 +03:00
PythicCoder 29f52c8af4 Merge pull request #174 from kichinsky/master
New area selection tool & Canvas overlay on top of video element
2018-04-30 09:34:52 -07:00
Konstantin Kichinsky f2d78167a6 Fixed bug with area selection and region selection overlapping
Changing z-indexes on the fly.
Area selection:
- onSelectionBegin, onSelectionEnd callbacks added
- Fixed bug with area selection when pointer leaves the box
2018-04-27 15:46:36 -07:00
Konstantin Kichinsky 003f8509c3 Added two-points area selection
Minor bug: no pointer capture yet.
2018-04-27 12:22:33 -07:00
Konstantin Kichinsky 7b14127151 Applyed border fix from original repositary 2018-04-27 10:28:43 -07:00
Konstantin Kichinsky ef1f865b11 Added enabled/disabled states for area selection tool
Fixed the bug when resizing region overlapped with area selection
2018-04-27 10:16:11 -07:00
aribornstein 2ea8351efa Added remote review
-Todo

- fix race conditions with promises
- improve preformance
2018-04-27 05:06:43 +03:00
Konstantin Kichinsky d00cef7bd9 Fixed region dragging to work again 2018-04-26 18:52:46 -07:00
Konstantin Kichinsky 86dc1de834 Added square area selection support (use SHIFT key) 2018-04-26 17:39:40 -07:00
Konstantin Kichinsky 5ab1fafb1a Added minimum threshols for area selection
Automatically scale areas less than 20x20px to 20x20px
2018-04-26 17:02:05 -07:00
Konstantin Kichinsky a074c85003 Moved area selection to a new SVG-based layer
Area selection is now done in SVG.
Added cross-lines when selecting.
Added layout reset for switching (image/video) cases.
2018-04-26 16:25:42 -07:00
Konstantin Kichinsky 48dbf562fe Added canvas layer to draw image/video
1. Added new canvas layer (overlay for video tag) to draw image/video.
2. Refactored resizing (there is still a resize bug when switching from video to image and vise verca - reset required).
3. From code option - apply filters to canvas.
2018-04-25 15:53:34 -07:00
aribornstein 6acc7ca0e2 Added truncated and difficult tags to pascal voc 2018-04-25 23:31:59 +03:00
aribornstein 29478651b8 Added Active Learning UI
- Renamed Review to Active learning
- Only implemented review interfaces are displayed on review
- Review from endpoint ui added

Todo
- Finish review from endpoint implementation
2018-04-25 23:17:04 +03:00
Konstantin Kichinsky e68f253193 Merge branch 'master' of https://github.com/Microsoft/VoTT 2018-04-25 10:06:11 -07:00
Konstantin Kichinsky 6b25f457ca Moved package-lock.json to gitignore 2018-04-25 09:50:18 -07:00
Konstantin Kichinsky da68c8f5cb Updated send module version 2018-04-25 09:46:22 -07:00
Konstantin Kichinsky ff93e17b20 Build locally 2018-04-25 09:38:06 -07:00
PythicCoder febeefec27 Merge pull request #169 from itye-msft/removing-bower
moved all bower_components libraries into public/js folder and refactored all files to use the correct new path
2018-04-25 07:36:44 -07:00
Baris Demiray 5934172b37 Remove copy/paste line from video tagging flow 2018-04-25 16:07:49 +02:00
MIDDLEEAST\ityer 5ed958cb41 moved all bower_components libraries into public/js folder and refactored all files to use the correct new path 2018-04-25 14:11:08 +03:00
aribornstein c48837b43c Fixed crash on image directory load 2018-03-05 16:28:02 +02:00
aribornstein 2e2df226c2 Merge branch 'master' of https://github.com/Microsoft/VoTT 2018-03-05 16:00:06 +02:00
aribornstein d58e2aa1da added tab support 2018-03-05 15:46:40 +02:00
PythicCoder c54d06152d Merge pull request #157 from Microsoft/color_tags
Changelog
2018-02-04 13:48:52 +02:00
aribornstein a973ea3afa Changelog
- Added ability to tranfer tags from last image by hitting the d key
- Added colors for different classes
- Fixed faster rcnn to show more than one tag and to properly scale suggestions
2018-01-31 09:46:07 +02:00
aribornstein fcd3b28863 - Added color coding to tags
- Fixed FASTER-RCNN
- Stabalized duplcate feature
2018-01-29 12:01:17 +02:00
aribornstein f67dce4097 Added support for copying tags from last image by pressing d for duplicate 2018-01-28 14:21:11 +02:00
PythicCoder 22e29a12aa Updated readme to support Faster RCNN 2017-12-13 15:44:28 +02:00
aribornstein 2cac13216b Deprecated support for cntk fast rcnn added support for faster rcnn 2017-12-13 15:37:24 +02:00
PythicCoder 8fcf1bc1db Merge pull request #145 from valohai/yolo-no-newlines
YOLO: Ensure files don't start with newlines
2017-09-29 10:10:35 +01:00
Aarni Koskela 320f1bcb88 YOLO: Ensure files don't start with newlines 2017-09-20 16:21:51 +03:00
PythicCoder da7078eb3e Update README.md 2017-08-10 14:00:02 +03:00
PythicCoder 7902110697 Merge pull request #142 from CatalystCode/tf_pascalVOCSupport
Added pascal voc support for tensorflow
2017-08-10 13:53:47 +03:00
aribornstein 401a61e5c6 fixed spacing 2017-08-10 13:53:10 +03:00
aribornstein be33efcfae Tensorflow Support 2017-08-10 13:51:11 +03:00
Ari Bornstein 2154bb9b77 Added support for pascal voc (untested) 2017-08-09 13:12:04 +03:00
aribornstein 99f6c52e68 fixed spacing issue 2017-07-13 17:23:17 +03:00
aribornstein 21d0d5bbbc fixed anacondaPath bug 2017-07-13 17:22:25 +03:00
aribornstein 7331c584e2 added custom anaconda path support to cntk review 2017-07-13 16:44:35 +03:00
PythicCoder 690240ba74 Merge pull request #135 from CatalystCode/bug_fixes
Bug Fixes
2017-07-05 13:35:25 +03:00
aribornstein e20379e073 Bug Fixes
- Added support for evaluating python and brainscript fastrcnn models

- Fixed bug with image path display

- Enabled copy and paste on OSX

- Enabled go to last untagged frame

- Fixed export complete notification bug

- Added Ogg video support
2017-07-05 13:32:27 +03:00
PythicCoder 2f67b6cd16 Update README.md 2017-06-26 10:58:04 +03:00
Ari Bornstein 98a9708b3b Added file pickers to export flow to minimize typing 2017-06-26 09:37:51 +03:00
Ari Bornstein c4c1bd906d Merge branch 'master' of https://github.com/CatalystCode/VOTT 2017-06-26 09:19:00 +03:00
PythicCoder 45b01b7f7a Merge pull request #126 from CatalystCode/yolo_image_fix
Bug fixes

- Updated detection export interface to support custom size image export
- Added support for image extraction for yolo
- Added file selector to model review prompt
2017-06-25 13:10:59 +03:00
aribornstein 269a9098e5 Bug fixes
- Updated detection export interface to support custom size image export
- Added support for image extraction for yolo
- Added file selector to model review prompt
2017-06-25 13:08:00 +03:00
Ari Bornstein cc832c6207 Merge branch 'master' of https://github.com/CatalystCode/VOTT 2017-06-13 15:45:39 +03:00
PythicCoder 5050e00d66 Documentation for Label Names on Review Model 2017-06-13 10:58:26 +03:00
Ari Bornstein 93c3d098ad fixed image indexing and merge state 2017-06-07 13:37:09 +03:00
aribornstein 93d7cfa09f bad merge fixes part 1 2017-06-07 13:24:12 +03:00
PythicCoder 8a5263a2ea Added image directory tagging support
Poster support
2017-06-07 11:52:57 +03:00
PythicCoder 733e57850a Merge branch 'master' into posterSupport 2017-06-07 11:51:10 +03:00
PythicCoder b9ef38cc0f Merge branch 'master' into posterSupport 2017-06-07 11:48:55 +03:00
aribornstein 53ee46ae02 Merge branch 'aribornstein-posterSupport' 2017-06-07 11:34:42 +03:00
aribornstein 5e750fb94c fixed versioning 2017-06-07 11:34:17 +03:00
aribornstein 8e9ceeeaef haha 2017-06-07 10:28:24 +03:00
aribornstein 6990d6083c added image tagging anchor 2017-06-07 10:26:06 +03:00
aribornstein 6647390f1f updated doc 2017-06-07 10:21:57 +03:00
aribornstein 79683b5c34 updated image assests 2017-06-07 10:17:16 +03:00
aribornstein cea3aeb98b updated doc 2017-06-07 10:10:56 +03:00
aribornstein a4a2aed438 updated documentation 2017-06-07 10:08:00 +03:00
aribornstein abf5d416b1 sanatize white spaces from input tags 2017-06-05 11:22:25 +03:00
aribornstein d00dfb1db4 Added support for
- Viewing image filename
- Running model on image directory
2017-06-05 10:53:14 +03:00
aribornstein f85971c309 fixed model evaluation 2017-06-01 17:31:40 +03:00
aribornstein 48b0ef6286 added image index indicator for image tagging 2017-05-28 12:42:45 +03:00
aribornstein a6c3f9508e fixed scale by landscape bug 2017-05-25 13:23:57 +03:00
aribornstein b0588f8434 Added new loading page 2017-05-24 17:09:47 +03:00
aribornstein 0403d4d3c9 Added safeguard to tell if images were in directory 2017-05-24 13:39:52 +03:00
aribornstein 89d84a9b18 Added save support for image tagging 2017-05-24 13:13:05 +03:00
aribornstein 1da7c4dd45 Added image directory tagging support for vertical scale images
Todo
- Implement auto/save option for image directory tagging
- Notifiy if empty directory is tagged
- Add support for width scaling images
- Add rotation support
2017-05-24 09:48:24 +03:00
PythicCoder 4484c4f4f6 Merge pull request #118 from CatalystCode/exportFix
Added Features
2017-05-07 08:42:04 +03:00
aribornstein 028b075055 Added Features
- Updated cntk-rcnn-extension
- Added the ability to toggle scene change detection
- Add the ability to enable region copy
2017-05-03 09:47:23 +03:00
PythicCoder 75317e3616 Merge pull request #117 from CatalystCode/exportFix
Detection Model Bug Fixes
2017-04-26 18:09:54 +03:00
aribornstein 279cae7373 Detection Model Bug Fixes 2017-04-26 18:01:23 +03:00
PythicCoder 6cc3a39aa3 Merge pull request #114 from CatalystCode/exportFix
Fixed bug where export to cntk freezes if first frame has no tags
2017-04-25 12:44:12 +03:00
aribornstein 38fd98030d Fixed bug where export to cntk freezes if first frame has no tags 2017-04-25 12:43:15 +03:00
PythicCoder ae8b7bee61 Merge pull request #111 from CatalystCode/exportFix
Fixed test set generation code
2017-04-24 17:28:26 +03:00
aribornstein d2288e11de fixed export bug 2017-04-23 11:53:27 +03:00
aribornstein 74fbd2098d Fixed test set generation code 2017-04-23 11:34:18 +03:00
aribornstein 774c337ddd Added image support
Todo
- Fix Export scaling
- Test for bugs
2017-04-23 09:48:23 +03:00
PythicCoder ebf28feb92 Update README.md 2017-04-11 16:40:58 +03:00
aribornstein 5dca937c49 fixed aspect ratio to do
Fix scaling
2017-04-09 12:11:09 +03:00
PythicCoder f36f744c69 Merge pull request #105 from CatalystCode/yolo_ui
Object Detection Modular Support
- Organized Code
- Added modular support for additional object detection algorithms including YOLO
- Added some UI improvements for the home page and tagging job configuration plage
2017-04-05 11:53:04 +03:00
aribornstein 1e1ec33804 Made suggested changes
- Added display name to detection algorithm extensions

- Deprecated config file so that all detection algorithm extensions are self contained

- Optimized fisherYates shuffle

- Small ui tweaks with font
2017-04-05 11:31:38 +03:00
aribornstein 3dd2a1ad5a Made suggested changes
-Abstracted reviewer and exporter from DetectionAlgorithmManager

- Added hover on load video
2017-04-04 16:32:16 +03:00
aribornstein 0c1ff392fd fixed yolo 2017-04-03 17:57:59 +03:00
aribornstein 16a66809cd fixed yolo bug 2017-04-03 17:54:57 +03:00
Nadav Bar d7a695cb33 Addressed issue #106 2017-04-03 17:34:21 +03:00
aribornstein 804642234d Made most suggested changes
- Changed testset generator to use fisherYates

- made suggested optimizations

- todo
  Unbundle the exporter and reviewer from the manager class
2017-04-03 16:13:50 +03:00
aribornstein bfc6e662ca Output dir now defaults to same dir as assets 2017-04-03 11:08:50 +03:00
aribornstein 66a3b58b9b renamed cntk to cntkfastrcnn 2017-04-03 10:46:12 +03:00
aribornstein 2c8cdba0f8 replaced all writesync with write 2017-04-03 10:39:11 +03:00
aribornstein 651ce5b672 Made suggested changes
- Removed switch statement in framehandler in detection.js

- Made all cntk notifications generic

- Replaced manual path strings with path.join

- created canvasToJpg function

- added detectionAlgorithmsManager

- added detection.utils

- changed posFrameCount -> taggedFramesCount

- updated references from cntk to CNTK Fast-RCNN

- incorporated async each into the waterfalls
2017-04-02 19:06:09 +03:00
Ari Bornstein fa214ef5a4 removed hardcoded path 2017-03-29 16:51:09 +03:00
Ari Bornstein 75b809d7d1 Detection Bug Fixes
- fixed ipcMain bug that was causing multiple firings

- fixed a reference to self instead of this in videotagging control

- removed rimraf dependency

- added call back to review save frame

- fixed review mode
2017-03-29 16:49:14 +03:00
aribornstein 43bd60844c Export Bug Fixes
- Fixed exporting only of visited frames
- Removed depenency on rimraf
- Added support for exporting multiple videos to same format output directory
2017-03-29 13:25:00 +03:00
aribornstein ab75ff6ea5 Integrated DetectionManager
Todo

- Test and finish review integration
- UI Tweaks
2017-03-29 00:21:38 +03:00
aribornstein 68abe58277 Updates
- Implemented Object Detection Manager
- Deprecated local bootstrap.js

Todo
- Create videotagging-detection-extension module

- Integrate both YOLO and CNTK into the UI
2017-03-28 20:44:46 +03:00
PythicCoder b2d711ece5 Merge pull request #104 from CatalystCode/yolo
Yolo UI merge
2017-03-28 09:20:21 +03:00
PythicCoder 4a58f7c45f Merge branch 'yolo_ui' into yolo 2017-03-27 10:59:33 +03:00
PythicCoder 20160eba9c Merge pull request #102 from CatalystCode/uiupdates
UI updates

- Changed name to VOTT (Visual Object Tagging Tool)
- Optimized Configuration and Dialogs for Export and review
- Fixed export to cntk bug that was causing labels to be swapped with bounding boxes
2017-03-26 10:22:21 +03:00
PythicCoder b73dab7310 Update README.md 2017-03-26 10:19:44 +03:00
PythicCoder 8520f6a559 Update README.md 2017-03-26 10:18:54 +03:00
PythicCoder 9e83f9f516 Update README.md 2017-03-26 10:17:26 +03:00
PythicCoder 2b344cec0b Update README.md 2017-03-26 10:15:46 +03:00
aribornstein fba576c8bd Update Readme 2017-03-26 10:13:57 +03:00
PythicCoder 30f22bc939 Update README.md 2017-03-26 10:11:20 +03:00
aribornstein 09e5c4c233 update image asset 2017-03-26 10:09:54 +03:00
aribornstein d12ca0937d Merge branch 'uiupdates' of https://github.com/CatalystCode/CNTK-Video-Tagging-Tool into uiupdates 2017-03-26 10:08:01 +03:00
aribornstein 7b3e7c37f4 updated image asset 2017-03-26 10:07:33 +03:00
PythicCoder 91d188efd8 Update README.md 2017-03-26 10:06:38 +03:00
aribornstein 8e8e4c3c96 updated image assets 2017-03-26 10:06:09 +03:00
aribornstein f0c385dd8b updated readme 2017-03-26 09:58:43 +03:00
aribornstein 5fc8aaace4 Updated readme 2017-03-26 09:58:20 +03:00
PythicCoder 734abf3104 Update README.md 2017-03-26 09:34:24 +03:00
aribornstein 170470bca1 updated assets to vott 2017-03-26 09:33:21 +03:00
aribornstein 5ff0c94ba1 Renamed to visual object tagging tool 2017-03-26 09:28:58 +03:00
aribornstein 0fd5c2bb54 Added padding 2017-03-26 09:26:21 +03:00
Nadav Bar 4b2d5271d3 Merge pull request #101 from CatalystCode/yolo_int
Version with YOLO exports instead of CNTK
2017-03-26 08:58:29 +03:00
aribornstein 68da794580 fixed bug with switch 2017-03-24 00:20:09 +02:00
Nadav Bar d08a3d5560 Version with YOLO exports instead of CNTK 2017-03-23 20:59:19 +02:00
aribornstein cffc6468ed Fixed bugs stemming from shared popup window 2017-03-23 15:01:16 +02:00
aribornstein d9958b8298 Added Pop Up Configuration Support
Added Pop Up Configuration Support for:

- Review Model
- Export to cntk

Todo:
- Known bug alert doesn't disapear if model is not in correct location

- UI Design review need feedback on best practices for form
2017-03-23 14:19:50 +02:00
Nadav Bar a5b8418f17 Merge pull request #99 from CatalystCode/yolo_integration
Added package files
2017-03-23 11:20:50 +02:00
Nadav Bar e96b3cd4c0 Added package files 2017-03-23 11:20:07 +02:00
Nadav Bar 6b54aff06b Added working YOLO exporter and test 2017-03-23 11:01:45 +02:00
Nadav Bar 22bb7dfc66 Updated interface 2017-03-23 09:52:21 +02:00
Nadav Bar e80a3e9955 Updated interface and added partial implementation of YOLO 2017-03-23 09:21:08 +02:00
Nadav Bar 0ea7ca09f9 added documantation for review method 2017-03-22 16:15:26 +02:00
Nadav Bar 7137281d48 Removed cb param from init method 2017-03-22 15:33:48 +02:00
Nadav Bar a3a36dc2e6 arranged folder structure 2017-03-22 15:29:29 +02:00
Nadav Bar c41fa2f7df Added interface and moved to new directory 2017-03-22 15:27:20 +02:00
Nadav Bar 3ae90c647d Added skeleton for detector abstraction 2017-03-22 15:23:33 +02:00
aribornstein 3cc869524a Updated Config UI
- Updated review menu names
- Only prompt for export data on export
- Only prompt for review model on data
2017-03-21 16:40:43 +02:00
PythicCoder f4788bb7df Merge pull request #96 from sozercan/patch-1
Update README.md
2017-03-20 00:48:22 +02:00
Sertaç Özercan 1cd69df438 Update README.md 2017-03-19 11:24:04 -07:00
PythicCoder b98c2ababf Update README.md 2017-03-18 02:29:10 +02:00
PythicCoder a40939f7cd Merge pull request #95 from sozercan/master
📝 update readme
2017-03-18 02:17:02 +02:00
PythicCoder 59f42bb220 Merge branch 'master' into master 2017-03-18 02:16:54 +02:00
PythicCoder 8da13147fe Update README.md 2017-03-18 02:06:26 +02:00
aribornstein 097387ae0a updated image assets for npm 2017-03-18 02:05:34 +02:00
Sertaç Özercan b8ba83b330 📝 update readme 2017-03-17 17:02:22 -07:00
aribornstein cec934847e Fixed npm module 2017-03-18 01:58:59 +02:00
PythicCoder e0492c8cd2 Update README.md 2017-03-18 01:23:54 +02:00
aribornstein e4e472f28b added support for npm 2017-03-18 01:15:06 +02:00
aribornstein 925da69e02 updated package.json 2017-03-18 01:03:07 +02:00
PythicCoder 0cba9df9f3 Update README.md 2017-03-16 12:42:03 +02:00
aribornstein e2f12dc7f9 Fixed bug in cntk-config 2017-03-16 12:36:55 +02:00
aribornstein 6bb24f0f8a Updated to latest cntk-fastrcnn package 2017-03-16 12:31:29 +02:00
Nadav Bar a23a3ac322 Added dots at line ends 2017-03-16 09:23:25 +02:00
Nadav Bar 3399163387 Moved the CNTK path instructions to the CNTK part. 2017-03-16 09:22:33 +02:00
PythicCoder e8044496b7 Update README.md 2017-03-16 00:23:24 +02:00
aribornstein 7cb91aa2b2 Added tech editor changes to repo 2017-03-15 23:44:55 +02:00
PythicCoder ebafba7c10 Merge pull request #90 from CatalystCode/documentation
Updated Documentation
2017-03-15 19:48:54 +02:00
PythicCoder a3b2ad302e Update README.md 2017-03-15 18:17:29 +02:00
PythicCoder 9f7da7071f Update README.md 2017-03-15 18:16:26 +02:00
PythicCoder 2e8aff7e74 Update README.md 2017-03-15 18:11:48 +02:00
PythicCoder 0d38710ba7 Update README.md 2017-03-15 18:10:07 +02:00
PythicCoder 5ad5420ca9 Update README.md 2017-03-15 16:12:02 +02:00
PythicCoder ddf8ecb6a0 Update README.md 2017-03-15 16:09:52 +02:00
PythicCoder 66f4a5d95e Update README.md 2017-03-15 16:08:40 +02:00
PythicCoder d3e0c8db83 Update README.md 2017-03-15 16:08:17 +02:00
PythicCoder 2acc93107b Update README.md 2017-03-15 16:05:39 +02:00
PythicCoder a659f06d24 Update README.md 2017-03-15 16:04:26 +02:00
aribornstein 1687e29742 Removed point 2017-03-15 15:59:52 +02:00
PythicCoder be416f7e0e Update README.md 2017-03-15 15:53:37 +02:00
PythicCoder 6a15844bcb Update README.md 2017-03-15 15:52:03 +02:00
aribornstein c458f598a3 Merge branch 'documentation' of https://github.com/CatalystCode/CNTK-Object-Recognizer-Video-Tagging-Tool into documentation 2017-03-15 15:49:38 +02:00
aribornstein 9cf2344d80 added endtoend graphic 2017-03-15 15:49:32 +02:00
PythicCoder d6b828284d Update README.md 2017-03-15 15:41:08 +02:00
PythicCoder d777697a94 Update README.md 2017-03-15 15:38:32 +02:00
aribornstein 4cf1ba6375 updated readme 2017-03-15 15:36:07 +02:00
PythicCoder a9e8c862a8 Update README.md 2017-03-15 15:32:41 +02:00
PythicCoder f63da01efa Update README.md 2017-03-15 15:26:04 +02:00
PythicCoder 5a56478d92 Update README.md 2017-03-15 15:21:37 +02:00
aribornstein f46749ef73 added icons for tagging 2017-03-15 15:18:29 +02:00
PythicCoder 59ce75a465 Update README.md 2017-03-15 14:53:23 +02:00
aribornstein c8bb6b93de removed svgs 2017-03-15 13:46:02 +02:00
aribornstein 71e55f8887 added svgs and tinyjpg images 2017-03-15 13:43:03 +02:00
PythicCoder 655f3a892c Update README.md 2017-03-15 13:35:53 +02:00
PythicCoder 1ca29b647a Update README.md 2017-03-15 13:34:51 +02:00
PythicCoder 9fad962f56 Update README.md 2017-03-15 12:01:15 +02:00
PythicCoder 82e0e4e5bb Merge pull request #93 from CatalystCode/testimagesupport
#92 Added support for auto generation of test images
2017-03-15 11:55:28 +02:00
aribornstein fc6f575c3e added support for test images
defaults to 20 percent of tagged images
2017-03-15 11:53:42 +02:00
aribornstein 220ea736c3 added support for testImages 2017-03-15 11:48:59 +02:00
PythicCoder b5dd99c10d Update README.md 2017-03-15 11:10:45 +02:00
PythicCoder a0aae576dc Update README.md 2017-03-15 11:10:21 +02:00
PythicCoder 43acad0776 Update README.md 2017-03-15 11:09:48 +02:00
PythicCoder 896c70daa0 Update README.md 2017-03-15 11:09:22 +02:00
PythicCoder 5622bd855f Update README.md 2017-03-15 11:05:37 +02:00
PythicCoder 2c31b9d096 finished requested changes 2017-03-15 11:00:43 +02:00
aribornstein 0bbccc0800 update load asset 2017-03-15 10:59:01 +02:00
PythicCoder 44e4871ad4 Delete 2_load.jpg 2017-03-15 10:58:18 +02:00
PythicCoder 4f3371486c Update README.md 2017-03-15 10:53:48 +02:00
PythicCoder 9cddc7e813 Update README.md 2017-03-15 10:51:20 +02:00
aribornstein c0e2ee9cbe updated tagging job assets 2017-03-15 10:46:54 +02:00
PythicCoder 2addd9817c Delete 4_Tagging_Job.jpg 2017-03-15 10:42:05 +02:00
PythicCoder 7f8a7a8358 Delete 5_Export.jpg 2017-03-15 10:41:36 +02:00
aribornstein ae53f31cf8 updated tagging job 2017-03-15 10:39:50 +02:00
PythicCoder 3aaf662195 Delete 4_Tagging_Job.jpg 2017-03-15 10:36:24 +02:00
PythicCoder 1f960dbb7b Update README.md 2017-03-15 10:31:21 +02:00
PythicCoder 1424bc5d8a Update README.md 2017-03-15 10:23:06 +02:00
aribornstein e5cb1b7165 force image update 2017-03-15 10:18:11 +02:00
PythicCoder 6a14ae75ce Delete 3_Job_Configuration.jpg 2017-03-15 10:16:20 +02:00
PythicCoder 8e04e9617a Update README.md 2017-03-15 10:15:31 +02:00
PythicCoder 84bf791b30 Update README.md 2017-03-15 10:12:20 +02:00
aribornstein 8cb12e8e8a updated job configuration image 2017-03-15 10:08:37 +02:00
PythicCoder 58b1329c80 Made Suggested Edits 2017-03-15 10:03:28 +02:00
PythicCoder 3859074b84 Update README.md 2017-03-14 15:06:32 +02:00
PythicCoder 8f7e814869 Update README.md 2017-03-14 14:07:21 +02:00
PythicCoder 8980fc6729 Update README.md 2017-03-14 13:43:26 +02:00
PythicCoder 9245d6c274 Update README.md 2017-03-14 13:42:32 +02:00
PythicCoder 15e45f806d Update README.md 2017-03-14 12:07:38 +02:00
aribornstein 09c4804991 fixed job configuration asset 2017-03-14 11:45:56 +02:00
PythicCoder 17521635ba Update README.md 2017-03-14 11:44:16 +02:00
PythicCoder 2794ecb718 Update README.md 2017-03-14 11:28:26 +02:00
PythicCoder 7a57341fa4 Update README.md 2017-03-14 11:25:11 +02:00
aribornstein 5332a160a4 updated assets 2017-03-14 11:19:50 +02:00
PythicCoder f9502b5615 Update README.md 2017-03-14 10:57:55 +02:00
aribornstein d77831d212 updated documention draft 1 2017-03-14 10:31:56 +02:00
PythicCoder 3c93fee22c Merge pull request #89 from CatalystCode/clean_src
Cntk integration patches
2017-03-13 13:33:47 +02:00
aribornstein a2bd29bf41 Cntk integration patches 2017-03-13 13:32:35 +02:00
PythicCoder 91fa61c56d Merge pull request #88 from CatalystCode/clean_src
added cntkpath configuration
2017-03-13 09:59:32 +02:00
aribornstein f13027dfa9 added cntkpath configuration 2017-03-13 09:58:48 +02:00
PythicCoder 60eadb75b1 Merge pull request #86 from CatalystCode/clean_src
Cleaned root src directory and abstracted the export to cntk/ and tracking functionalities
2017-03-12 18:58:27 +02:00
aribornstein 7a71702dc9 fixed cntk review bug 2017-03-12 17:24:24 +02:00
aribornstein b639048bef Keyboard shortcut fix
fixed bug where keyboard shortcuts were getting the way of the configuration screen
2017-03-12 17:21:09 +02:00
aribornstein a9a6170adb cntk review bugfix 2017-03-12 17:07:58 +02:00
aribornstein 8e6344b2c0 Moved icon to images directory 2017-03-12 15:02:21 +02:00
aribornstein 3cc8791e7b Abstracted videotagging tracking code 2017-03-12 14:53:06 +02:00
aribornstein daa5b1d7e9 abstracted export to cntk 2017-03-12 13:34:52 +02:00
PythicCoder 0d794aeeb8 Update README.md 2017-03-11 17:12:28 +02:00
PythicCoder 81d81d380f Update README.md 2017-03-11 17:11:26 +02:00
PythicCoder efff6928d5 Update README.md 2017-03-11 14:51:09 +02:00
PythicCoder 075291c3f3 Merge pull request #85 from CatalystCode/clean_src
Cleaned Root Directory 
Cleaned root directory, moved src to new src folder and removed duplicate sample video
2017-03-11 14:47:37 +02:00
aribornstein 848d1343ad Removed duplicate sample video 2017-03-11 14:44:04 +02:00
aribornstein 27bef9a38f cleaned src directory 2017-03-11 14:38:48 +02:00
aribornstein c80b012e0a clean directory 2017-03-11 14:10:20 +02:00
PythicCoder 9138ee7a31 Update README.md 2017-03-11 14:03:42 +02:00
PythicCoder 89dd574443 Update README.md 2017-03-11 13:44:46 +02:00
PythicCoder 126fa9bace Update README.md 2017-03-11 13:42:31 +02:00
PythicCoder 616a5d50c7 Update README.md 2017-03-11 13:34:44 +02:00
PythicCoder c8a33c4e72 Update README.md 2017-03-11 13:33:44 +02:00
PythicCoder 877dc19787 Merge pull request #84 from CatalystCode/ensureUserEnterTags
Ensure user enter tags
2017-03-09 13:06:06 +02:00
aribornstein d560d8ad12 Added label validation 2017-03-09 13:05:00 +02:00
aribornstein 6f8ea2910e Merge branch 'ensureUserEnterTags' of https://github.com/CatalystCode/offline-video-tagger into ensureUserEnterTags 2017-03-09 12:40:26 +02:00
aribornstein 70f7ec29b9 fixed duplication bug
fixed duplicate after step handling on opening of samefild
2017-03-09 12:37:11 +02:00
PythicCoder 702f99c0ff Merge pull request #83 from CatalystCode/fixIndexing
Fixed on delete indexing
2017-03-09 11:59:43 +02:00
aribornstein 861737d5de Fixed on delete indexing
Fully deprecated blacklist
2017-03-09 11:59:33 +02:00
PythicCoder b7cc171844 Merge pull request #82 from CatalystCode/Job-Configuration-Export-Paths
#70 Added Export-Paths  to Job Configuration
2017-03-08 13:05:22 +02:00
aribornstein bb654391c3 Added Export-Paths to Job Configuration 2017-03-08 13:04:30 +02:00
PythicCoder e3f6c28634 Merge pull request #81 from CatalystCode/revert-63-videoHover
Revert "  tooltip on seekbar hover"
2017-03-07 17:49:31 +02:00
PythicCoder dfd13adc3d Revert " tooltip on seekbar hover" 2017-03-07 17:49:18 +02:00
PythicCoder 59d807c597 Merge pull request #63 from sozercan/videoHover
  tooltip on seekbar hover
2017-03-07 17:46:42 +02:00
PythicCoder 8b67da38b2 Merge pull request #80 from CatalystCode/autoSaveSupport
Auto save support
2017-03-07 17:10:04 +02:00
aribornstein f576673e04 Added auto save 2017-03-07 17:07:28 +02:00
aribornstein f37b86ecb7 Updated Export to last visited frame
only exports frames that a user has seen
2017-03-07 16:48:16 +02:00
aribornstein 278aa5a625 Implemented visited frames
Todo

Don't export on non-visited frames
2017-03-07 15:45:06 +02:00
aribornstein 9134a1e285 Deprecated blacklist
Replaced with more effecient block suggest tag
2017-03-07 15:24:11 +02:00
PythicCoder fea9fdb11d Merge pull request #76 from CatalystCode/toggleTracking
Added tracking Toggle
2017-03-06 20:25:26 +02:00
aribornstein a149e3232f Added ability to toggle tracking 2017-03-06 20:24:09 +02:00
aribornstein 2415d1ebc3 Optomized blacklist 2017-03-06 14:11:44 +02:00
aribornstein 13f7a82234 Added ability to disable tracking 2017-03-06 13:24:23 +02:00
PythicCoder f268f1fe57 Merge pull request #66 from CatalystCode/CNTKTagIntergration
Cntk Model Review Support

- Fixed tracking to make more accurate
- Added CNTK model validation support for windows
- Added Scene change detection
- Added region change detection
- Added delete blacklist
2017-03-05 19:09:07 +02:00
aribornstein fdfd1b630a fixed region change detection 2017-03-05 19:02:23 +02:00
aribornstein 0c95660fa1 fixed region change detection 2017-03-05 18:01:08 +02:00
aribornstein 5c3ebd81a6 Fixed indexing bug
- Todo fix region change detection
2017-03-05 13:54:15 +02:00
aribornstein 77edae9a6f Added backspace delete support
- Added delete support for macs
2017-03-05 09:05:34 +02:00
aribornstein 8a62c469da Fixed duplicate tag tracking bus
Caused by bad indexing in video tool rounding down insted of up
2017-03-05 09:01:48 +02:00
aribornstein f2a4b7e2f1 Added supertracking
Todo
-Debug duplicates when frame extraction rate is a multiple of 3
2017-03-04 14:54:13 +02:00
aribornstein b6c09f57fe fixed tracking bug
-Optomized multi region tracking
2017-03-04 13:47:28 +02:00
aribornstein f6514bd802 Added prefromance
-bug with racecondition
2017-03-02 19:12:27 +02:00
aribornstein 03ec9f8f2f removed config 2017-03-01 13:27:03 +02:00
aribornstein 801c09dad5 commit added prototype for optomizing tagging preformance 2017-03-01 11:57:43 +02:00
aribornstein c0051a0815 fixed scd bug 2017-02-28 22:58:03 +02:00
aribornstein 55a3387de8 Optomization
-Bind earlier in the video stack with canplay
2017-02-28 21:25:19 +02:00
aribornstein 00963f5819 Finished first pass of tracking
-Todo optomize multi region tracking
2017-02-28 17:11:49 +02:00
aribornstein 368aa2cc6e Added Blacklist and SCD Support to supertrack
-Todo
-fix region change
-optomize
-add loader
2017-02-28 10:43:57 +02:00
aribornstein 70a4d5bd24 Fixed Camshift to get tracking to work
Todo

-improve preformance by processing all tags in the same promise

-Integrate suggestedBy and Blacklist

-Integrate same frame detection and misdetection
2017-02-27 22:58:43 +02:00
aribornstein 2c39d04d94 Fixed same frame issue optomitzed tracking 2017-02-26 16:03:26 +02:00
aribornstein 79943b425e Added debugging for tracking
-Added debugging to find out whats going on with tracking
2017-02-25 01:45:22 +02:00
aribornstein 61d6ac3629 Fixed Bugs
-Fixed bug with delete
-Fixed tracking canvas resizing bug
2017-02-23 14:07:10 +02:00
aribornstein 7860cd8ad9 Spacing and var allocation optimization 2017-02-22 16:04:25 +02:00
aribornstein f30face4f6 Cleaned code
- Replaced document.getElementById with cleaner Jquery equivelents
2017-02-22 15:29:07 +02:00
aribornstein 8a08468cc7 Added ECMA6 Syntax for anonymous functions in index.js 2017-02-22 14:46:16 +02:00
aribornstein e989c40d58 Fixed tracking bug 2017-02-22 10:41:18 +02:00
PythicCoder 6c87b66ff9 Merge branch 'master' into CNTKTagIntergration 2017-02-22 09:58:05 +02:00
PythicCoder c581132a5f Merge pull request #62 from sozercan/framerateValidation
framerate validation
2017-02-22 09:54:38 +02:00
PythicCoder 712e295ff5 Merge pull request #61 from sozercan/fileFix
fixes crash when dragged file has no type
2017-02-22 09:52:46 +02:00
aribornstein e9eae6fd28 Added support for newest version fast-rcnn 2017-02-22 09:41:53 +02:00
aribornstein afc69f6249 Re-optomized create region 2017-02-22 09:22:18 +02:00
aribornstein f43d6540ca Fixed rescale tracking issue 2017-02-21 16:02:24 +02:00
Ari Bornstein ef4c56c5cb Fixed scaling issue 2017-02-21 15:23:27 +02:00
aribornstein e1b91fdc47 Added model integration from npm cntk-fastrcnn 2017-02-21 11:42:02 +02:00
aribornstein 861ecc4adb Optomized exportToCntk using mapVideo 2017-02-19 11:54:28 +02:00
aribornstein 21dc092074 Added cntk review support prototype 2017-02-19 11:32:34 +02:00
aribornstein 4996afe9ba Added support for reviewing cntk model 2017-02-19 11:30:29 +02:00
Sertaç Özercan 6378f82369 tooltip on seekbar hover 2017-02-17 16:30:17 -08:00
Sertaç Özercan 90ed6bf004 framerate validation 2017-02-17 13:32:02 -08:00
Sertaç Özercan ea6167927c fixes crash when dragged file has no type 2017-02-16 15:10:46 -08:00
aribornstein c765b49c8f Removed setWindowSize from main.js
- Removed setWindowSize from main.js because it broke tagging
2017-02-16 15:33:34 +02:00
PythicCoder 52c007d82b Merge pull request #57 from sozercan/vscode
🛠  vscode debugging configs
2017-02-16 09:14:03 +02:00
PythicCoder 2fa3c48120 Merge pull request #56 from sozercan/windowSize
📺 set aspect ratio and size
2017-02-16 09:13:52 +02:00
Sertaç Özercan b693a8b956 🛠 vscode debugging configs 2017-02-15 18:10:58 -08:00
Sertaç Özercan 3a15e3d971 📺 set aspect ratio and size 2017-02-15 16:14:47 -08:00
PythicCoder 22f6db6a84 Merge pull request #55 from CatalystCode/ui-updates
Ui updates
2017-02-15 21:33:59 +02:00
aribornstein f37d424741 Merge branch 'ui-updates' of https://github.com/CatalystCode/offline-video-tagger into ui-updates 2017-02-15 21:20:46 +02:00
aribornstein 826c0f9b76 Updated export label 2017-02-15 21:17:32 +02:00
aribornstein 6a86ec23f3 Added options for CNTK Export
- Last visited
- Last frame
- Last tag
2017-02-15 14:20:56 +02:00
aribornstein 8e36e88337 Added blacklist
-Added blacklist to get rid of any duplicates suggestions caused by navigation
2017-02-15 11:23:14 +02:00
aribornstein bf75080abe Added blacklist
- Added blacklist to get rid of any duplicates suggestions
2017-02-15 11:22:32 +02:00
PythicCoder 98a69c1715 Merge pull request #54 from CatalystCode/ui-updates
Ui updates
2017-02-15 00:05:25 +02:00
PythicCoder f91445b4b8 Merge branch 'master' into ui-updates 2017-02-15 00:04:54 +02:00
aribornstein 687bdbd20c Disabled playback 2017-02-14 18:21:11 +02:00
aribornstein 75d25f56a8 Bug Fixes
-Fixed bug with drag and drop on windows

- Removed video playback support due to user confusion
2017-02-14 15:35:51 +02:00
aribornstein 3796f17396 Enhancement
-Deprecated the need for 16 character uuids replaced with counter
2017-02-14 15:06:44 +02:00
aribornstein 66cae0d24b Bug Fixes
- Fixed bug where tracking was duplicating some tags

- Fixed bug where opening a video with the same name was not reloading metadata

-Add expand from corners to regions
2017-02-14 13:25:51 +02:00
PythicCoder 5c1f50cd1b Merge pull request #52 from sozercan/master
🔨  prevent zooming and file path bug fix
2017-02-14 08:30:15 +02:00
Sertaç Özercan 8ecc3203c6 🔨 prevent zooming and file path bug fix 2017-02-13 16:42:56 -08:00
Sertaç Özercan 76dbd4be47 🔨 prevent zooming and file path bug fix 2017-02-13 16:40:03 -08:00
PythicCoder d41f42964c Merge pull request #51 from CatalystCode/ui-updates
Ui Improvements
2017-02-13 17:53:54 +02:00
aribornstein 468b5af314 Ui Improvements
- Removed command bar and replaced with keyboard shorcuts and toolbar
- Improved UI on main page
- Ran through linter
- Added refresh function to debug
2017-02-13 17:52:42 +02:00
aribornstein bad2c783a0 fixed typo bug 2017-02-12 13:35:50 +02:00
PythicCoder 3aad390dc3 Merge pull request #46 from CatalystCode/camShift-region-tracking
Cam shift region tracking
2017-02-11 14:42:44 +02:00
PythicCoder e28a120b7c Merge branch 'master' into camShift-region-tracking 2017-02-11 14:35:17 +02:00
aribornstein 42b67933ad added uniquie identifiers to regions for tracking 2017-02-11 14:23:03 +02:00
PythicCoder 365e1fee7b Merge pull request #43 from sozercan/windowState
added window state manager
2017-02-10 23:41:32 +02:00
aribornstein 8fbd35d1a2 Added tracking for all regions between frames 2017-02-10 22:41:01 +02:00
aribornstein 2cb2901e7d Fixed Scene Change Detection
Todo optimize scaling
2017-02-10 10:58:04 +02:00
Sertac Ozercan 58c0e528fe added window state manager 2017-02-09 18:55:30 -08:00
aribornstein 964ea4c80f Fixed resuggest bug
Todo refractor around next key
2017-02-09 21:32:59 +02:00
PythicCoder 71106eb218 Merge pull request #42 from sozercan/menu
moved buttons to menubar/toolbar
2017-02-09 21:27:22 +02:00
Sertaç Özercan 9419de1bfd Merge branch 'master' into menu 2017-02-09 10:57:58 -08:00
Sertac Ozercan 69780a5f1c ☑️ reverted the button changes 2017-02-09 10:54:50 -08:00
aribornstein 8e0f36a805 Only Prompt For region point when point selected 2017-02-09 16:41:34 +02:00
aribornstein b9e0b34475 Added the ability to resuggest tags
Added the ability to resuggest tags after a readjusting a suggestion
2017-02-09 14:47:48 +02:00
aribornstein e49918f247 Bug fixes
Merged changes from master
improved scene detection code

Todo add track and resuggest remaining frames
2017-02-09 12:01:54 +02:00
PythicCoder 042c6ede96 Merge pull request #41 from sozercan/dragDrop
🗳  drag and drop video support
2017-02-09 09:15:18 +02:00
PythicCoder 3bfada7aeb Merge pull request #38 from sozercan/fix32
Fix #32
2017-02-09 09:13:04 +02:00
Sertac Ozercan ae9e02101b moved buttons to menubar/toolbar 2017-02-08 20:04:53 -08:00
Sertac Ozercan 3f7796baa3 only allow mp4s to display copy effect 2017-02-08 18:25:23 -08:00
Sertac Ozercan d2d9e569dc 🗳 drag and drop video support 2017-02-08 18:17:48 -08:00
Sertac Ozercan 0eb73f29b4 Fix #32 2017-02-08 16:27:44 -08:00
PythicCoder d3a934a355 Merge pull request #37 from CatalystCode/fixSkipAndPlayback
Fixed skip and playback with correct indexing
2017-02-09 00:30:42 +02:00
aribornstein 0ac197e6f8 cleaned some debug code 2017-02-09 00:29:41 +02:00
aribornstein 4c4e1cb662 fixed video playback 2017-02-09 00:26:13 +02:00
aribornstein edc0aabdbf Fixed the seek bar 2017-02-09 00:01:13 +02:00
aribornstein a32f71bfb0 Fixed scene change detector
Todo clean up
2017-02-08 16:02:30 +02:00
PythicCoder a45f1d291c Merge pull request #35 from CatalystCode/issue33Fix
Issue33 fix
2017-02-08 15:50:05 +02:00
aribornstein 1c182d0fc2 Merge branch 'issue33Fix' of https://github.com/CatalystCode/offline-video-tagger into issue33Fix 2017-02-08 15:47:31 +02:00
aribornstein 0ddfcbdce9 Fixed bug with checkRegionLabels
Fixed bug with checkRegionLabels that was preventing alerts from triggering
2017-02-08 15:46:59 +02:00
PythicCoder e30c4f9dff Merge pull request #34 from CatalystCode/issue33Fix
fixed issue#33
2017-02-08 15:40:38 +02:00
PythicCoder e2e0d13e53 Merge branch 'master' into issue33Fix 2017-02-08 15:39:46 +02:00
aribornstein a14b6251d8 fixed issue#33
-Fixed bug where cntk export was saving the old frame before the new one loaded

- Fixed bug where checking whether regions have lables would fail if there were no regions
2017-02-08 15:37:07 +02:00
PythicCoder feeee2955f Merge pull request #31 from sozercan/master
Fixed issue #28
2017-02-08 15:32:44 +02:00
Sertac Ozercan c47d1196d6 checking if no tags were saved from last run before deleting 2017-02-07 13:15:36 -08:00
Sertac Ozercan 22641113b3 💬 notifications for save and export 2017-02-07 11:35:45 -08:00
aribornstein 307255c3f3 Added The following features
- Added alpha scene detection to prevent false positives
- Removed 10 frame limit on suggestions now that there is scene detection

Todo
- Clean code
2017-02-07 16:23:07 +02:00
PythicCoder 88cd1f2946 Merge pull request #30 from CatalystCode/exportToLastVisitedFrame
Fixed Issue #14 Export to last visited frame
2017-02-07 14:00:59 +02:00
aribornstein 176bf963f2 removed debug comment 2017-02-07 13:57:32 +02:00
aribornstein 3edda2692c Fixed Issue #14
- Export To CNTK now exports to the furthest visted frame instead of the last frame in a video

- Fixed bug where metadata from previous exports was persisting

- Made the videotagging var higher scope to minimize duplicate code

-  Added getUnlabeledRegions(FrameId) to videotagging control
2017-02-07 13:55:23 +02:00
PythicCoder 09f81bbd98 Merge pull request #29 from CatalystCode/fixLoadButton
Fixed issue #27
2017-02-07 10:13:22 +02:00
aribornstein c2005df48e Fixed issue #27
Load button now disapears when clicked so that it can't be clicked twice.
2017-02-07 10:12:26 +02:00
PythicCoder d05e6f9302 Merge pull request #26 from sozercan/master
added setRepresentedFilename for title on macOS
2017-02-07 10:05:51 +02:00
Sertac Ozercan 345965b6a4 Merge branch 'master' of https://github.com/CatalystCode/offline-video-tagger
# Conflicts:
#	index.html
2017-02-06 10:27:13 -08:00
PythicCoder c990ba4c97 Merge pull request #25 from CatalystCode/missing-tag-confirmation
Fixed Issue #13
2017-02-06 15:52:45 +02:00
aribornstein 2e5f1f8cf8 Fixed Issue #13
P1 Prevent user from creating unlabeled region tags.

Added load screen image for a better ui

Updated package metadata
2017-02-06 15:50:45 +02:00
Sertac Ozercan 26438fee34 📂 added setRepresentedFilename 2017-02-05 14:40:23 -08:00
Sertac Ozercan ac83504698 Merge branch 'master' of https://github.com/CatalystCode/offline-video-tagger
# Conflicts:
#	index.html
2017-02-05 13:54:59 -08:00
aribornstein 7f2ecb3d25 Fixed camshift positioning bug
Todo

Fix false positives
2017-02-03 19:13:53 -08:00
aribornstein 44721ba033 Camshift Alpha 2017-02-03 18:37:37 -08:00
aribornstein 7a2f0990b3 removed camshift prototype code 2017-02-03 18:21:14 -08:00
PythicCoder 714f7cac03 Merge pull request #23 from tylergibson/master
AspectRatio video snapping
2017-02-03 18:11:32 -08:00
Tyler Gibson 51cc1af598 Fixing export bugs formatting 2017-02-03 17:04:37 -08:00
Tyler Gibson 9e83805958 AspectRatio video snapping 2017-02-03 15:40:47 -08:00
Sertac Ozercan 70d3413685 Merge branch 'master' of https://github.com/CatalystCode/offline-video-tagger
# Conflicts:
#	index.html
2017-01-31 16:27:01 -08:00
aribornstein f067595e6a Bug fixes
-Fixed: you shouldn’t be able to submit if you didn’t select a video bug duplicate

- Fixed:Add name of the video to the title or other indication enhancement

-Fixed Add user feedback/notification on the result of the export operation enhancement
2017-01-31 16:20:22 -08:00
Sertac Ozercan 90e68febaa 📦 moved js to it's own file 2017-01-26 12:24:16 -08:00
aribornstein a030410fd1 added loading styles 2017-01-26 21:49:26 +02:00
aribornstein e1e3a6f5d7 Removed option to load video on configuration page 2017-01-26 21:49:04 +02:00
aribornstein 36ba1e7c40 Fixed one missed egdge case of selecting regions in regions 2017-01-26 19:25:18 +02:00
aribornstein 72aadae588 Added clear tags functionality 2017-01-26 17:22:52 +02:00
aribornstein 6e31dacb19 Bug fixes
- Video tagging tool no longer exports labels without tags
-Add prototype code for camshift
2017-01-26 13:39:40 +02:00
aribornstein ec42022f2b Fixed bug with default labeling 2017-01-26 13:35:30 +02:00
aribornstein 905eebde21 Disabled seek and video playback 2017-01-26 11:56:24 +02:00
aribornstein f4ee7e11a9 Fixed the ability to label tags in tags 2017-01-25 16:38:28 +02:00
aribornstein be63b105a8 Added key shortcuts and fixed region resize direction bug 2017-01-25 13:58:29 +02:00
aribornstein 679760c38e Fixed bug where regions were draggable pats canvas 2017-01-24 18:43:09 +02:00
aribornstein 6d50e3d340 Fixed bug with resize and drag 2017-01-24 18:09:16 +02:00
aribornstein 1e58fb3229 If there is only one tag make it the default tag 2017-01-24 08:36:06 +02:00
aribornstein ebc813e4af Added resizing and moving bounding boxes 2017-01-22 13:52:50 +02:00
aribornstein 2ff2d79592 Bug fixes 2017-01-22 09:27:41 +02:00
aribornstein 1b44b855a3 Fixed load tags bug 2017-01-22 09:11:42 +02:00
aribornstein 6cf13ddcb7 Fixed CNTK export bug 2017-01-19 15:39:30 +02:00
aribornstein 0b7b179db0 Added export to cntx fixed css bugs 2017-01-19 13:49:41 +02:00
aribornstein 0602327dcf commiting code 2016-12-29 15:44:07 +02:00
PythicCoder f6d2ab92bb Initial commit 2016-12-29 15:32:23 +02:00
1797 arquivos alterados com 257187 adições e 102012 exclusões
-21
Ver Arquivo
@@ -1,21 +0,0 @@
# Validate changes
# cat .codecov.yml | curl --data-binary @- https://codecov.io/validate
comment: on # enable pull request comment
coverage:
range: 70..100
round: down # round down to the precision point
precision: 2
status:
project: # compare project coverage against the base of pr
default:
target: 75% # min coverage ratio to be considered a success
threshold: null # allow coverage to drop by X%
base: auto
patch: # provides an indication on how well the pull request is tested
default:
target: 70% # min coverage ratio to be considered a success
ignore:
- "src/electron/start.js"
- "src/providers/export/tensorFlowRecords/tensorFlowRecordsProtoBuf_pb.js"
- "src/redux/store/store.ts"
-13
Ver Arquivo
@@ -1,13 +0,0 @@
version: 1
update_configs:
target_branch: "develop"
# Keep package.json (& lockfiles) up to date weekly
- package_manager: "javascript"
directory: "/"
update_schedule: "weekly"
default_labels:
- "dependencies"
- "dependabot"
-18
Ver Arquivo
@@ -1,18 +0,0 @@
# EditorConfig is awesome: https://EditorConfig.org
# Default:
# https://github.com/editorconfig/editorconfig-defaults/blob/master/editorconfig-defaults.json
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4
[*.yml]
indent_size = 2
-5
Ver Arquivo
@@ -1,5 +0,0 @@
# react-scripts build use this to generate the right path for assets
# relative to index.html
# without it, you'll see error like this
# Failed to load resource: net::ERR_FILE_NOT_FOUND /favicon.ico:1
PUBLIC_URL=.
-1
Ver Arquivo
@@ -1 +0,0 @@
REACT_APP_INSTRUMENTATION_KEY=40a80c0c-b913-45b7-afc9-c7eb3ed62900
-1
Ver Arquivo
@@ -1 +0,0 @@
REACT_APP_INSTRUMENTATION_KEY=0b9e5117-c78d-40c9-9338-921092cde49a
-2
Ver Arquivo
@@ -1,2 +0,0 @@
HOST_TYPE=electron
INSTRUMENTATION_KEY=40a80c0c-b913-45b7-afc9-c7eb3ed62900
+49
Ver Arquivo
@@ -0,0 +1,49 @@
{
"extends": "strongloop",
"parser": "babel-eslint",
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"jquery": true
},
"rules": {
"no-unused-vars": "off",
"max-len": "off",
"no-undef": "off",
"radix": "off",
"eqeqeq": "off",
"no-sequences": "off",
"no-redeclare": "off",
"no-cond-assign": "off",
"strict": "off",
"no-inner-declarations": "off",
"no-native-reassign": "off",
"no-octal": "off",
"arrow-spacing": "off",
"indent": "off",
"semi": "off",
"keyword-spacing": "off",
"space-infix-ops": "off",
"no-trailing-spaces": "off",
"quotes": "off",
"eol-last": "off",
"comma-spacing": "off",
"no-multi-spaces": "off",
"spaced-comment": "off",
"space-before-function-paren": "off",
"comma-dangle": "off",
"key-spacing": "off",
"space-in-parens": "off",
"brace-style": "off",
"block-spacing": "off",
"one-var": "off",
"no-spaced-func": "off",
"semi-spacing": "off",
"no-multiple-empty-lines": "off",
"quote-props": "off",
"no-floating-decimal": "off",
"handle-callback-err": "off",
"no-unneeded-ternary": "off"
}
}
-32
Ver Arquivo
@@ -1,32 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
-20
Ver Arquivo
@@ -1,20 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
+38 -40
Ver Arquivo
@@ -1,45 +1,43 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
/.vscode
# dependencies
/node_modules
/.pnp
/test-output
.pnp.js
# testing
/coverage
# packaging
/build
# releases
/releases/
# misc
.DS_Store
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# dev
secrets.sh
# Runtime data
pids
*.pid
*.seed
# ide
.idea
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# complexity reports
es6-src/
report/
# Coverage directory used by tools like istanbul
coverage
# VoTT Server
server/lib
server/node_modules
server/coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules
jspm_packages
data_sample
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history
# Local package.json
package-lock.json
dist/
-1
Ver Arquivo
@@ -1 +0,0 @@
10.15.1
-3
Ver Arquivo
@@ -1,3 +0,0 @@
# Path to sources
sonar.sources=src/
sonar.exclusions=**/*.test.ts*,src/common/localization/*
+55
Ver Arquivo
@@ -0,0 +1,55 @@
matrix:
include:
- os: osx
osx_image: xcode9.4
language: node_js
node_js: "10"
env:
- ELECTRON_CACHE=$HOME/.cache/electron
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
- os: linux
services: docker
language: generic
cache:
directories:
- node_modules
- $HOME/.cache/electron
- $HOME/.cache/electron-builder
before_script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sh -e /etc/init.d/xvfb start; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sleep 3; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then npm install; fi
script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then npm test; fi
before_deploy:
- |
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
docker run --rm \
--env-file <(env | grep -vE '\r|\n' | grep -iE 'DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS|APPVEYOR_|CSC_|_TOKEN|_KEY|AWS_|STRIP|BUILD_') \
-v ${PWD}:/project \
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
electronuserland/builder:wine \
/bin/bash -c "npm run dist:winlinux"
else
npm run dist:mac
fi
before_cache:
- rm -rf $HOME/.cache/electron-builder/wine
deploy:
- provider: releases
api_key: $GITHUB_TOKEN
file:
- "dist/vott-win.exe"
- "dist/vott-linux.snap"
- "dist/vott-mac.dmg"
skip_cleanup: true
on:
tags: true
+30
Ver Arquivo
@@ -0,0 +1,30 @@
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug Renderer",
"type": "chrome",
"request": "launch",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
//"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd",
"runtimeArgs": [
"${workspaceRoot}",
"--enable-logging",
"--remote-debugging-port=9222"
],
"sourceMaps": false
},
{
"name": "Debug Main",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
//"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd",
"program": "${workspaceRoot}/main.js"
}
]
}
-158
Ver Arquivo
@@ -1,158 +0,0 @@
# VoTT Changelog
<!-- cl-start -->
# [2.1.0](https://github.com/Microsoft/VoTT/compare/v2.0.0...v2.1.0) (04-29-2019)
[GitHub Release](https://github.com/Microsoft/VoTT/releases/tag/v2.1.0)
- fix: Updates backwards compat & fixes cntk export image bug (#789)
- fix: Updates export options for pascalVOC rename (#788)
- fix: change method for alloc string to buffer (#777)
- feat: Add CSV Exporter (#757)
- fix: Fix display of tag color picker (#782)
- feat: Active Learning Updates (#778)
- doc: updates to readme and changelog (#781)
- doc: Adds CODE_OF_CONDUCT.md (#779)
- doc: Add bug & feature templates (#780)
- fix: Refactored project tag/delete updates (#764)
- fix: Enables selection of azure region for custom vision export (#765)
- feat: CNTK Export Provider (#771)
- feat: Save partial project progress during project creation (#769)
- fix: Fixes ymax and rename Tensorflow nama everywhere (#763)
# [2.0.0](https://github.com/Microsoft/VoTT/compare/v2.0.0-preview.3...v2.0.0) (04-12-2019)
[GitHub Release](https://github.com/Microsoft/VoTT/releases/tag/v2.0.0)
- doc: update v1/master reference (#748)
- ci: update pipeline for v2 flipover to master (#747)
- feat: add ability to import v1 video project (#726)
- fix: Move findDOMNode outside of render method (#745)
- doc: updating readme (#733)
- fix: Adjusts z-index video player overlays (#740)
- fix: Updated keyboard manager to support meta (aka cmd) key (#743)
- fix: don't allow invalid path characters in project name (#741)
- fix: switch asset count to include video frames (#717)
- feat: Enforce asset tagging before switching assets (#730)
- feat: Auto-size video/image assets and position canvas (#734)
- fix: CORS warning message for Bing Image Search (#732)
- feat: Adds option to specify if images are included with JSON export (#728)
- fix: Simplifies asset load flow (#727)
- fix: Render Enhancments (#719)
- feat: Add toast messages when entities are created / deleted (#714)
- feat: New Tag Input Component (#710)
- feat: Add more export options to pascal voc exporter (#705)
- feat: exclude desktop functionality from browser target (#713)
- feature: tracking app metrics for web olny (#712)
- fix: Catch error while tfrecord image not loaded (#701)
- ci: clean up deprecated pipelines (#708)
- feat: Update asset status to use badges & resize sidebar (#709)
- ci: refactor plato report pipeline (#707)
- ci: refactor web deploy pipeline (#702)
- feat: Help menu displaying keyboard shortcuts (#689)
- fix: replace default react favicon with tags icon (#699)
- WIP: resizes thumbnails and sidebar (#691)
- ci: update pipelines to work for all branches with prefix dev (#700)
# [2.0.0-preview.3](https://github.com/Microsoft/VoTT/compare/v2.0.0-preview.2...v2.0.0-preview.3) (03-20-2019)
[GitHub Release](https://github.com/Microsoft/VoTT/releases/tag/v2.0.0-preview.3)
- ci: Clean up sonar cloud issues
- Remove height from root style (#694)
- fix: Don't call tag click with invalid hot key (#690)
- refactor: remove redux-invariant & redux-logging from production (#680)
- fix: Cleans up some of the flexbox styling overflow content heights (#683)
- Blurring tag input on click and change (#679)
- fix: metrics page throw error if project has no tags (#681)
- feat: Updated UX of project metrics to include charts (#678)
- fix: open file containing special characters in the name [AB#17533] (#671)
- fix: Re-apply tags in editor when project tags are updated (#673)
- fix: remove profile settings and active learning (#677)
- fix: misspelling in applicationActions.ts [AB#17157]
- fix: display spinner icon on metrics panel when loading (#669)
- fix: standardize default export option to "visited" (#667)
- fix: Display asset load error when an asset fails to load (#654)
- Fix saving asset metadata for all valid asset type (#668)
- ci: disable web vott deploy for PR (#670)
- feat: Enable copy rectangle functionality in editor (#651)
- ci: Merge v2 into dev (#666)
- feat: Added Custom TitleBar & Status Bar (#664)
# [v2.0.0-preview.2](https://github.com/Microsoft/VoTT/compare/v2.0.0-preview.1...v2.0.0-preview.2) (03-08-2019)
[GitHub Release](https://github.com/Microsoft/VoTT/releases/tag/v2.0.0-preview.2)
- Bug/17537/fix title (#660)
- Ignore error from react drag n drop (#648)
- ci: Azure DevOps pipeline definitions for VoTT Web CD (#658)
- ci: script to deploy VoTT to Azure (#656)
- fix: Resolves issue exporting all assets (#649)
- fix: save tagged video frames as "jpg" files (#641)
- fix: remove grey and white from tagColors (#645)
- Handle project with no tags while loading regions (#644)
- fix: remove "All assets" from export options dropdown (#646)
- feat: Clear Regions updates [AB#17269] (#647)
- fix: Don't allow invalid pasting (#640)
- fix: set default export format in project (#642)
- fix: Tagging new region only applies to one region (#635)
- feature: Enhanced error message for unknown errors (not in prod mode) (#639)
- feature: display project metrics (#638)
- fix: re-add exportProject to registerToolbar (#634)
- fix: Upgrade vott-react and add test cases for adding new tags (#637)
- ci: modify pipeline to also run off dev branch (#633)
- fix: Updated EditorTagsInput to work with vott-react (#630)
- fix: Wrap the delete call to protect against 404's (#632)
- feat: add ability to import v1 projects (#610)
- feat: add hotkeys for all editor toolbar items and simplify tag input hotkeys (remove ctrl+) (#617)
- fix: Fixes issue where user is unable to navigate to new project screen (#629)
- feat: Copy, Cut, Paste and Clear (#624)
- docs: adds list of shortcuts (hotkeys) to docs (#628)
- fix: replaces emtpy with empty throughout (#627)
- fix: Resolves typescript tsc compile issues for v3.1.6 (#625)
- fix: Move last visited tag settings to reducer to fix delete file assets bug [#AB17101] (#626)
- feat: Export video frames AB#16583 (#585)
- ci: make sure build fail if codecov token is missing (#621)
- fix: User can navigate between key frames using keyboard accelerators (#619)
- fix: Delete asset metadata files when project is deleted (#620)
- feat: Ability to retain the state of the last viewed asset on project open [#AB17139] (#615)
- feat: Locked tags for tagging regions (#600)
- ci: update release names and package details (#614)
- ci: add changelog and release scripts (#608)
- fix: Fixes issue where regions cannot be deleted (#612)
- docs: update contribution guidelines for changelog (#606)
- feat: Add Project version info (#609)
- fix: Correct bounding box values on region move (#604)
- fix:Add Connection button displays with correct style (#603)
- ci: update sonarcloud to ignore test files (#602)
- fix:Resolves issue where user is unable to create new project (#601)
- fix: Navigating to homepage should't close any open project (#596)
- feat: Add tag to project while importing TFRecords [AB#17001] (#586)
- fix: Disables KeyboardManager when focused on input elements (#595)
- fix: Corrects canvas sizing and region sizes (#592)
- refactor:Refactor canvas component to utilize internal state (#594)
- rebasing and squashing wabrez/integrat-vott-react (#591)
- Only hook video state change on non-preview assets AB#17076 (#575)
- Fixes previous/next buttons to navigate between assets (#576)
- add keyboard shorcut for navigating video frames (#588)
- Removed toolbar items that are not implemented (#589)
- fix sidebar so it's in sync with asset navigation (#584)
- Updating report CI scripts to be more robust. (#581)
- Refactor region tags to only be a string array (#587)
- Fix Asset detection from path (#578)
- Inital user docs for video player AB#17082 (#580)
- EditorPage does not have correct state when navigating directly via URL- AB#17079 (#577)
- Added CI script for updating complexity reports, pushing to blob (#574)
- Import region metadata from TFRecords (#566)
- Added context menu option in electron for all input fields AB#16922 (#570)
- Adding visited/tagged marks on video timeline AB #16772 (#556)
- Fixed issue where validation was not showing up for source/target connection in project settings (#571)
- TFRecords import refactoring (#553)
- Added data-tag-name attr to the tag element (#569)
- Added v2 complexity report scripts. (#550)
- Update canvastools and fix tests (#567)
- Fixed delete project bug AB#17024 (#568)
- [Fixes AB#16951] - support up/down & w/s key for navigating assets (#547)
- Update project when in-use connection changes AB#16921 (#564)
- Added localization for export JSON files AB#16387 (#554)
- Enhanced video support (#544)
- Add support for keyUp and keyPress events (#539)
- Small refactor of canvas and editor page (#538)
- enable sonarcloud pr scan (#530)
-76
Ver Arquivo
@@ -1,76 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at opensource@microsoft.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
-111
Ver Arquivo
@@ -1,111 +0,0 @@
# Contributing to VoTT
We welcome [issues](https://github.com/Microsoft/VoTT/issues) and [pull requests](https://github.com/Microsoft/VoTT/pulls) into the project. We ask that you follow these simple guidelines:
<!-- generated using: https://www.npmjs.com/package/markdown-toc-->
<!-- command: `markdown-toc -i CONTRIBUTING.md --bullets "*"`-->
<!-- toc -->
* [Issues](#issues)
* [Pull Requests](#pull-requests)
* [Commit Message Guidelines](#commit-message-guidelines)
* [Commit Message Format](#commit-message-format)
* [Header](#header)
* [Type](#type)
* [Short Description](#short-description)
* [Body](#body)
* [Footer](#footer)
* [Commit Message Example](#commit-message-example)
* [Style](#style)
<!-- tocstop -->
## Issues
* Look for duplicate issues & comment on thread if experiencing something similar
* Fill in template information (platform, OS, version, screenshots, etc.)
## Pull Requests
1. Find an issue to work on, or create a new one.
1. Fork the repo and/or pull down the latest changes from `master`.
1. Create branch following naming convention: `git checkout -b issue-<###>-<short-description>`.
1. Write code.
1. Add unit tests.
1. Verify linting and unit tests by running `npm test`.
1. Update docs if needed.
1. Rebase on `master` and resolve conflicts.
1. Commit your changes using a descriptive commit message that follows [our commit message conventions](#commit-message-guidelines). Adherence to these conventions is necessary for the [change log](CHANGELOG.md) to be automatically generated from these messages.
1. Submit PR to `master` branch.
Please try to keep PRs small to decrease the time required to review and merge.
## Commit Message Guidelines
We have adopted standards similar to [Angular](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit) for how our git commit messages should be formatted. This leads to more readable messages, which are easier to follow when looking through the project history. Those messages are used to generate the [VoTT change log](CHANGELOG.md).
### Commit Message Format
Each commit message consists of a **header**, a **body** and a **footer**.
```text
<type>: <short description>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
```
### Header
#### Type
Must be one of the following:
* **build**: Changes that affect the build system or external dependencies
* **ci**: Changes to our CI configuration files and scripts
* **docs**: Documentation only changes
* **feat**: A new feature
* **fix**: A bug fix
* **perf**: A code change that improves performance
* **refactor**: A code change that neither fixes a bug nor adds a feature
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
* **test**: Adding missing tests or correcting existing tests
#### Short Description
Contains a succinct description of the change:
* use the imperative, present tense: "change" not "changed" nor "changes"
* don't capitalize the first letter
* no dot (.) at the end
### Body
Just as in the **short description**, use the imperative, present tense: "change" not "changed" nor "changes".
The body should include the motivation for the change and contrast this with previous behavior.
### Footer
The footer should contain any information about **breaking changes** and is also the place to
reference Azure DevOps user stories/tasks or GitHub issues that this commit **closes**.
### Commit Message Example
```text
fix: add debouncing to asset scroller to correct browser scroll position
There is no debouncing when we store the asset container's scroll position.
This results in erratic, jumpy scrolling and a poor user experience. Improve
stability and usability with debouncing.
AB#17056
```
## Style
* This repo uses [EditorConfig](https://editorconfig.org/) to maintain consistent styles across multiple platforms and IDEs. Please refer to
this [guide](docs/STYLE.md) for more information.
Thank you!
+6 -6
Ver Arquivo
@@ -1,6 +1,6 @@
The MIT License
MIT License
Copyright (c) 2016-2019 Microsoft Commercial Software Engineering
Copyright (c) 2016 Microsoft Partner Catalyst Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -9,13 +9,13 @@ 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 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.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-2
Ver Arquivo
@@ -1,2 +0,0 @@
react: npm run react-start
electron: npm run electron-start
+183 -221
Ver Arquivo
@@ -1,295 +1,257 @@
# VoTT (Visual Object Tagging Tool)
# VoTT: Visual Object Tagging Tool 1.5
[![Build Status](https://dev.azure.com/msft-vott/VoTT/_apis/build/status/VoTT/Microsoft.VoTT?branchName=master)](https://dev.azure.com/msft-vott/VoTT/_build/latest?definitionId=25&branchName=master)
[![Code Coverage](https://codecov.io/gh/Microsoft/VoTT/branch/master/graph/badge.svg)](https://codecov.io/gh/Microsoft/VoTT)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Microsoft_VoTT&metric=alert_status)](https://sonarcloud.io/dashboard?id=Microsoft_VoTT)
This tool provides end to end support for generating datasets and validating object detection models from video and image assets.
[Complexity Analysis Report](https://vottv2.z5.web.core.windows.net/)
### End to End Object Detection Pipeline:
![Pipeline: tag video, export tags to format of choice, train model, run model on a new video, validate model suggestions and fix errors, return to export tags](media/detectioninabox.jpg)
----------
The tool supports the following **features**:
An open source annotation and labeling tool for image and video assets.
- The ability to tag and annotate Image Directories or Stand alone videos.
- Computer-assisted tagging and tracking of objects in videos using the [Camshift tracking algorithm](http://opencv.jp/opencv-1.0.0_org/docs/papers/camshift.pdf).
VoTT is a React + Redux Web application, written in [TypeScript](https://github.com/Microsoft/TypeScript). This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
- Exporting tags and assets to CNTK, Tensorflow (PascalVOC) or YOLO format for training an object detection model.
- Running and validating a trained CNTK object detection model on new videos to generate stronger models.
Features include:
- Exporting tags and assets to Custom Vision Service CNTK , Tensorflow (PascalVOC) or YOLO format for training an object detection model.
- Use Active Learning with trained object detection models (locally or remotely) on new videos to generate stronger models.
* The ability to label images or video frames
* Extensible model for importing data from local or cloud storage providers
* Extensible model for exporting labeled data to local or cloud storage providers
VoTT helps facilitate an end-to-end machine learning pipeline:
![alt text](docs/images/ml-workflow.png "Machine Learning Workflow")
## Table of Contents
<!-- generated using: https://www.npmjs.com/package/markdown-toc-->
<!-- command: `markdown-toc -i README.md --bullets "*"`-->
<!-- toc -->
- [Installation](#installation)
- [Tagging a Video](#tagging-a-video)
- [Tagging an Image Directory](#tagging-an-image-directory)
- [Reviewing and Improving an Object Detection Model](#reviewing-and-improving-an-object-detection-model)
- [Upcoming Features](#upcoming-features)
- [How to Contribute](#how-to-contribute)
---
## Installation
- [VoTT (Visual Object Tagging Tool)](#vott-visual-object-tagging-tool)
- [Table of Contents](#table-of-contents)
- [Getting Started](#getting-started)
- [Download and install a release package for your platform (recommended)](#download-and-install-a-release-package-for-your-platform-recommended)
- [Build and run from source](#build-and-run-from-source)
- [Run as Web Application](#run-as-web-application)
- [V1 & V2](#v1--v2)
- [Where is V1](#where-is-v1)
- [V1 releases](#v1-releases)
- [V1 projects in V2](#v1-projects-in-v2)
- [Using VoTT](#using-vott)
- [Creating Connections](#creating-connections)
- [Creating a New Project](#creating-a-new-project)
- [Project Settings](#project-settings)
- [Security Tokens](#security-tokens)
- [Labeling an Image](#labeling-an-image)
- [Labeling a Video](#labeling-a-video)
- [Exporting Labels](#exporting-labels)
- [Keyboard Shortcuts](#keyboard-shortcuts)
- [Tag Ordering](#tag-ordering)
- [Tag Locking](#tag-locking)
- [Editor Shortcuts](#editor-shortcuts)
- [Mouse Controls](#mouse-controls)
- [Collaborators](#collaborators)
- [Contributing to VoTT](#contributing-to-vott)
### Installing the Visual Object Tagging Tool Binary
<!-- tocstop -->
1. Download and extract the app [release package](https://github.com/CatalystCode/CNTK-Object-Detection-Video-Tagging-Tool/releases)
## Getting Started
2. Run the app by launching the `VOTT` executable which will be located inside the unzipped folder.
VoTT can be installed as a native application or run from source. VoTT is also available as a [stand-alone Web application](https://vott.z22.web.core.windows.net) and can be used in any modern Web browser.
### Installing the Visual Object Tagging Tool npm
### Download and install a release package for your platform (recommended)
1. Clone this directory
VoTT is available for Windows, Linux and OSX. Download the appropriate platform package/installer from [GitHub Releases](https://github.com/Microsoft/VoTT/releases). `v2` releases will be prefixed by `2.x`.
2. Install Node.js
### Build and run from source
3. Run the following command in the terminal.
```
npm install
npm start
```
VoTT requires [NodeJS (>= 10.x, Dubnium) and NPM](https://github.com/nodejs/Release)
### Installing CNTK with the FRCNN Prerequisites for Reviewing Model
```bash
git clone https://github.com/Microsoft/VoTT.git
cd VoTT
npm ci
npm start
```
> **IMPORTANT**
>
> When running locally with `npm`, both the electron and the browser versions of the application will start. One major difference is that the electron version can access the local file system.
*Please note that installation of **CNTK and FASTER-RCNN dependencies** are **optional for tagging** and are **only required for CNTK model review and training**.*
### Run as Web Application
1. Install [CNTK](https://github.com/Microsoft/CNTK/wiki/Setup-CNTK-on-your-machine) (*Note: currently the tool only supports the full installation method (non pip) of CNTK*).
Using a modern Web browser, VoTT can be loaded from: [https://vott.z22.web.core.windows.net](https://vott.z22.web.core.windows.net)
2. Follow the setup instructions of the [CNTK Faster-RCNN tutorial](https://docs.microsoft.com/en-us/cognitive-toolkit/object-detection-using-faster-r-cnn#setup) (*Note: Faster-RCNN currently only supports Linux python version 3.4 and not 3.5*).
As noted above, the Web version of VoTT *cannot* access the local file system; all assets must be imported/exported through a Cloud project.
3. Configure `CNTK-Config.json` (which resides in the `\resources\app` directory of the tagging tool) with the following properties to enable the model review feature:
## V1 & V2
```json
{
"cntkPath" : "{CNTK Path default is c:/local/cntk}",
}
```
## Tagging a Video
VoTT V2 is a refactor and refresh of the original Electron-based application. As the usage and demand for VoTT grew, `V2` was started as an initiative to improve and make VoTT more extensible and maintainable. In addition, `V2` uses more modern development frameworks and patterns (React, Redux) and is authored in TypeScript.
1. Select the option to tag a video
A number of code quality practices have been adopted, including:
![](media/video-option.jpg)
* Code Linting
* Unit tests & mocks (Jest, Enzyme)
* [Code coverage](https://codecov.io/gh/Microsoft/VoTT) ([CodeCov.io](https://codecov.io/))
* [Complexity analysis](https://vottv2.z5.web.core.windows.net/) ([Plato](docs/PLATO.md))
2. Load an MP4 video file either by dragging it into the app or clicking on and selecting it.
All `V2` efforts are on the [master](https://github.com/Microsoft/VoTT/tree/master) branch
![](media/2_load.jpg)
### Where is V1
3. Configure the tagging job and specify the settings in the screenshot below:
`V1` will be on the [v1](https://github.com/Microsoft/VoTT/tree/v1) branch. There will not be any fixes or updates.
![](media/3_Job_Configuration.jpg)
#### V1 releases
**Frame Extraction Rate**: number of frames to tag per second of video<br>
1.x releases can still be found under [GitHub Releases](https://github.com/Microsoft/VoTT/releases).
**Tagging Region Type**: type of bounding box for tagging regions<br>
- *Rectangle*: tag bounding boxes of any dimension
- *Square*: tag bounding boxes of auto-fixed dimensions
### V1 projects in V2
**Suggested Region Method**: how to suggest regions for next frame<br>
- *Tracking*: Use camshift to track tagged regions in next frame
- *Copy Last Frame*: Copy all regions to the next frame
There is support for converting a V1 project into V2 format. Upon opening the JSON file, a window will pop up to confirm that the app should convert the project before redirecting to the editor screen. In this process, a `.vott` file will be generated in the same project directory, which may be used as the main project file going forward. We recommend backing up the V1 project file before converting the project.
**Enable Scene Change Detection**: Detect scene changes to prevent false positives when tracking. (Note: this option is slightly slower)
## Using VoTT
**Labels**: labels of the tagged regions (e.g. `Cat`, `Dog`, `Horse`, `Person`)<br>
### Creating Connections
4. Tag the video frame by frame
![](media/4_Tagging_Job.jpg)
VoTT is a 'Bring Your Own Data' (BYOD) application. In VoTT, connections are used to configure and manage source (the assets to label) and target (the location to which labels should be exported).
**Tagging**: click and drag a bounding box around the desired area, then move or resize the region until it fits the object
Connections can be set up and shared across projects. They use an extensible provider model, so new source/target providers can easily be added.
**Navigation**: users can navigate between video frames by using the ![prev-nxt](media/prev-next.png) buttons, the left/right arrow keys, or the video skip bar
- Tags are auto-saved each time a frame is changed
Currently, VoTT supports:
**Tracking**: new regions are tracked by default until a given scene changes.
- Since the [camshift algorithm](http://opencv.jp/opencv-1.0.0_org/docs/papers/camshift.pdf) has some known limitations, you can disable tracking for certain sets of frames. To toggle tracking *on* and *off* use the file menu setting, or the keyboard shortcut Ctrl/Cmd + T.
* [Azure Blob Storage](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction)
* [Bing Image Search](https://azure.microsoft.com/en-us/services/cognitive-services/bing-image-search-api/)
* Local File System
To create a new connection, click the `New Connections` (plug) icon, in the left hand navigation bar:
5. Export video Tags using the `Object Detection` Menu or Ctrl/Cmd + E
![alt text](docs/images/new-connection.jpg "New Connection")
![]( media/5_Export.jpg)
*Note on exporting: the tool reserves a random 20% sample of the tagged frames as a test set.*
Specify the following export configuration settings:
![]( media/5a_Export.jpg)
- **Export Format**: What framework to export to defaults to *CNTK*<br>
- **Export Frames Until**: how far into the video the export operation will proceed<br>
     - *Last Tagged Region*: exports frames up until the last frame containing tags
      - *Last Visited Frame*: exports frames up until the last frame that the user explicitly visited
      - *Last Frame*: exports all video frames<br>
- **Training Path/Key**: directory path for exporting training data or the custom vision service training key<br>
    
---
### Creating a New Project
## Tagging an Image Directory
Labeling workflows in VoTT revolve around projects - a collection of configurations and settings that persist.
1. Select the option to tag an image directory
Projects define source and target connections, and project metadata - including tags to be used when labeling source assets.
![](media/image-option.jpg)
As mentioned above, all projects require a source and target connection:
2. Load an image directory by selecting it.
* **Source Connection** - Where to pull assets from
* **Target Connection** - Where project files and exported data should be stored
![](media/2_load.jpg)
![alt text](docs/images/new-project.jpg "New Project")
3. Configure the tagging job and specify the settings in the screenshot below:
#### Project Settings
![](media/3_image_Job_Configuration.jpg)
Project settings can be modified after a project has been created, by clicking on the `Project Setting` (slider) icon in the left hand navigation bar. Project metrics, such as Visited Assets, Tagged Assets, and Average Tags Per Asset can also be viewed on this screen.
**Tagging Region Type**: type of bounding box for tagging regions<br>
- *Rectangle*: tag bounding boxes of any dimension
- *Square*: tag bounding boxes of auto-fixed dimensions
![alt text](docs/images/project-settings.jpg "Project Settings")
**Labels**: labels of the tagged regions (e.g. `Cat`, `Dog`, `Horse`, `Person`)<br>
#### Security Tokens
4. Tag each Image
![](media/4_image_Tagging_Job.jpg)
Some project settings can include sensitive values, such as API keys or other shared secrets. Each project will generate a security token that can be used to encrypt/decrypt sensitive project settings.
**Tagging**: click and drag a bounding box around the desired area, then move or resize the region until it fits the object
- Selected regions appear as red ![red](https://placehold.it/15/f03c15/000000?text=+) and unselected regions will appear as blue ![#1589F0](https://placehold.it/15/1589F0/000000?text=+).
- Assign a tag to a region by clicking on it and selecting the desired tag from the labeling toolbar at the bottom of the tagging control
- Click the ![cleartags](media/cleartags.png) button to clear all tags on a given frame
Security tokens can be found in `Application Settings` by clicking the gear icon in the lower corner of the left hand navigation bar.
**Navigation**: users can navigate between video frames by using the ![prev-nxt](media/prev-next.png) buttons, the left/right arrow keys, or the video skip bar
- Tags are auto-saved each time a frame is changed
**NOTE:** Project files can be shared among multiple people. In order to share sensitive project settings, *all parties must have/use the same security token.*
5. Export Image directory Tags using the Object Detection Menu or Ctrl/Cmd + E
The token name and key **must** match in order for sensitive values to be successfully decrypted.
![]( media/5_image_Export.jpg)
*Note on exporting: the tool reserves a random 20% sample of the tagged frames as a test set.*
Specify the following export configuration settings:
![]( media/5a_Export.jpg)
- **Export Format**: What framework to export to defaults to *CNTK*<br>
- **Export Frames Until**: how far into the video the export operation will proceed<br>
     - *Last Tagged Region*: exports frames up until the last frame containing tags
      - *Last Visited Frame*: exports frames up until the last frame that the user explicitly visited
      - *Last Frame*: exports all video frames<br>
- **Output directory**: directory path for exporting training data<br>
    
---
## Active Learning and Improving an Object Detection Model
![alt text](docs/images/security-tokens.jpg "Security Tokens")
There are two options to run a model for active learning within VoTT one is to use the local reviewer interface and the other is to provide an endpoint. Providing an endpoint reduces the amount of manual configuration work necessary to get your model running so this is the prefered method but for certain scenarios using the interface might still be relevant. Below is an example of both scenarios.
### Labeling an Image
### Remote Active learning using Docker
When a project is created or opened, the main tag editor window opens. The tag editor consists of three main parts:
1. Set up your own remote model endpoint locally or on Azure with docker [CNTK Example](https://github.com/User1m/vott-reviewer-ext)
2. Paste the review service endpoint to review your model.
* A resizeable preview pane that contains a scrollable list of images and videos, from the source connection
* The main editor pane that allows tags to be applied to drawn regions
* The tags editor pane that allows users to modify, lock, reorder, and delete tags
### Local Active Learning CNTK Example
1. Train model with [Object Detection using FasterRCNN](https://docs.microsoft.com/en-us/cognitive-toolkit/object-detection-using-faster-r-cnn#run-faster-r-cnn-on-your-own-data)<br>
2. Since CNTK does not embed the names of the classes in the model, on default, the module returns non descriptive names for the classes, e.g. "class_1", "class_2". To resolve this copy the `class_map.txt` file generated by the FASTER-RCNN tutorial to the same directory that contains your model.  
Selecting an image or video on the left will load that image in the main tag editor. Regions can then be drawn on the loaded asset and a tag can be applied.
3. Load a new asset that the model has not been trained on
4. Configure a new or load a previous tagging job
4. Apply model to new asset using Ctrl/Cmd + R
5. Specify a model path and temporary output directory<br>
![](media/6_Review.jpg)
6. When the model finishes processing, validate tags, re-export and retrain it
7. Repeat step 1 on new assets until the model performance is satisfactory
## Supporting additonal object detection Export and Review formats.
In the latest release we provide support for [Export and Review formats](https://github.com/CatalystCode/VOTT/tree/master/src/lib/detection_algorithms). To add a new object detection format, copy the interface folder and use the Yolo and CNTK implementations as reference.
## Keyboard Shortcuts
- Open Video: Ctrl + O
- Open Image Directory: Ctrl + I
- Save Tags: Ctrl + S
- Toggle Play/Pause: Space
- Toggle Tracking: Ctrl + T
- Toggle Exclusive Add Mode: Crtl + N *(For adding smaller regions inside of a large region)*
- Export Tags: Ctrl + E
- Active Learning: Ctrl + L
- Duplicate last frame regions: D
- Delete Frame: Shift + Del
- Open Developer Console: Ctrl + D
- Refresh App: Ctrl + Space
- Show Help: Ctrl + H
- Select All: Ctrl + (A or 1 on number pad)
- Cut: Ctrl + X
- Copy: Ctrl + C
- Paste: Ctrl + V
## Mouse Controls
As desired, repeat this process for any additional assets.
![alt text](docs/images/label-image.jpg "Image Tagging")
### Labeling a Video
Labeling a video is much like labeling a series of images. When a video is selected from the left, it will begin automatically playing, and there are several controls on the player, as seen here:
![alt text](docs/images/video-player.jpg "Video Player")
In addition to the normal video playback controls, there are two extra pairs of buttons.
On the left, there are the previous and next frame buttons. Clicking these will pause the video, and move to the next appropriate frame as determined by the project settings. For example, if the project settings have a frame extraction rate of 1, these buttons will cause the video to be moved back or forward 1 second, while if the frame extraction rate is 10, the video will be moved back or forward a tenth of a second.
On the right, there are the previous and next tagged frame buttons. Clicking these will pause the video and move to the next or previous frame that has a previously tagged region on it, if a tagged frame exists.
Colored lines will also be visible along the video's timeline. These indicate the video frames that have already been visited. A yellow line denotes a frame that has been visited only, while a green line denotes a frame that has been both visited and tagged. The colored lines can be clicked for quick navigation to the indicated frame.
The timeline can also be used to manually scrub through the video to an arbitrary point, though the project settings for frame extraction rate are always obeyed. Pausing the video will move to the closest frame according to this project setting. This way, a very low frame extraction rate, such as 1 frame per second, can be set for sections of the video known to contain few taggable items, and a much higher frame extraction rate, such as 30 frames per second, to allow fine-grained control.
Tagging and drawing regions is not possible while the video is playing.
### Exporting Labels
Once assets have been labeled, they can be exported into a variety of formats:
* [Azure Custom Vision Service](https://azure.microsoft.com/en-us/services/cognitive-services/custom-vision-service/)
* [Microsoft Cognitive Toolkit (CNTK)](https://github.com/Microsoft/CNTK)
* TensorFlow (Pascal VOC and TFRecords)
* VoTT (generic JSON schema)
* Comma Separated Values (CSV)
In addition, users may choose to export
* all assets
* only visited assets
* only tagged assets
Click on the `Export` (arrow) icon in the left hand navigation. Select the appropriate export provider and which assets to export. The percentage separated into testing and training sets can be adjusted here too.
![alt text](docs/images/export-labels.jpg "Export Labels")
### Keyboard Shortcuts
VoTT allows a number of keyboard shortcuts to make it easier to keep one hand on the mouse while tagging. It allows most common shortcuts:
* Ctrl or Cmd + C - copy
* Ctrl or Cmd + X - cut
* Ctrl or Cmd + V - paste
* Ctrl or Cmd + A - select all
* Ctrl or Cmd + Z - undo
* Ctrl or Cmd + Shift + Z - redo
#### Tag Ordering
Hotkeys of 1 through 0 are assigned to the first ten tags. These can be reordered by using the up/down arrow icons in in the tag editor pane.
#### Tag Locking
A tag can be locked for repeated tagging using the lock icon at the top of the tag editor pane. Tags can also be locked by combining Ctrl or Cmd and the tag hotkey, i.e. `Ctrl+2` would lock the second tag in the list.
![alt text](docs/images/reorder-tag.jpg "Tag Editor")
#### Editor Shortcuts
In addition, the editor page has some special shortcuts to select tagging tools:
* V - Pointer/Select
* R - Draw Rectangle
* P - Draw Polygon
* Ctrl or Cmd + S - Save Project
* Ctrl or Cmd + E - Export Project
- **Two-point mode:** Hold down Ctrl while creating a region
- **Square mode:** Hold down Shift while creating a region
- **Multi-select:** Hold down Shift while selecting regions
- **Exclusive Tracking mode:** Ctrl + N to block frame UI allowing a user to create a region on top of existing regions
## Region Manipulation with Arrow Keys
VOTT allows you to fine tune the bounding boxes using the arrow keys in a few different ways. While a region is selected:
* Ctrl + Arrowkey - Move Region
* Ctrl + Alt + Arrowkey - Shrink Region
* Ctrl + Shift + Arrowkey - Expand Region
- **Move region:** Hold Ctrl + Direction
- **Shrink region:** Hold Ctrl + Alt + Direction
- **Expand region:** Hold Ctrl + Shift + Direction
The slide viewer can be navigated from the keyboard as follows:
## Tagging Controls
* W or ArrowUp - Previous Asset
* S or ArrowDown - Next Asset
Use the number keys to quickly tag a selected region *(Only works for single digits 0-9)*
When the video playback bar is present, it allows the following shortcuts to select frames:
## Upcoming Features
* A or ArrowLeft - Previous Frame
* D or ArrowRight - Next Frame
* Q - Previous Tagged Frame
* E - Next Tagged Frame
- Tagging project management.
- Altenative Tracking algorithms such as optical flow.
- Classification Labeling Support.
- Segmentation Annotation support.
- Zoom in and out
#### Mouse Controls
---
* Two-point mode - Hold down Ctrl while creating a region
* Square mode - Hold down Shift while creating a region
* Multi-select - Hold down Shift while selecting regions
* Exclusive Tracking mode - Ctrl + N to block frame UI allowing a user to create a region on top of existing regions
## How to Contribute
## Release Process
You are welcome to send us any bugs you may find, suggestions, or any other comments.
![alt text](./docs/images/release-process.png "Create Release Process")
Before sending anything, please go over the repository issues list, just to make sure that it isn't already there.
For more details on github/web releases and versions -- please review our [release process document](./docs/RELEASE_GUIDE.md)
To build VoTT executable using command:
```
npm run release
```
For details on packaging executable for the release -- please review our [PACKAGING.md](./docs/PACKAGING.md)
## Collaborators
VoTT was originally developed by the [Commercial Software Engineering (CSE) group at Microsoft](https://www.microsoft.com/developerblog/) in Israel.
V2 is developed by the CSE group at Microsoft in Redmond, Washington.
## Contributing to VoTT
There are many ways to contribute to VoTT -- please review our [contribution guidelines](CONTRIBUTING.md).
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see
the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com)
with any additional questions or comments.
You are more than welcome to fork this repository and send us a pull request if you feel that what you've done should be included.
Arquivo binário não exibido.
Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 22 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 4.6 KiB

-37
Ver Arquivo
@@ -1,37 +0,0 @@
trigger:
- greenkeeper/* # enable CI to run on greenkeeper branches
- master # run build for every merge to master
pr:
- dev* # kick off for pr targeting dev or prefix dev
- master # trigger build for pr targeting master
variables:
- group: CODE_COV
jobs:
- job: Linux
pool:
vmImage: ubuntu-16.04
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
steps:
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
fetchDepth: 1 # the depth of commits to ask Git to fetch
- template: azure-pipelines/linux/continuous-build-linux.yml
- job: MacOS
pool:
vmImage: macOS-10.15
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
steps:
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
fetchDepth: 1 # the depth of commits to ask Git to fetch
- template: azure-pipelines/mac/continuous-build-mac.yml
- job: Windows
pool:
vmImage: "windows-2019"
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
steps:
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
fetchDepth: 1 # the depth of commits to ask Git to fetch
- template: azure-pipelines/windows/continuous-build-windows.yml
-33
Ver Arquivo
@@ -1,33 +0,0 @@
name: "GitHub & Web Release [$(SourceBranchName)] - $(Date:yyyyMMdd)$(Rev:.r)"
trigger: none # manual queue only when we're ready to release
pr: none # disable CI build for PR
variables:
azureSubscription: "pj-little-sub"
DEV_STORAGE_ACCOUNT: 'vottdev'
PROD_STORAGE_ACCOUNT: 'vott'
DEV_URL: "https://vottdev.z5.web.core.windows.net/"
PROD_URL: "https://vott.z22.web.core.windows.net/"
stages:
- stage: version_bump_commit
jobs:
- template: templates/npm-version-bump.yml
parameters:
versionType: $(NPM_VERSION_TYPE)
- stage: github_release
dependsOn: version_bump_commit
jobs:
- template: templates/create-github-release.yml
parameters:
GitHubConnection: 'GitHub connection' # defaults for any parameters that aren't specified
repositoryName: '$(Build.Repository.Name)' # microsoft/VoTT
isPreRelease: $(IS_PRERELEASE) # set when queuing build
isDraft: $(IS_DRAFT)
- stage: web_release
dependsOn: version_bump_commit
jobs:
- template: templates/create-web-release.yml
@@ -1,43 +0,0 @@
# Node.js with React
# Build a Node.js project that uses React.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
steps:
- bash: |
set -e
sudo apt-get update
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 libgconf-2-4 dbus xvfb libgtk-3-0
sudo cp azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
sudo chmod +x /etc/init.d/xvfb
sudo update-rc.d xvfb defaults
sudo service xvfb start
displayName: 'Install dependencies'
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- bash: |
set -e
export DISPLAY=:99.0
npm ci # do a clean install
npm run compile
npm run test:coverage # run tests and coverage
displayName: 'Run tests and coverage'
- bash: |
set -e
token=$(CODECOV_TOKEN)
if [[ -z "${token}" ]]; then
echo "Need to set CODECOV_TOKEN"
exit 1
fi
# https://docs.codecov.io/docs/about-the-codecov-bash-uploader
bash <(curl -s https://codecov.io/bash) -t ${token}
displayName: 'Upload coverage report'
-53
Ver Arquivo
@@ -1,53 +0,0 @@
#!/bin/bash
#
# /etc/rc.d/init.d/xvfbd
#
# chkconfig: 345 95 28
# description: Starts/Stops X Virtual Framebuffer server
# processname: Xvfb
#
### BEGIN INIT INFO
# Provides: xvfb
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start xvfb at boot time
# Description: Enable xvfb provided by daemon.
### END INIT INFO
[ "${NETWORKING}" = "no" ] && exit 0
PROG="/usr/bin/Xvfb"
PROG_OPTIONS=":10 -ac"
PROG_OUTPUT="/tmp/Xvfb.out"
case "$1" in
start)
echo "Starting : X Virtual Frame Buffer "
$PROG $PROG_OPTIONS>>$PROG_OUTPUT 2>&1 &
disown -ar
;;
stop)
echo "Shutting down : X Virtual Frame Buffer"
killproc $PROG
RETVAL=$?
[ $RETVAL -eq 0 ] && /bin/rm -f /var/lock/subsys/Xvfb
/var/run/Xvfb.pid
echo
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
;;
status)
status Xvfb
RETVAL=$?
;;
*)
echo $"Usage: $0 (start|stop|restart|reload|status)"
exit 1
esac
exit $RETVAL
-19
Ver Arquivo
@@ -1,19 +0,0 @@
# Node.js with React
# Build a Node.js project that uses React.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- bash: |
set -e
export DISPLAY=:99.0
npm ci # do a clean install
npm run compile
npm run test:ci # don't watch and just run all the tests
displayName: 'Run tests'
-30
Ver Arquivo
@@ -1,30 +0,0 @@
# https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops#job-templates-with-parameters
jobs:
- job: ${{ parameters.name }}
pool: ${{ parameters.pool }}
timeoutInMinutes: 15 # how long to run the job before automatically cancelling
steps:
- template: git-pull-current-branch.yml
- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: 10.x
- bash: |
set -ex
# clean install
npm ci
npm run release-ci
OS=${{ parameters.os }}
ARTIFACT_NAME=${{ parameters.artifact }}
mkdir -p ${OS}
cp releases/${ARTIFACT_NAME} ${OS}/
displayName: Build
- publish: $(System.DefaultWorkingDirectory)/${{ parameters.os }}
artifact: ${{ parameters.os }}
@@ -1,96 +0,0 @@
parameters:
GitHubConnection: '' # defaults for any parameters that aren't specified
repositoryName: ''
isPreRelease: false
isDraft: false
jobs:
- template: build-artifact.yml
parameters:
name: LinuxArtifact
pool:
vmImage: ubuntu-16.04
os: linux
artifact: vott*.snap
- template: build-artifact.yml
parameters:
name: WindowsArtifact
pool:
vmImage: "windows-2019"
os: windows
artifact: vott*.exe
- template: build-artifact.yml
parameters:
name: MacOSArtifact
pool:
vmImage: macOS-10.15
os: mac
artifact: vott*.dmg
- job: Create_Github_Release
timeoutInMinutes: 30 # timeout on job if deploy is not completed in 30 minutes
dependsOn:
- LinuxArtifact
- WindowsArtifact
- MacOSArtifact
pool:
vmImage: ubuntu-16.04
steps:
- download: current
- template: git-pull-current-branch.yml
- bash: |
set -e
echo
echo "======> Set commit sha"
COMMIT_SHA=$(git rev-parse --short HEAD)
echo "COMMIT SHA: $COMMIT_SHA"
echo "##vso[task.setvariable variable=COMMIT_SHA]$COMMIT_SHA"
###
# These variables were set in the "Version Bump" stage. There are
# currently no way to pass variables between stages, hence this workaround.
###
echo
echo "======> Set version variables"
CURRENT_VERSION=$(cat $(Pipeline.Workspace)/variables/CURRENT_VERSION)
echo "##vso[task.setvariable variable=CURRENT_VERSION]$CURRENT_VERSION"
NEXT_VERSION=$(cat $(Pipeline.Workspace)/variables/NEXT_VERSION)
echo "##vso[task.setvariable variable=NEXT_VERSION]$NEXT_VERSION"
displayName: "Set variables for release task"
- task: GitHubRelease@1
displayName: 'GitHub release (create)'
inputs:
gitHubConnection: ${{ parameters.GitHubConnection }}
repositoryName: '$(Build.Repository.Name)'
action: 'create'
target: '$(Build.SourceBranch)'
tagSource: 'userSpecifiedTag'
tag: $(NEXT_VERSION)
releaseNotesSource: 'inline'
releaseNotesInline: |
## Web Release
### Dev
$(DEV_URL)
### Prod
$(PROD_URL)
## Docs
https://github.com/Microsoft/VoTT/blob/$(Build.SourceBranch)/README.md
assets: |
../linux/*
../windows/*
../mac/*
isDraft: ${{ parameters.isDraft }}
isPreRelease: ${{ parameters.isPrelease }}
changeLogCompareToRelease: 'lastNonDraftReleaseByTag'
changeLogCompareToReleaseTag: $(CURRENT_VERSION)
changeLogType: 'commitBased'
@@ -1,56 +0,0 @@
jobs:
- job: "Web_Release"
pool:
vmImage: 'windows-latest'
steps:
- template: git-pull-current-branch.yml
- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: 10.x
- task: Npm@1
displayName: 'npm ci'
inputs:
command: custom
workingDir: .
verbose: false
customCommand: ci
- task: Bash@3
displayName: 'Create artifact'
inputs:
targetType: filePath
filePath: './scripts/generate-web-artifact.sh'
- task: AzureFileCopy@3
displayName: 'AzureBlob File Copy to $DEV_STORAGE_ACCOUNT'
inputs:
SourcePath: './build'
azureSubscription: $(azureSubscription)
destination: azureBlob
storage: $(DEV_STORAGE_ACCOUNT)
containerName: '$web'
- task: AzureFileCopy@3
displayName: 'AzureBlob File Copy to $PROD_STORAGE_ACCOUNT'
inputs:
SourcePath: './build'
azureSubscription: $(azureSubscription)
destination: azureBlob
storage: $(PROD_STORAGE_ACCOUNT)
containerName: '$web'
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
- bash: |
echo
echo "Dev url: $DEV_URL"
displayName: "Dev URL"
- bash: |
echo
echo "Prod url: $PROD_URL"
displayName: "Prod URL"
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
@@ -1,8 +0,0 @@
steps:
- task: Bash@3
displayName: 'Pull latest from branch'
inputs:
targetType: filePath
filePath: './scripts/git-pull-current-branch.sh'
env:
SOURCE_BRANCH: $(Build.SourceBranch)
@@ -1,60 +0,0 @@
parameters:
versionType: ''
jobs:
- job: "version_bump"
variables:
- group: GitHub-Deploy-Creds
timeoutInMinutes: 30 # timeout on job if deploy is not completed in 30 minutes
cancelTimeoutInMinutes: 1 # time limit to wait for job to cancel
pool:
vmImage: macOS-latest # ssh key was generated on a Mac so using the same type of OS here
steps:
- task: NodeTool@0
inputs:
versionSpec: 10.x
displayName: 'Install Node.js'
# Download secure file
# Download a secure file to the agent machine
- task: DownloadSecureFile@1
# name: sshKey # The name with which to reference the secure file's path on the agent, like $(mySecureFile.secureFilePath)
inputs:
secureFile: vott_id_rsa
# Install an SSH key prior to a build or deployment
- task: InstallSSHKey@0 # https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/install-ssh-key?view=azure-devops
inputs:
knownHostsEntry: $(KNOWN_HOSTS_ENTRY)
sshPublicKey: $(SSH_PUBLIC_KEY)
#sshPassphrase: # Optional
sshKeySecureFile: vott_id_rsa
env:
KNOWN_HOSTS_ENTRY: $(KNOWN_HOSTS_ENTRY)
SSH_PUBLIC_KEY: $(SSH_PUBLIC_KEY) # map to the right format (camelCase) that Azure credentials understand
- task: Bash@3
name: BumpNpmVersion
displayName: Bump NPM Version
inputs:
targetType: filePath
filePath: ./scripts/version-bump-commit.sh
arguments:
${{ parameters.versionType }}
env:
SOURCE_BRANCH: $(Build.SourceBranch)
- bash: |
printenv | sort
mkdir -p $(System.DefaultWorkingDirectory)/variables
echo "$NEXT_VERSION" > $(System.DefaultWorkingDirectory)/variables/NEXT_VERSION
echo "$CURRENT_VERSION" > $(System.DefaultWorkingDirectory)/variables/CURRENT_VERSION
displayName: "Prep variables for publishing"
# Publish the variables folder as pipeline artifact
- publish: $(System.DefaultWorkingDirectory)/variables
artifact: variables
-74
Ver Arquivo
@@ -1,74 +0,0 @@
name: $(Date:yyyyMMdd).$(Hours)$(Minutes)$(Seconds)
variables:
AZURE_STORAGE_ACCOUNT: vottv2
azureSubscription: 'pj-little-sub'
REPORT_URL: 'https://vottv2.z22.web.core.windows.net/'
trigger:
- dev*
- master
pr: none # disable CI build for PR
pool:
vmImage: 'Ubuntu-16.04'
steps:
- bash: |
set -e
COMMIT_SHA=`echo ${BUILD_SOURCEVERSION} | cut -c1-8`
echo "sha: " $COMMIT_SHA
# rewrite build number
echo "##vso[build.updatebuildnumber]Report-${COMMIT_SHA}-${BUILD_BUILDNUMBER}"
displayName: "Rewrite build number"
- bash: |
set -e
ACCOUNT=$(AZURE_STORAGE_ACCOUNT)
if [[ -z "${ACCOUNT}" ]]; then
echo "Need to set AZURE_STORAGE_ACCOUNT"
exit 1
fi
displayName: "Verify storage account cred exists"
- task: NodeTool@0
displayName: "Use Node 10.x"
inputs:
versionSpec: 10.x
- task: Npm@1
displayName: 'Run `npm ci`'
inputs:
command: custom
verbose: false
customCommand: ci
- task: AzureCLI@1
displayName: "Pull down old report and add updates"
inputs:
azureSubscription: $(azureSubscription)
scriptLocation: inlineScript
inlineScript: './scripts/update-report.sh'
- bash: |
set -e
cat /tmp/download.log
displayName: "print download log"
condition: succeededOrFailed()
- task: AzureFileCopy@3
displayName: 'AzureBlob File Copy to $(AZURE_STORAGE_ACCOUNT)'
inputs:
SourcePath: './report'
azureSubscription: $(azureSubscription)
destination: azureBlob
storage: $(AZURE_STORAGE_ACCOUNT)
containerName: '$web'
- bash: |
echo "See report: $(REPORT_URL) "
displayName: "Report URl"
@@ -1,20 +0,0 @@
# Node.js with React
# Build a Node.js project that uses React.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- bash: |
set -e
export DISPLAY=:99.0
npm ci # do a clean install
npm run compile
npm run test:ci # don't watch and just run all the tests
displayName: 'Run tests'
BIN
Ver Arquivo
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 50 KiB

BIN
Ver Arquivo
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 48 KiB

-1
Ver Arquivo
@@ -1 +0,0 @@
[{"name":"/m/01g317","id":1,"displayName":"person"},{"name":"/m/0199g","id":2,"displayName":"bicycle"},{"name":"/m/0k4j","id":3,"displayName":"car"},{"name":"/m/04_sv","id":4,"displayName":"motorcycle"},{"name":"/m/05czz6l","id":5,"displayName":"airplane"},{"name":"/m/01bjv","id":6,"displayName":"bus"},{"name":"/m/07jdr","id":7,"displayName":"train"},{"name":"/m/07r04","id":8,"displayName":"truck"},{"name":"/m/019jd","id":9,"displayName":"boat"},{"name":"/m/015qff","id":10,"displayName":"traffic light"},{"name":"/m/01pns0","id":11,"displayName":"fire hydrant"},{"name":"/m/02pv19","id":13,"displayName":"stop sign"},{"name":"/m/015qbp","id":14,"displayName":"parking meter"},{"name":"/m/0cvnqh","id":15,"displayName":"bench"},{"name":"/m/015p6","id":16,"displayName":"bird"},{"name":"/m/01yrx","id":17,"displayName":"cat"},{"name":"/m/0bt9lr","id":18,"displayName":"dog"},{"name":"/m/03k3r","id":19,"displayName":"horse"},{"name":"/m/07bgp","id":20,"displayName":"sheep"},{"name":"/m/01xq0k1","id":21,"displayName":"cow"},{"name":"/m/0bwd_0j","id":22,"displayName":"elephant"},{"name":"/m/01dws","id":23,"displayName":"bear"},{"name":"/m/0898b","id":24,"displayName":"zebra"},{"name":"/m/03bk1","id":25,"displayName":"giraffe"},{"name":"/m/01940j","id":27,"displayName":"backpack"},{"name":"/m/0hnnb","id":28,"displayName":"umbrella"},{"name":"/m/080hkjn","id":31,"displayName":"handbag"},{"name":"/m/01rkbr","id":32,"displayName":"tie"},{"name":"/m/01s55n","id":33,"displayName":"suitcase"},{"name":"/m/02wmf","id":34,"displayName":"frisbee"},{"name":"/m/071p9","id":35,"displayName":"skis"},{"name":"/m/06__v","id":36,"displayName":"snowboard"},{"name":"/m/018xm","id":37,"displayName":"sports ball"},{"name":"/m/02zt3","id":38,"displayName":"kite"},{"name":"/m/03g8mr","id":39,"displayName":"baseball bat"},{"name":"/m/03grzl","id":40,"displayName":"baseball glove"},{"name":"/m/06_fw","id":41,"displayName":"skateboard"},{"name":"/m/019w40","id":42,"displayName":"surfboard"},{"name":"/m/0dv9c","id":43,"displayName":"tennis racket"},{"name":"/m/04dr76w","id":44,"displayName":"bottle"},{"name":"/m/09tvcd","id":46,"displayName":"wine glass"},{"name":"/m/08gqpm","id":47,"displayName":"cup"},{"name":"/m/0dt3t","id":48,"displayName":"fork"},{"name":"/m/04ctx","id":49,"displayName":"knife"},{"name":"/m/0cmx8","id":50,"displayName":"spoon"},{"name":"/m/04kkgm","id":51,"displayName":"bowl"},{"name":"/m/09qck","id":52,"displayName":"banana"},{"name":"/m/014j1m","id":53,"displayName":"apple"},{"name":"/m/0l515","id":54,"displayName":"sandwich"},{"name":"/m/0cyhj_","id":55,"displayName":"orange"},{"name":"/m/0hkxq","id":56,"displayName":"broccoli"},{"name":"/m/0fj52s","id":57,"displayName":"carrot"},{"name":"/m/01b9xk","id":58,"displayName":"hot dog"},{"name":"/m/0663v","id":59,"displayName":"pizza"},{"name":"/m/0jy4k","id":60,"displayName":"donut"},{"name":"/m/0fszt","id":61,"displayName":"cake"},{"name":"/m/01mzpv","id":62,"displayName":"chair"},{"name":"/m/02crq1","id":63,"displayName":"couch"},{"name":"/m/03fp41","id":64,"displayName":"potted plant"},{"name":"/m/03ssj5","id":65,"displayName":"bed"},{"name":"/m/04bcr3","id":67,"displayName":"dining table"},{"name":"/m/09g1w","id":70,"displayName":"toilet"},{"name":"/m/07c52","id":72,"displayName":"tv"},{"name":"/m/01c648","id":73,"displayName":"laptop"},{"name":"/m/020lf","id":74,"displayName":"mouse"},{"name":"/m/0qjjc","id":75,"displayName":"remote"},{"name":"/m/01m2v","id":76,"displayName":"keyboard"},{"name":"/m/050k8","id":77,"displayName":"cell phone"},{"name":"/m/0fx9l","id":78,"displayName":"microwave"},{"name":"/m/029bxz","id":79,"displayName":"oven"},{"name":"/m/01k6s3","id":80,"displayName":"toaster"},{"name":"/m/0130jx","id":81,"displayName":"sink"},{"name":"/m/040b_t","id":82,"displayName":"refrigerator"},{"name":"/m/0bt_c3","id":84,"displayName":"book"},{"name":"/m/01x3z","id":85,"displayName":"clock"},{"name":"/m/02s195","id":86,"displayName":"vase"},{"name":"/m/01lsmm","id":87,"displayName":"scissors"},{"name":"/m/0kmg4","id":88,"displayName":"teddy bear"},{"name":"/m/03wvsk","id":89,"displayName":"hair drier"},{"name":"/m/012xff","id":90,"displayName":"toothbrush"}]
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
-32
Ver Arquivo
@@ -1,32 +0,0 @@
const path = require("path");
module.exports = {
node: {
__dirname: false,
},
target: "electron-main",
entry: "./src/electron/main.ts",
module: {
rules: [
{
test: /\.ts?$/,
use: [{
loader: "ts-loader",
options: {
compilerOptions: {
noEmit: false
}
}
}],
exclude: /node_modules/
}
]
},
resolve: {
extensions: [".ts", ".js"]
},
output: {
filename: "main.js",
path: path.resolve(__dirname, "../build")
}
};
-7
Ver Arquivo
@@ -1,7 +0,0 @@
const merge = require('webpack-merge')
const common = require('./webpack.common.js')
module.exports = merge(common, {
mode: 'development',
devtool: "inline-source-map",
})
-7
Ver Arquivo
@@ -1,7 +0,0 @@
const merge = require('webpack-merge')
const common = require('./webpack.common.js')
module.exports = merge(common, {
mode: 'production',
devtool: 'cheap-module-source-map',
})
-19
Ver Arquivo
@@ -1,19 +0,0 @@
# Overview of CI setup
## Issues found and solutions
### Environment variables in scripts sections is not cross-platform friendly
1. Option 1
* install `cross-env` npm package
* use `cross-env` in npm script
* https://github.com/facebook/create-react-app/issues/1137#issuecomment-279180815
1. Option 2
* add `--coverage` flag so test will run only once without needing to set `CI=true`
* no need for extra package, cross platform support
* https://github.com/facebook/create-react-app/issues/1137#issuecomment-279191193
### Logs are cut off on Windows agent when using shell
1. make sure to use Bash task and not shell
-39
Ver Arquivo
@@ -1,39 +0,0 @@
# Debugging Guide
## Electron Process
TODO: create a vscode launch.json configuration that attaches to the elctron process. https://stackoverflow.com/a/41073851
## Renderer Process
### Chrome Debugger
1. Start app: `npm run start`.
2. Open Chrome Dev Tools: `F12` in browser, `Ctrl + Shift + I` in electron.
3. Open `Sources` tab.
4. `Ctrl + Shift + F` and search for the file/function/code you would like to break into.
5. Place breakpoint.
6. Trigger breakpoint.
> Note: Reloading the page may be required if the code executes at startup.
### VSCode Debugger
1. Download & install the `Debugger for Chrome` VSCode plugin.
2. Start app: `npm run start`.
3. `F5`
4. Select `Chrome`
5. Change `http://localhost:8080` to `http://localhost:3000`
6. `F5`
7. Chrome should startup pointed at the app running at `http://localhost:3000`, and breakpoints in VSCode should work as expected.
## Unit Tests
### Happy Path
1. Download & install the `Jest` VSCode plugin.
2. Open the test's source file.
3. A `Debug` button should appear above every test. Place breakpoints, and click debug.
> Note: If this button does not appear, here are some troubleshooting steps...
> 1. `Ctrl + Shift + P` and select `Jest: Start Runner`.
> 2. Restarting VSCode.
### Alternate Proof
1. Download & install the `Jest` VSCode plugin.
2. Open the test's source file.
3. Place breakpoints.
4. Go to the Debug view, select the `Jest All` configuration.
5. `F5` or press the green play button.
6. Your breakpoint should now be hit.
-39
Ver Arquivo
@@ -1,39 +0,0 @@
# Order of Operation
## Command
```bash
npm run release
```
### Underneath the hood
1. Create the `react` bundle inside the `build` directory,
* have to run this first because it will override everything in the `build` directory;
* create `index.html` & `static/`
```bash
react-scripts build
```
1. Create `build/electron` directory and the entry point file `bundle.js`
```bash
webpack -p --config ./config/webpack.dev.config.js
```
1. Now you can build the os-specific executable
```bash
electron-builder
```
### Relevant files
1. `.env`
* environment variables use by `react-script` to generate the correct content for `build/index.html`
1. `electron-builder.yml`
* configuration for electron-builder
1. `package.json`
* dependencies and scripts
-46
Ver Arquivo
@@ -1,46 +0,0 @@
# Overview
We're using [es6-plato](https://github.com/the-simian/es6-plato) to analyze code complexity. VoTT first has to be transpiled to ES6, as es6-plato won't work direcly on TypeScript.
We're also using the [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) eslint plugin for React-specific linting rules.
## Coverage Reports
The [VoTT coverage report](https://vottv2.z5.web.core.windows.net/) is updated on each merged PR, to reflect complexity analysis over time.
### V1
For posterity, a copy of the [V1 coverage report](https://vottv1.z5.web.core.windows.net/) is also available. This report represents a snapshot of the v1 codebase (v1 branch) and can be generated by running:
```bash
git checkout v1
npm i plato --no-save
plato -r -d report -t 'VoTT v1 Complexity Analysis' -x 'public/js|test_|main.js' src
```
## Local development
1. The following command will generate a `report` directory.
```bash
npm run plato
```
2. Open `report/index.html` in your browser to see the report locally.
## Debugging
1. If `npm run plato` is not working for you, try running the script manually:
* Make sure you have `typescript` & `es6-plato` installed locally:
```bash
npm install -g typescript
npm install -g es6-plato
```
* Run following command from the root of the repository:
```bash
./scripts/generate-report.sh -o report -v $(node -pe "require('./package.json').version") -c $(git rev-parse --short HEAD)
```
-42
Ver Arquivo
@@ -1,42 +0,0 @@
## Available Scripts
In the project directory, you can run:
### `npm start`
Runs the app in the development mode.<br>
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
The page will reload if you make edits.<br>
You will also see any lint errors in the console.
### `npm test`
Launches the test runner in the interactive watch mode.<br>
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
### `npm run build`
Builds the app for production to the `build` folder.<br>
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.<br>
Your app is ready to be deployed!
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
### `npm run eject`
**Note: this is a one-way operation. Once you `eject`, you cant go back!**
If you arent satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point youre on your own.
You dont have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldnt feel obligated to use this feature. However we understand that this tool wouldnt be useful if you couldnt customize it when you are ready for it.
## Learn More
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
To learn React, check out the [React documentation](https://reactjs.org/).
-66
Ver Arquivo
@@ -1,66 +0,0 @@
# Overview
[![Build Status](https://dev.azure.com/msft-vott/VoTT/_apis/build/status/VoTT/Create%20Release?branchName=master)](https://dev.azure.com/msft-vott/VoTT/_build/latest?definitionId=55&branchName=master)
Instruction on how to create new GitHub & Web Releases.
## Release Process
![alt text](./images/release-process.png "Create Release Process")
### AzDO Tasks
[GitHub Release Task](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/GitHubReleaseV1)
[Azure File Copy](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureFileCopyV3)
## Versioning
Follow [NPM Semantic Versioning](https://docs.npmjs.com/about-semantic-versioning#incrementing-semantic-versions-in-published-packages)
| Code status | Stage | Rule | Example version |
| ----------------------------------------- | ------------- | ------------------------------------------------------------------ | --------------- |
| First release | New product | Start with 1.0.0 | 1.0.0 |
| Backward compatible bug fixes | Patch release | Increment the third digit | 1.0.1 |
| Backward compatible new features | Minor release | Increment the middle digit and reset last digit to zero | 1.1.0 |
| Changes that break backward compatibility | Major release | Increment the first digit and reset middle and last digits to zero | 2.0.0 |
### Commands
The pipeline use [npm-version](https://docs.npmjs.com/cli/version) to update version
#### Pre
All version with `pre`, ie. `preminor` will bump the appropriate didgit & append `-0` to the new version
Examples:
`npm version prepatch`
1. v2.3.0 --> v2.3.1-0
1. v2.3.1-0 --> v2.3.2-0
`npm version preminor`
1. v2.3.0 --> v2.4.0-0
1. v2.4.0-0 --> v2.5.0-0
##### Exception
`prerelease` behave similar to prepatch, but would increment the last digit.
Examples:
`npm version prerelease`
v2.3.0 --> v2.3.1-0
v2.3.0-0 --> v2.3.0-1
#### Major
v2.x.x --> v3.0.0
#### Minor
v2.2.0 --> v2.3.0
-16
Ver Arquivo
@@ -1,16 +0,0 @@
# Overview
We're using [EditorConfig](https://editorconfig.org/) to help maintain consistent coding styles
and also avoid unneccessary changes due to space/tab configuration.
## How to use
Some editors required installing additional plugin to work while others don't.
* Find your editor [here](https://editorconfig.org/).
### Editors that require plugins
* VsCode
* Notepad
* Sublime Text
Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 113 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 336 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 217 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 129 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 170 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 202 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 87 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 342 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 118 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 218 KiB

Arquivo binário não exibido.
-24
Ver Arquivo
@@ -1,24 +0,0 @@
# only use if package.json doesn't contain a "build"
directories:
output: releases
buildResources: app-icons # this is where app-icons is store
appId: com.microsoft.vott
artifactName: '${productName}-${version}-${platform}.${ext}'
extends: null # need this otherwise it won't use the entry point we set in "main" in package.json
files:
- filter:
- build/ # copy this directory to the asar directory that electron-builder use to look for the main entry file
mac:
icon: app-icons/icon.icns
target: dmg
identity: null # don't sign the app
win:
icon: app-icons/icon.ico
linux:
target:
- snap
publish: null
electronVersion: 3.0.13
extraFiles:
- "cocoSSDModel"
+331
Ver Arquivo
@@ -0,0 +1,331 @@
const electron = require('electron');
// Module to control application life.
const app = electron.app;
// Module to create native browser window.
const BrowserWindow = electron.BrowserWindow;
const windowStateKeeper = require('electron-window-state');
const path = require('path');
const url = require('url');
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow;
let ipcMain = require('electron').ipcMain;
function createWindow () {
let mainWindowState = windowStateKeeper({
defaultWidth: 800,
defaultHeight: 600
});
// Create the browser window.
mainWindow = new BrowserWindow({
width: mainWindowState.width,
height: mainWindowState.height,
x: 0,
y: 0,
minHeight: 480,
minWidth: 480,
icon: __dirname + '/src/public/images/icon.png',
show: false
});
mainWindowState.manage(mainWindow);
// and load the index.html of the app.
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'src/index.html'),
protocol: 'file:',
slashes: true
}));
ipcMain.on('setFilePath', function (event, arg) {
mainWindow.setRepresentedFilename(arg);
// opened a file, enabling save and export to CNTK menu items
let p = (process.platform === 'darwin') ? 1 : 0;
menu.items[p].submenu.items[1].enabled = true;
menu.items[p].submenu.items[2].enabled = true;
menu.items[p].submenu.items[3].enabled = true;
menu.items[p+1].submenu.items[0].enabled = true;
menu.items[p+1].submenu.items[1].enabled = true;
// menu.items[p+1].submenu.items[2].enabled = true;
});
// do this independently for each object
ipcMain.on('show-popup', function(event, arg) {
let popup = new BrowserWindow({
parent: mainWindow,
modal: true,
show: false,
frame: false,
autoHideMenuBar : true
});
switch (arg.type) {
case "export":
popup.setSize(359, 300);
popup.loadURL(url.format({
pathname: path.join(__dirname, 'src/public/html/export-configuration.html'),
protocol: 'file:',
slashes: true
}));
break;
case "review":
popup.setSize(359, 310);
popup.loadURL(url.format({
pathname: path.join(__dirname, 'src/public/html/review-configuration.html'),
protocol: 'file:',
slashes: true
}));
break;
case "review-endpoint":
popup.setSize(359, 150);
popup.loadURL(url.format({
pathname: path.join(__dirname, 'src/public/html/review-endpoint-configuration.html'),
protocol: 'file:',
slashes: true
}));
break;
case "help":
popup.setSize(500, 500);
popup.loadURL(url.format({
pathname: path.join(__dirname, 'src/public/html/help-configuration.html'),
protocol: 'file:',
slashes: true
}));
break;
default: return;
}
popup.once('ready-to-show', () => {
popup.send('configs', arg);
popup.show();
});
});
ipcMain.on('export-tags', (event, arg) => {
mainWindow.send('export-tags', arg);
});
ipcMain.on('review-model', (event, arg) => {
mainWindow.send('review-model', arg);
});
ipcMain.on('review-model-endpoint', (event, arg) => {
mainWindow.send('review-model-endpoint', arg);
});
mainWindow.on('ready-to-show', function() {
mainWindow.show();
mainWindow.focus();
});
// Emitted when the window is closed.
mainWindow.on('closed', function () {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
mainWindow = null;
});
const {app, Menu} = require('electron');
const template = [
{
label: 'File',
submenu: [
{
label: 'Open...',
accelerator: 'CmdOrCtrl+O',
click () { mainWindow.webContents.send('openVideo'); }
},
{
label: 'Open Image Directory...',
accelerator: 'CmdOrCtrl+I',
click () { mainWindow.webContents.send('openImageDirectory'); }
},
{
label: 'Open tfRecord Directory...',
accelerator: 'CmdOrCtrl+Space',
click () { mainWindow.webContents.send('openRecordDirectory'); }
},
{
label: 'Save',
accelerator: 'CmdOrCtrl+S',
enabled: false,
click () { mainWindow.webContents.send('saveVideo'); }
},
{
label: 'Toggle Tracking',
accelerator: 'CmdOrCtrl+T',
enabled: false,
click () { mainWindow.webContents.send('toggleTracking'); }
}
]
},
{
label: 'Object Detection',
submenu: [
{
label: 'Export Tags',
accelerator: 'CmdOrCtrl+E',
enabled: false,
click () { mainWindow.webContents.send('export'); }
},
{
label: 'Active Learning',
accelerator: 'CmdOrCtrl+L',
enabled: false,
click () { mainWindow.webContents.send('review'); }
}
]
},
{
label: "Edit",
submenu: [
{ label: "Undo", accelerator: "CmdOrCtrl+Z", selector: "undo:" },
{ label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" },
{ type: "separator" },
{ label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" },
{ label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" },
{ label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" },
{ label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" }
]
},
{
label: "Filters",
submenu: [
{
label: "Add filter",
submenu: [
{
label: "Invert filter",
selector: "invert:",
click () {
mainWindow.webContents.send('filter', 'invert_filter');
}
},
{
label: "Grayscale filter",
selector: "grayscale:",
click () {
mainWindow.webContents.send('filter', 'grayscale_filter');
}
}
]
},
{ type: "separator" },
{
label: "Reset filters",
selector: "resetFilters:",
click () {
mainWindow.webContents.send('filter', 'reset');
}
}
/* ,
{
label: "Increase Contrast",
selector: "contrast:",
click () { mainWindow.webContents.send('filter', 'contrast_filter');}
} */
]
},
{
label: 'Debug',
submenu: [
{
label: 'Developer Console',
accelerator: 'CmdOrCtrl+D',
click () { mainWindow.webContents.toggleDevTools(); }
},
{
label: 'Refresh App',
accelerator: 'CmdOrCtrl+R',
click () { mainWindow.reload(); }
}
]
},
{
label: 'Help',
submenu: [
{
label: 'Keyboard Shortcuts',
accelerator: 'CmdOrCtrl+H',
click () { mainWindow.webContents.send('help');}
}
]
}
]
if (process.platform === 'darwin') {
template.unshift({
label: app.getName(),
submenu: [
{
role: 'about'
},
{
type: 'separator'
},
{
type: 'separator'
},
{
role: 'hide'
},
{
role: 'hideothers'
},
{
role: 'unhide'
},
{
type: 'separator'
},
{
role: 'quit'
}
]
})
template[1].submenu.push();
template[2].submenu.push();
}
const menu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu);
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow);
// Quit when all windows are closed.
app.on('window-all-closed', function () {
// On OS X it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit()
}
});
app.on('activate', function () {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === null) {
createWindow()
}
});
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 16 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 59 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 48 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 40 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 148 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 148 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 138 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 137 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 20 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 20 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 451 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 69 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 36 KiB

BIN
Ver Arquivo
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 320 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 544 B

BIN
Ver Arquivo
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 305 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 33 KiB

+5584 -21046
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+57 -135
Ver Arquivo
@@ -1,139 +1,61 @@
{
"name": "vott",
"version": "2.2.0",
"author": {
"name": "Microsoft",
"url": "https://github.com/Microsoft/VoTT"
"name": "vott",
"version": "1.7.0",
"description": "An electron app for building end to end Object Detection Models with CNTK from Sample Videos.",
"main": "main.js",
"scripts": {
"start": "electron .",
"pretest": "eslint src/*.js src/lib",
"test": "jasmine",
"dist:winlinux": "build -wl --x64",
"dist:mac": "build -m --x64"
},
"repository": "https://github.com/Microsoft/VoTT",
"keywords": [
"Video-Tagging",
"CNTK",
"Deep-Learning",
"Object-Detection"
],
"readme": "README.md",
"author": "Microsoft",
"license": "MIT",
"devDependencies": {
"babel-eslint": "^10.0.1",
"bower": "^1.7.2",
"electron": "^3.0.10",
"electron-builder": "^20.38.2",
"electron-packager": "^12.2.0",
"eslint": "^5.9.0",
"eslint-config-strongloop": "^2.1.0",
"jasmine": "^3.3.0",
"jasmine-spec-reporter": "^4.2.1",
"spectron": "^5.0.0",
"spectron-fake-dialog": "0.0.1"
},
"build": {
"appId": "com.microsoft.vott",
"artifactName": "${productName}-${os}.${ext}",
"dmg": {
"icon": "build/icon.icns"
},
"description": "Visual Object Tagging Tool (VoTT) - an annotation and labeling tool for images and video.",
"homepage": "https://github.com/Microsoft/VoTT",
"repository": {
"type": "git",
"url": "https://github.com/Microsoft/VoTT.git"
},
"license": "MIT",
"private": true,
"main": "build/main.js",
"dependencies": {
"@azure/storage-blob": "^10.3.0",
"@tensorflow/tfjs": "^1.0.3",
"@types/snapsvg": "^0.4.35",
"axios": "^0.18.0",
"bootstrap": "^4.1.3",
"buffer-reverse": "^1.0.1",
"crypto-js": "^3.1.9-1",
"dotenv": "^7.0.0",
"express-request-id": "^1.4.1",
"google-protobuf": "^3.6.1",
"jpeg-js": "^0.3.4",
"json2csv": "^4.5.0",
"lodash": "^4.17.11",
"md5.js": "^1.3.5",
"node-fetch": "^2.3.0",
"node-int64": "^0.4.0",
"rc-align": "^2.4.5",
"rc-checkbox": "^2.1.6",
"rc-menu": "^7.4.21",
"rc-slider": "^8.6.7",
"react": "^16.7.0",
"react-appinsights": "^3.0.0-rc.5",
"react-color": "^2.17.0",
"react-dom": "^16.7.0",
"react-jsonschema-form": "^1.3.0",
"react-localization": "^1.0.13",
"react-modal": "^3.8.1",
"react-redux": "^5.1.1",
"react-router-dom": "^4.3.1",
"react-scripts": "2.1.1",
"react-split-pane": "^0.1.87",
"react-tag-input": "^6.1.0",
"react-toastify": "^4.5.2",
"react-virtualized": "^9.21.0",
"react-vis": "^1.11.6",
"reactstrap": "^6.5.0",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0",
"rimraf": "^2.6.2",
"shortid": "^2.2.14",
"video-react": "^0.13.2",
"vott-ct": "2.1.24",
"vott-react": "^0.2.10"
},
"scripts": {
"start": "nf start -p 3000",
"compile": "tsc",
"build": "react-scripts build",
"webpack:dev": "webpack --config ./config/webpack.dev.js",
"webpack:prod": "webpack -p --config ./config/webpack.prod.js",
"react-start": "react-scripts start",
"electron:run:dev": "npm run webpack:dev && electron . --remote-debugging-port=9223",
"electron:run:prod": "npm run webpack:prod && electron . --remote-debugging-port=9223",
"electron:start:dev": "npm run webpack:dev && npm run electron-start",
"electron:start:prod": "npm run webpack:prod && npm run electron-start",
"electron-start": "node src/electron/start",
"eject": "react-scripts eject",
"release-pr": "./scripts/release-pr.sh",
"release-web": "npm run build && npm run webpack:prod",
"release-ci": "bash ./scripts/build.sh",
"release": "npm run build && npm run webpack:prod && electron-builder",
"pretest": "./node_modules/.bin/tslint 'src/**/*.ts*'",
"lintfix": "./node_modules/.bin/tslint 'src/**/*.ts*' --fix",
"test": "react-scripts test --env=jsdom --silent",
"test:ci": "cross-env CI=true npm run test",
"test:coverage": "npm run test -- --coverage",
"plato": "scripts/generate-report.sh -o report -v $(node -pe \"require('./package.json').version\") -c $(git rev-parse --short HEAD)",
"postinstall": "electron-builder install-app-deps",
"predebug": "npm run build && npm run webpack:dev"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"@fortawesome/fontawesome-free": "^5.5.0",
"@types/axios": "^0.14.0",
"@types/dotenv": "^6.1.0",
"@types/enzyme": "^3.1.15",
"@types/jest": "23.3.9",
"@types/json2csv": "^4.4.0",
"@types/node": "10.12.7",
"@types/react": "16.7.6",
"@types/react-dom": "16.0.9",
"@types/react-jsonschema-form": "^1.0.12",
"@types/react-router-dom": "^4.3.1",
"@types/react-split-pane": "^0.1.67",
"@types/react-toastify": "^4.0.1",
"@types/reactstrap": "^6.4.3",
"@types/redux-logger": "^3.0.6",
"@types/redux-mock-store": "^1.0.0",
"cross-env": "^5.2.0",
"electron": "^3.0.13",
"electron-builder": "^22.6.0",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.7.0",
"foreman": "^3.0.1",
"jest-enzyme": "^7.0.1",
"jquery": "^3.3.1",
"mock-fs": "^4.13.0",
"node-sass": "^4.14.1",
"popper.js": "^1.14.6",
"redux-immutable-state-invariant": "^2.1.0",
"redux-logger": "^3.0.6",
"redux-mock-store": "^1.5.3",
"ts-loader": "^5.3.0",
"tslint": "^5.11.0",
"typescript": "^3.1.6",
"webpack": "^4.19.1",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.5"
},
"engines": {
"node": ">=10.14.2",
"npm": ">=6.4.1"
"win": {
"icon": "build/icon.ico"
}
},
"dependencies": {
"async": "^2.6.1",
"cntk-fastercnn": "^0.1.2",
"crypto-js": "^3.1.9-1",
"electron-window-state": "^4.0.2",
"reload": "^2.3.1",
"remote": "^0.2.6",
"replace": "^0.3.0",
"rimraf": "^2.6.2",
"send": "^0.16.2",
"tfrecord": "^0.2.0"
},
"eslintIgnore": [
"src/lib/detection_algorithms/detectionUtils.js"
]
}
Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 15 KiB

-41
Ver Arquivo
@@ -1,41 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<!--
manifest.json provides metadata used when your web app is added to the
homescreen on Android. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>Visual Object Tagging Tool (VoTT) v%REACT_APP_VERSION%</title>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
<div style="display: none;">VoTT v%REACT_APP_VERSION%, commit=%REACT_APP_COMMIT_SHA%</div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
-15
Ver Arquivo
@@ -1,15 +0,0 @@
{
"short_name": "VoTT",
"name": "Visual Object Tagging Tool",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
-1
Ver Arquivo
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512" fill="#7cbb00" stroke="#7cbb00">><path d="M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z"/></svg>

Antes

Largura:  |  Altura:  |  Tamanho: 663 B

-18
Ver Arquivo
@@ -1,18 +0,0 @@
#!/bin/bash
set -euo pipefail
# NOTE: this script should be ran from the root of the repository; the CWD should reflect this
VERSION=$(node -pe "require('./package.json').version")
COMMIT_SHA=$(git rev-parse --short HEAD)
NPM_BIN_DIR=$(npm bin)
echo "cwd=$(pwd)"
echo "version=${VERSION}"
echo "commit=${COMMIT_SHA}"
export REACT_APP_VERSION=${VERSION}
export REACT_APP_COMMIT_SHA=${COMMIT_SHA}
npx react-scripts build
npx webpack -p --config ./config/webpack.prod.js
npx electron-builder
-52
Ver Arquivo
@@ -1,52 +0,0 @@
const plato = require('es6-plato');
// parse command line args
const optionDefinitions = [
{ name: 'src', type: String, defaultValue: './es6-src/**' },
{ name: 'output', type: String, defaultValue: './report' },
{ name: 'version', type: String, defaultValue: '2.0.0' },
{ name: 'commit', type: String, defaultValue: '' }
]
const commandLineArgs = require('command-line-args');
const options = commandLineArgs(optionDefinitions)
// close(ish) eslint config for ES6 + React
let lintRules = {
extends: [
'eslint:recommended',
'plugin:react/recommended'
],
plugins: [
'react'
],
env: {
es6: true,
browser: true,
serviceworker: true
},
parserOptions: {
'ecmaVersion': 6,
'sourceType': 'module',
'ecmaFeatures': {
'jsx': true
}
},
rules: {
quotes: [2, 'double']
}
};
// exclude all tests, toolbar/mockFactory and localization
let exclude = /\.test|registerToolbar|en-us|es-cl|mockFactory/;
let complexityRules = {};
let platoArgs = {
title: `VoTT Complexity Analysis<br/>v${options.version}<br/>commit: ${options.commit}`,
exclude: exclude,
eslint: lintRules,
complexity: complexityRules
};
console.info(`Running complexity analysis on \`${options.src}\`, writing results to \`${options.output}\`...`);
plato.inspect(options.src, options.output, platoArgs);
-59
Ver Arquivo
@@ -1,59 +0,0 @@
#!/bin/bash
set -euo pipefail
# NOTE: To generate a changlelog, a git revision range is required. This can be commit SHAs,
# but for all links in the template to work, tags are expected. The CWD should be set to the
# root of the repository.
echo "cwd=$(pwd)"
PARAMS=""
while (( "$#" )); do
case "$1" in
-t|--to)
TO_COMMIT=$2
shift 2
;;
-f|--from)
FROM_COMMIT=$2
shift 2
;;
--) # end argument parsing
shift
break
;;
-*|--*=) # unsupported flags
echo "Error: Unsupported flag $1" >&2
exit 1
;;
*) # preserve positional arguments
PARAMS="$PARAMS $1"
shift
;;
esac
done
# set positional arguments in their proper place
eval set -- "$PARAMS"
BASE_GITHUB_URL=https://github.com/Microsoft/VoTT
RELEASE_DATE=$(date +"%m-%d-%Y")
TEMPLATE="# [${TO_COMMIT}](${BASE_GITHUB_URL}/compare/${FROM_COMMIT}...${TO_COMMIT}) (${RELEASE_DATE})\n[GitHub Release](${BASE_GITHUB_URL}/releases/tag/${TO_COMMIT})\n\n"
CL_START='<!-- cl-start -->'
# Grab all non-merge commits (from PRs). Current PR policy is squash and merge,
# using the fast-forward option, so merge commits *shouldn't* be present in the commit history.
COMMITS=$(git log --pretty=%s --no-merges ${FROM_COMMIT}..${TO_COMMIT})
echo "Generating changlog from ${FROM_COMMIT} to ${TO_COMMIT}..."
while read -r line;
do
echo "${line}"
TEMPLATE="${TEMPLATE}- ${line}\n"
done <<< "${COMMITS}"
# Attemped to use `sed` here, but between new lines and escape characters,
# quickly became untenable. Python, perl and a couple other solutions come to mind,
# but npm/JS are very xplat friendly and we're already using that tooling.
# sed -i -e "s/${CL_START}/${CL_START}\n${TEMPLATE}/" CHANGELOG.md
npm install replace-in-file --no-save
./node_modules/.bin/replace-in-file "${CL_START}" "$(echo -e ${CL_START}\\n\\n${TEMPLATE})" CHANGELOG.md
-63
Ver Arquivo
@@ -1,63 +0,0 @@
#!/bin/bash
set -euo pipefail
# -e: immediately exit if any command has a non-zero exit status
# -o: prevents errors in a pipeline from being masked
BASEDIR=$(dirname "$0")
ES6_SRC=$(pwd)/es6-src
PARAMS=""
while (( "$#" )); do
case "$1" in
-o|--output)
REPORT_DIR=$2
shift 2
;;
-v|--version)
VERSION=$2
shift 2
;;
-c|--commit)
COMMIT_SHA=$2
shift 2
;;
--) # end argument parsing
shift
break
;;
-*|--*=) # unsupported flags
echo "Error: Unsupported flag $1" >&2
exit 1
;;
*) # preserve positional arguments
PARAMS="$PARAMS $1"
shift
;;
esac
done
# set positional arguments in their proper place
eval set -- "$PARAMS"
echo "cwd=$(pwd)"
echo "basedir=${BASEDIR}"
echo "source=${ES6_SRC}"
echo "output=${REPORT_DIR}"
echo "version=${VERSION}"
echo "commit=${COMMIT_SHA}"
# these are just needed for the reports; just install ad-hoc and don't save to package.json
npm install es6-plato eslint-plugin-react command-line-args --no-save
echo
echo "------> Finish installing dependencies"
echo
echo "------> Transpile TS to ES6"
# we can't do complexity analysis on TypeScript directly; transpile to ES6
rm -rf ${ES6_SRC}
tsc --noEmit false --outDir ${ES6_SRC}
echo
echo "------> Running complexity analasis ..."
node ${BASEDIR}/complexity-analysis.js --src ${ES6_SRC} --output ${REPORT_DIR} --version ${VERSION} --commit ${COMMIT_SHA}
-17
Ver Arquivo
@@ -1,17 +0,0 @@
#!/bin/bash
set -euo pipefail
# NOTE: this script should be ran from the root of the repository; the CWD should reflect this
VERSION=$(node -pe "require('./package.json').version")
COMMIT_SHA=$(git rev-parse --short HEAD)
echo "cwd=$(pwd)"
echo "version=${VERSION}"
echo "commit=${COMMIT_SHA}"
# use by web pack
export REACT_APP_VERSION=${VERSION}
export REACT_APP_COMMIT_SHA=${COMMIT_SHA}
# npm install will be in a standalone task
npm run release-web
-10
Ver Arquivo
@@ -1,10 +0,0 @@
#!/bin/bash
set -euo pipefail
# Get full branch name excluding refs/head from the env var SOURCE_BRANCH
SOURCE_BRANCH_NAME=${SOURCE_BRANCH/refs\/heads\/}
echo "SOURCE_BRANCH: ${SOURCE_BRANCH_NAME}"
git pull origin ${SOURCE_BRANCH_NAME}
git checkout ${SOURCE_BRANCH_NAME}
echo "Checked out branch: ${SOURCE_BRANCH_NAME}"
-61
Ver Arquivo
@@ -1,61 +0,0 @@
#!/bin/bash
set -euo pipefail
PARAMS=""
while (( "$#" )); do
case "$1" in
-p|--previous)
PREVIOUS_VERSION=$2
shift 2
;;
-n|--new)
NEW_VERSION=$2
shift 2
;;
--) # end argument parsing
shift
break
;;
-*|--*=) # unsupported flags
echo "Error: Unsupported flag $1" >&2
exit 1
;;
*) # preserve positional arguments
PARAMS="$PARAMS $1"
shift
;;
esac
done
# set positional arguments in their proper place
eval set -- "$PARAMS"
BASEDIR=$(dirname "$0")
PROMPT=$(echo -e "This will create changes to open a release PR for VoTT v${NEW_VERSION}?\nNOTE: a clean working git directory is required.\nDo you want to continue? [Y/n] ")
RELEASE_BRANCH=release-${NEW_VERSION}
read -p "${PROMPT}" -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
echo "cwd=$(pwd)"
echo "basedir=${BASEDIR}"
echo "version=${NEW_VERSION}"
# get the latest from v2, create a release branch
git checkout master
git pull
git checkout -b ${RELEASE_BRANCH}
echo "Creating local tag ${NEW_VERSION}"
git tag -a ${NEW_VERSION} -m "VoTT v${NEW_VERSION}"
# update package.json version and the changelog
npm install json --no-save
# NOTE: at some point, we need to move to `npm version` and do all of this via build system
./node_modules/.bin/json -I -f package.json -4 -e "this.version=\"${NEW_VERSION}\""
./node_modules/.bin/json -I -f package-lock.json -4 -e "this.version=\"${NEW_VERSION}\""
${BASEDIR}/generate-changelog.sh --from ${PREVIOUS_VERSION} --to ${NEW_VERSION}
git commit -am "ci: update package version and changelog for ${NEW_VERSION} release"
git push -u origin ${RELEASE_BRANCH}
# remove the local tag, used for the changelog
echo "Deleting local tag ${NEW_VERSION}"
git tag -d ${NEW_VERSION}
fi
-25
Ver Arquivo
@@ -1,25 +0,0 @@
#!/bin/bash
set -eou pipefail
# NOTE: this script should be ran from the root of the repository; the CWD should reflect this
BASEDIR=$(dirname "$0")
REPORT_DIR=$(pwd)/report
VERSION=$(node -pe "require('./package.json').version")
COMMIT_SHA=$(git rev-parse --short HEAD)
echo "cwd=$(pwd)"
echo "basedir=${BASEDIR}"
echo "reportdir=${REPORT_DIR}"
echo "version=${VERSION}"
echo "commit=${COMMIT_SHA}"
# This script appends code complexity reports over time. Given the amount of files, report files
# are now stored on Azure Blob Storage. It's the source of truth - we download the current report,
# run complexity analysis again, then push everything back to blob.
rm -rf ${REPORT_DIR}
mkdir -p ${REPORT_DIR}
#NOTE: be sure to set AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_KEY environment variables
az storage blob download-batch --no-progress -d report -s '$web' > /tmp/download.log
${BASEDIR}/generate-report.sh -o ${REPORT_DIR} -v ${VERSION} -c ${COMMIT_SHA}

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais