Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Az/update data streaming #1324

Merged
merged 60 commits into from
Mar 27, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
26da003
Merge pull request #468 from opencv/hotfix-0.4.2
nmanovic Jun 4, 2019
52c9b5f
Changed version number (0, 5, 'final', 0).
Sep 10, 2019
0967a74
Updated changelog file.
Sep 10, 2019
fda7c1a
fixed default attribute values for tracked shapes (#703)
azhavoro Sep 10, 2019
242b3df
Release 0.5.0
nmanovic Sep 12, 2019
eacfab7
Updated CHANGELOG with information about Zenodo
Oct 17, 2019
69bc32b
Updated CHANGELOG with information about Zenodo (#777)
nmanovic Oct 17, 2019
87a74a7
Updated version of the project.
Oct 17, 2019
0913abf
Merge pull request #778 from opencv/hotfix-0.5.1
nmanovic Oct 17, 2019
9124584
Hotfix: fixed skikit-image version (#965)
bsekachev Dec 16, 2019
42aad8b
Increased CVAT version (0.5.2)
Dec 16, 2019
965ff77
wip
ActiveChooN Mar 12, 2020
8bf647b
Release 0.6.0 (#1238)
nmanovic Mar 15, 2020
4d0c225
temp
ActiveChooN Mar 16, 2020
b0dbbb3
Merge branch 'develop' into dk/point-deletion
ActiveChooN Mar 18, 2020
936d305
[Datumaro] Fix frame matching in video annotations import (#1274)
zhiltsov-max Mar 18, 2020
9545132
[Datumaro] Allow empty COCO dataset export (#1272)
zhiltsov-max Mar 18, 2020
08688b0
[Datumaro] Fix occluded and z_order attributes export (#1271)
zhiltsov-max Mar 18, 2020
731b896
Fix LabelMe format (#1260)
zhiltsov-max Mar 18, 2020
845be3b
Added point deletion context menu
ActiveChooN Mar 18, 2020
bfd3000
React UI: Added logging (#1288)
bsekachev Mar 19, 2020
1408443
OpenVino 2020 (#1269)
benhoff Mar 20, 2020
1c1ab6a
fixed point context menu for rectangles
ActiveChooN Mar 20, 2020
7e7a5a6
Merge branch 'develop' into dk/point-deletion
ActiveChooN Mar 20, 2020
8efaf58
Add recursive importers (#1290)
zhiltsov-max Mar 20, 2020
0744c6a
[Datumaro] MOT format (#1289)
zhiltsov-max Mar 20, 2020
c91e895
[Datumaro] LabelMe format (#1293)
zhiltsov-max Mar 20, 2020
fe862b4
[Datumaro] Update LabelMe format (#1296)
zhiltsov-max Mar 20, 2020
feebec2
Release v0.6.1 (#1267)
nmanovic Mar 21, 2020
267c765
Add information about v0.6.1 release.
Mar 21, 2020
9ef89c7
Merge branch 'master' into develop
Mar 21, 2020
7960447
React UI: Better exception handling (#1297)
bsekachev Mar 23, 2020
56f58b6
Fixed context menu on ubuntu
ActiveChooN Mar 23, 2020
8aaa4d2
Fixed deleting of the latest point
bsekachev Mar 23, 2020
56c6f11
Merge pull request #1304 from opencv/bs/delete_points_fix
ActiveChooN Mar 23, 2020
c11cc64
fixes
ActiveChooN Mar 23, 2020
4f20f46
Fix attributes with spaces in names (#1305)
zhiltsov-max Mar 24, 2020
3c128b2
fixed PR
ActiveChooN Mar 24, 2020
03817f0
[Datumaro] Fix image merging (#1301)
zhiltsov-max Mar 24, 2020
57e8083
Merge pull request #1292 from opencv/dk/point-deletion
ActiveChooN Mar 24, 2020
4eeb94d
Validation for frame input value
bsekachev Mar 24, 2020
e55deb7
Fixed UI fail when write characters in auto save interval input
bsekachev Mar 24, 2020
b12ae34
Fixed input numbers in player settings
bsekachev Mar 24, 2020
d789087
Fixed ui failing in propagate confirmation
bsekachev Mar 24, 2020
eeee914
Fixed latest input numbers, removed extra code, fixed typings
bsekachev Mar 24, 2020
ef11ca4
Fix navigation
bsekachev Mar 24, 2020
472d317
Added undopoint in editing
bsekachev Mar 24, 2020
b700719
Fixed: Could not receive frame (after merge on the latest frame)
bsekachev Mar 24, 2020
71d0bb5
Removed extra action dispatching
bsekachev Mar 24, 2020
1806c99
Which -> button property
bsekachev Mar 25, 2020
3f4d6fc
Merge pull request #1314 from opencv/bs/batch_of_fixes
ActiveChooN Mar 25, 2020
62cd4ec
Fixed: Inconsistent labels between UI and CLI/API
bsekachev Mar 25, 2020
73a7a7f
Fixed resize on right mouse button
bsekachev Mar 25, 2020
5e2f2ec
Fixed create object URL after first save, fixed URL itself
bsekachev Mar 25, 2020
c55cbde
Undo/redo returns frame where was a change (as it was done in previou…
bsekachev Mar 25, 2020
e478637
Fixed unit tests
bsekachev Mar 25, 2020
6a4ccde
[Datumaro] Extract common extractor functionality (#1319)
zhiltsov-max Mar 26, 2020
76d0c6b
Merge pull request #1318 from opencv/bs/batch_of_fixes
ActiveChooN Mar 26, 2020
ecad023
Fix AWS deployment (#1316)
nmanovic Mar 26, 2020
ccc0f93
Merge remote-tracking branch 'origin/develop' into az/data_chunk_stre…
Mar 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions Dockerfile.ui
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ ENV TERM=xterm \
http_proxy=${http_proxy} \
https_proxy=${https_proxy} \
no_proxy=${no_proxy} \
socks_proxy=${socks_proxy}

ENV LANG='C.UTF-8' \
socks_proxy=${socks_proxy} \
LANG='C.UTF-8' \
LC_ALL='C.UTF-8'

# Install dependencies
Expand Down
25 changes: 24 additions & 1 deletion cvat-canvas/src/typescript/canvasView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,27 @@ export class CanvasViewImpl implements CanvasView, Listener {
e.preventDefault();
}

function contextmenuHandler(e: MouseEvent): void {
const pointID = Array.prototype.indexOf
.call(((e.target as HTMLElement).parentElement as HTMLElement).children, e.target);
if (self.activeElement.clientID !== null) {
const [state] = self.controller.objects
.filter((_state: any): boolean => (
_state.clientID === self.activeElement.clientID
));
self.canvas.dispatchEvent(new CustomEvent('point.contextmenu', {
bubbles: false,
cancelable: true,
detail: {
mouseEvent: e,
objectState: state,
pointID,
},
}));
}
e.preventDefault();
}

if (value) {
(shape as any).selectize(value, {
deepSelect: true,
Expand All @@ -478,6 +499,7 @@ export class CanvasViewImpl implements CanvasView, Listener {
});

circle.on('dblclick', dblClickHandler);
circle.on('contextmenu', contextmenuHandler);
circle.addClass('cvat_canvas_selected_point');
});

Expand All @@ -487,6 +509,7 @@ export class CanvasViewImpl implements CanvasView, Listener {
});

circle.off('dblclick', dblClickHandler);
circle.off('contextmenu', contextmenuHandler);
circle.removeClass('cvat_canvas_selected_point');
});

Expand Down Expand Up @@ -911,7 +934,7 @@ export class CanvasViewImpl implements CanvasView, Listener {
this.activate(activeElement);
}

if (state.points
if (state.points.length !== drawnState.points.length || state.points
.some((p: number, id: number): boolean => p !== drawnState.points[id])
) {
const translatedPoints: number[] = translate(state.points);
Expand Down
10 changes: 8 additions & 2 deletions cvat-canvas/src/typescript/editHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,15 +96,21 @@ export class EditHandlerImpl implements EditHandler {
let mouseY: number | null = null;

this.canvas.on('mousedown.edit', (e: MouseEvent): void => {
if (e.which === 1) {
if (e.button === 0) {
mouseX = e.clientX;
mouseY = e.clientY;
} else if (e.button === 2 && this.editLine) {
if (this.editData.state.shapeType === 'points'
|| this.editLine.attr('points').split(' ').length > 2
) {
(this.editLine as any).draw('undo');
}
}
});

this.canvas.on('mouseup.edit', (e: MouseEvent): void => {
const threshold = 10; // px
if (e.which === 1) {
if (e.button === 0) {
if (Math.sqrt( // l2 distance < threshold
((mouseX - e.clientX) ** 2)
+ ((mouseY - e.clientY) ** 2),
Expand Down
5 changes: 5 additions & 0 deletions cvat-canvas/src/typescript/svg.patch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,11 @@ SVG.Element.prototype.resize = function constructor(...args: any): any {
if (!handler) {
originalResize.call(this, ...args);
handler = this.remember('_resizeHandler');
handler.resize = function(e: any) {
if (e.detail.event.button === 0) {
return handler.constructor.prototype.resize.call(this, e);
}
}
handler.update = function(e: any) {
this.m = this.el.node.getScreenCTM().inverse();
return handler.constructor.prototype.update.call(this, e);
Expand Down
13 changes: 8 additions & 5 deletions cvat-core/src/annotations-collection.js
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@

// Push outside shape after each annotation shape
// Any not outside shape rewrites it
if (!((object.frame + 1) in keyframes)) {
if (!((object.frame + 1) in keyframes) && object.frame + 1 <= this.stopFrame) {
keyframes[object.frame + 1] = JSON
.parse(JSON.stringify(keyframes[object.frame]));
keyframes[object.frame + 1].outside = true;
Expand Down Expand Up @@ -427,7 +427,10 @@
for (const object of objectsForMerge) {
object.removed = true;
}
}, [...objectsForMerge.map((object) => object.clientID), trackModel.clientID]);
}, [
...objectsForMerge
.map((object) => object.clientID), trackModel.clientID,
], objectStates[0].frame);
}

split(objectState, frame) {
Expand Down Expand Up @@ -522,7 +525,7 @@
object.removed = true;
prevTrack.removed = false;
nextTrack.removed = false;
}, [object.clientID, prevTrack.clientID, nextTrack.clientID]);
}, [object.clientID, prevTrack.clientID, nextTrack.clientID], frame);
}

group(objectStates, reset) {
Expand Down Expand Up @@ -554,7 +557,7 @@
objectsForGroup.forEach((object, idx) => {
object.group = redoGroups[idx];
});
}, objectsForGroup.map((object) => object.clientID));
}, objectsForGroup.map((object) => object.clientID), objectStates[0].frame);

return groupIdx;
}
Expand Down Expand Up @@ -790,7 +793,7 @@
importedArray.forEach((object) => {
object.removed = false;
});
}, importedArray.map((object) => object.clientID));
}, importedArray.map((object) => object.clientID), objectStates[0].frame);
}

select(objectStates, x, y) {
Expand Down
7 changes: 4 additions & 3 deletions cvat-core/src/annotations-history.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,18 @@ class AnnotationHistory {

get() {
return {
undo: this._undo.map((undo) => undo.action),
redo: this._redo.map((redo) => redo.action),
undo: this._undo.map((undo) => [undo.action, undo.frame]),
redo: this._redo.map((redo) => [redo.action, redo.frame]),
};
}

do(action, undo, redo, clientIDs) {
do(action, undo, redo, clientIDs, frame) {
const actionItem = {
clientIDs,
action,
undo,
redo,
frame,
};

this._undo = this._undo.slice(-MAX_HISTORY_LENGTH + 1);
Expand Down
Loading