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

[Dependent] Simple Review Pipeline (Client) #2357

Merged
merged 123 commits into from
Dec 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
6b6ecec
tmp
bsekachev Oct 19, 2020
8c410ca
Removed migration
bsekachev Oct 19, 2020
5c48c35
Rebased
bsekachev Oct 19, 2020
e5a546a
Added signals & rating
bsekachev Oct 19, 2020
23614c9
Updated API views
bsekachev Oct 19, 2020
792afe2
Added reviewer serializer
bsekachev Oct 19, 2020
fbeaf00
Added permissions
bsekachev Oct 21, 2020
6fae70a
Fixed some code issues
bsekachev Oct 21, 2020
4b22095
Fixed swagger docs
bsekachev Oct 21, 2020
a7c2e6a
Some fixes
bsekachev Oct 21, 2020
289921e
Updated api method to create review
bsekachev Oct 21, 2020
b29c775
Added some API tests & some fixes
bsekachev Oct 21, 2020
4e453cb
Added some tests
bsekachev Oct 26, 2020
d5b3b94
Removed extra code
bsekachev Oct 26, 2020
419cda0
cvat-core, basic review view
bsekachev Oct 26, 2020
015bd2a
Removed extra components
bsekachev Oct 26, 2020
2d9254d
Fixed context menu
bsekachev Oct 26, 2020
dc4d749
Added api method to canvas, removed extra files
bsekachev Oct 27, 2020
fa49df6
Implemented roi selection
bsekachev Oct 27, 2020
5d61954
Added method to display rois on canvas
bsekachev Oct 27, 2020
d365743
Updated README.md
bsekachev Oct 27, 2020
9cdca78
Create issue dialog, some fixes
bsekachev Oct 27, 2020
d6b696e
Merged develop
bsekachev Oct 28, 2020
9acce82
Setup chat dialog windows
bsekachev Oct 28, 2020
f7cf54d
Code refactoring
bsekachev Oct 28, 2020
16ba53d
Merge branch 'develop' into bs/review_pipeline
bsekachev Oct 28, 2020
39aac44
Some fixes
bsekachev Oct 28, 2020
cabe0d8
Small enhancement
bsekachev Oct 28, 2020
fb4fd2f
Fixed core tests, removed extra code
bsekachev Oct 29, 2020
63e2614
Merge branch 'develop' into bs/review_pipeline_2
bsekachev Oct 29, 2020
402fba0
A couple of fixes on canvas
bsekachev Oct 29, 2020
8fdcf77
Canvas issues highlighting
bsekachev Oct 29, 2020
147c3a7
Small UX fix
bsekachev Oct 29, 2020
851dcd3
Fixed width of chat
bsekachev Oct 29, 2020
1f5cee0
Code refactoring
bsekachev Oct 29, 2020
95b5cf0
Added dialogs & review summary
bsekachev Nov 1, 2020
78a69b7
Fixed tests
bsekachev Nov 1, 2020
4c239b8
Merged develop
bsekachev Nov 1, 2020
1d7ab90
Fixed bug during rendering
bsekachev Nov 1, 2020
7e27d0d
Applied changes from client part
bsekachev Nov 1, 2020
827e5e3
Fixed bugs in tests
bsekachev Nov 2, 2020
105317e
Added docs & setup plugins in cvat-core
bsekachev Nov 2, 2020
b5138a5
Aborted cypress changes
bsekachev Nov 2, 2020
be435af
Fixed comments
bsekachev Nov 2, 2020
a2f2427
Merge branch 'develop' into bs/review_pipeline
bsekachev Nov 2, 2020
36459a4
Removed extra change
bsekachev Nov 2, 2020
d6a3248
Merged server part
bsekachev Nov 2, 2020
5c67c0d
Renamed fields
bsekachev Nov 2, 2020
9849b5b
Updated versions, fixed some comments
bsekachev Nov 9, 2020
92a99f8
Merged develop
bsekachev Nov 12, 2020
49ff857
Merged develop
bsekachev Nov 12, 2020
322e60d
Merged develop
bsekachev Nov 12, 2020
e6c1206
Merged develop
bsekachev Nov 12, 2020
cdfdf4d
Removed extra changes
bsekachev Nov 12, 2020
e1da609
Removed extra changes
bsekachev Nov 12, 2020
b035dc3
Fixed tests
bsekachev Nov 12, 2020
6147869
Merged server part
bsekachev Nov 12, 2020
b3776ee
Fixed scale & animation
bsekachev Nov 12, 2020
90cb140
Using hull instead of the whole set of points
bsekachev Nov 12, 2020
1eaaa1e
Fixed minor issue
bsekachev Nov 12, 2020
dcb2269
Added additional logic to improve UX
bsekachev Nov 12, 2020
17169be
Updated task instance after review submitting
bsekachev Nov 12, 2020
58a1410
Removed extra dependenci from package lock
bsekachev Nov 14, 2020
91e355e
Fixed REST API test
bsekachev Nov 16, 2020
d259573
Merge branch 'develop' into bs/review_pipeline
bsekachev Nov 18, 2020
87a2586
Merged sever part
bsekachev Nov 18, 2020
ec74ce3
Removed /comments/<id> [PUT]
bsekachev Nov 18, 2020
3fba002
/issue/comments/create [POST] -> /comments [POST]
bsekachev Nov 18, 2020
d895699
/job/<id>/reviews/create [POST] -> /reviews [POST]
bsekachev Nov 18, 2020
44c0ec2
[PATCH] /issue/<id>/resolve(reopen) -> [PATCH] /issue/id
bsekachev Nov 18, 2020
71e1a69
Minor fix
bsekachev Nov 18, 2020
453a057
Merged bs/review_pipeline
bsekachev Nov 18, 2020
bcc551c
Updated till the latest REST APi
bsekachev Nov 18, 2020
6391ff3
Fixed test
bsekachev Nov 18, 2020
6e09135
Reviewed review summary
bsekachev Nov 18, 2020
adaab22
Merge branch 'bs/review_pipeline' into bs/review_pipeline_2
bsekachev Nov 18, 2020
e390240
Review summary client-side
bsekachev Nov 18, 2020
43e8d8d
Removed unused import
bsekachev Nov 18, 2020
548a49b
Merge branch 'bs/review_pipeline' into bs/review_pipeline_2
bsekachev Nov 18, 2020
20652d0
Checking permissions client side
bsekachev Nov 18, 2020
2bcbb84
Checking job permissions
bsekachev Nov 18, 2020
ce9f644
Merge branch 'bs/review_pipeline' into bs/review_pipeline_2
bsekachev Nov 18, 2020
0b05782
UP issue dialog onmouseout
bsekachev Nov 18, 2020
68ccc78
Added shadow & pressenter event
bsekachev Nov 19, 2020
a253813
Added ref initial value
bsekachev Nov 19, 2020
fba3f09
Merged develop
bsekachev Nov 19, 2020
66781eb
Using the same box shadow in the whole project
bsekachev Nov 19, 2020
f70a56c
Removed extra files in the patch
bsekachev Nov 19, 2020
98c5635
Removed extra files in the patch
bsekachev Nov 19, 2020
e9f0db3
Updated versions
bsekachev Nov 19, 2020
0bab35a
Updated changelog
bsekachev Nov 19, 2020
a4b3b52
Merge branch 'develop' into bs/review_pipeline_2
bsekachev Nov 19, 2020
c06f3e1
Fixed merge issue
bsekachev Nov 19, 2020
18c1147
Set updated flag on changing a reviewer
bsekachev Nov 19, 2020
8e4c0b2
Fixed submit review modal
bsekachev Nov 19, 2020
bf09b1d
Two minor issue fixed
bsekachev Nov 23, 2020
85012f6
Searching issues & additional sidebar tab
bsekachev Nov 23, 2020
f439b5c
Show text for locked objects
bsekachev Nov 24, 2020
ae82d61
Fixed permissions for reviewers
bsekachev Nov 24, 2020
69a04e2
Merge branch 'bs/review_pipeline' into bs/review_pipeline_2
bsekachev Nov 24, 2020
1f2690d
Merged develop
bsekachev Nov 24, 2020
e0d455e
Merge branch 'develop' into bs/review_pipeline
bsekachev Nov 24, 2020
ca52ef0
Fixed typos
bsekachev Nov 24, 2020
13f0eb6
Merge branch 'bs/review_pipeline' into bs/review_pipeline_2
bsekachev Nov 24, 2020
1e83d57
Fixed review request/submit actions, added action to finish a job
bsekachev Nov 25, 2020
2bf2c08
Star rating instead
bsekachev Nov 25, 2020
254ca87
Merged develop
bsekachev Nov 25, 2020
2e6be31
Merged review pipeline
bsekachev Nov 25, 2020
396fca4
Fixed migration
bsekachev Nov 25, 2020
c0c0c88
Removed animation, updated blur/highlight behaviour, updated hiddel l…
bsekachev Nov 26, 2020
ca391e8
Hide/show issues button, adjusted header
bsekachev Nov 27, 2020
3cdaf1e
Merge branch 'develop' into bs/review_pipeline
bsekachev Nov 27, 2020
c21a957
Context menu & buttons
bsekachev Nov 27, 2020
8de3bab
Merged develop
bsekachev Nov 27, 2020
c620370
Removed ability to select an object in region selector
bsekachev Nov 27, 2020
665cb7f
Do not show issues in AAM & tag annotation
bsekachev Nov 27, 2020
d8d3bf7
Fixed jest tests
bsekachev Nov 27, 2020
fedd92f
Merge branch 'develop' into bs/review_pipeline_2
bsekachev Nov 30, 2020
5ab55ed
Fixed: cannot read property label of undefined
bsekachev Nov 30, 2020
4ee7e23
Getting hull before creating the issue
bsekachev Nov 30, 2020
c56300a
Added ability to leave quick comment one of latest
bsekachev Nov 30, 2020
ef89bfb
Merged develop
bsekachev Nov 30, 2020
b0ee025
Merge remote-tracking branch 'origin/develop' into bs/review_pipeline_2
Dec 1, 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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Manual review pipeline: issues/comments/workspace (<https://github.com/openvinotoolkit/cvat/pull/2357>)
- Added basic projects implementation (<https://github.com/openvinotoolkit/cvat/pull/2255>)

### Changed
Expand Down
67 changes: 40 additions & 27 deletions cvat-canvas/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,13 @@ Canvas itself handles:
IDLE = 'idle',
DRAG = 'drag',
RESIZE = 'resize',
INTERACT = 'interact',
DRAW = 'draw',
EDIT = 'edit',
MERGE = 'merge',
SPLIT = 'split',
GROUP = 'group',
INTERACT = 'interact',
SELECT_ROI = 'select_roi',
DRAG_CANVAS = 'drag_canvas',
ZOOM_CANVAS = 'zoom_canvas',
}
Expand Down Expand Up @@ -111,30 +112,33 @@ Canvas itself handles:

interface Canvas {
html(): HTMLDivElement;
setZLayer(zLayer: number | null): void;
setup(frameData: any, objectStates: any[]): void;
activate(clientID: number, attributeID?: number): void;
rotate(frameAngle: number): void;
setup(frameData: any, objectStates: any[], zLayer?: number): void;
setupReviewROIs(reviewROIs: Record<number, number[]>): void;
activate(clientID: number | null, attributeID?: number): void;
rotate(rotationAngle: number): void;
focus(clientID: number, padding?: number): void;
fit(): void;
grid(stepX: number, stepY: number): void;

draw(drawData: DrawData): void;
interact(interactionData: InteractionData): void;
draw(drawData: DrawData): void;
group(groupData: GroupData): void;
split(splitData: SplitData): void;
merge(mergeData: MergeData): void;
select(objectState: any): void;

fitCanvas(): void;
bitmap(enabled: boolean): void;
bitmap(enable: boolean): void;
selectROI(enable: boolean): void;
dragCanvas(enable: boolean): void;
zoomCanvas(enable: boolean): void;

mode(): Mode;
cancel(): void;
configure(configuration: Configuration): void;
isAbleToChangeFrame(): boolean;

readonly geometry: Geometry;
}
```

Expand All @@ -147,11 +151,14 @@ Canvas itself handles:
`cvat_canvas_shape_merging`,
`cvat_canvas_shape_drawing`,
`cvat_canvas_shape_occluded`
- Drawn review ROIs have an id `cvat_canvas_issue_region_{issue.id}`
- Drawn review roi has the class `cvat_canvas_issue_region`
- Drawn texts have the class `cvat_canvas_text`
- Tags have the class `cvat_canvas_tag`
- Canvas image has ID `cvat_canvas_image`
- Grid on the canvas has ID `cvat_canvas_grid` and `cvat_canvas_grid_pattern`
- Crosshair during a draw has class `cvat_canvas_crosshair`
- To stick something to a specific position you can use an element with id `cvat_canvas_attachment_board`

### Events

Expand All @@ -178,6 +185,7 @@ Standard JS events are used.
- canvas.zoom
- canvas.fit
- canvas.dragshape => {id: number}
- canvas.roiselected => {points: number[]}
- canvas.resizeshape => {id: number}
- canvas.contextmenu => { mouseEvent: MouseEvent, objectState: ObjectState, pointID: number }
```
Expand Down Expand Up @@ -205,28 +213,33 @@ canvas.draw({
});
```

<!--lint disable maximum-line-length-->

## API Reaction

| | IDLE | GROUP | SPLIT | DRAW | MERGE | EDIT | DRAG | RESIZE | ZOOM_CANVAS | DRAG_CANVAS | INTERACT |
| ------------ | ---- | ----- | ----- | ---- | ----- | ---- | ---- | ------ | ----------- | ----------- | -------- |
| setup() | + | + | + | +/- | + | +/- | +/- | +/- | + | + | + |
| activate() | + | - | - | - | - | - | - | - | - | - | - |
| rotate() | + | + | + | + | + | + | + | + | + | + | + |
| focus() | + | + | + | + | + | + | + | + | + | + | + |
| fit() | + | + | + | + | + | + | + | + | + | + | + |
| grid() | + | + | + | + | + | + | + | + | + | + | + |
| draw() | + | - | - | + | - | - | - | - | - | - | - |
| interact() | + | - | - | - | - | - | - | - | - | - | + |
| split() | + | - | + | - | - | - | - | - | - | - | - |
| group() | + | + | - | - | - | - | - | - | - | - | - |
| merge() | + | - | - | - | + | - | - | - | - | - | - |
| fitCanvas() | + | + | + | + | + | + | + | + | + | + | + |
| dragCanvas() | + | - | - | - | - | - | + | - | - | + | - |
| zoomCanvas() | + | - | - | - | - | - | - | + | + | - | - |
| cancel() | - | + | + | + | + | + | + | + | + | + | + |
| configure() | + | + | + | + | + | + | + | + | + | + | + |
| bitmap() | + | + | + | + | + | + | + | + | + | + | + |
| setZLayer() | + | + | + | + | + | + | + | + | + | + | + |
| | IDLE | GROUP | SPLIT | DRAW | MERGE | EDIT | DRAG | RESIZE | ZOOM_CANVAS | DRAG_CANVAS | INTERACT |
| ----------------- | ---- | ----- | ----- | ---- | ----- | ---- | ---- | ------ | ----------- | ----------- | -------- |
| setup() | + | + | + | +/- | + | +/- | +/- | +/- | + | + | + |
| activate() | + | - | - | - | - | - | - | - | - | - | - |
| rotate() | + | + | + | + | + | + | + | + | + | + | + |
| focus() | + | + | + | + | + | + | + | + | + | + | + |
| fit() | + | + | + | + | + | + | + | + | + | + | + |
| grid() | + | + | + | + | + | + | + | + | + | + | + |
| draw() | + | - | - | + | - | - | - | - | - | - | - |
| interact() | + | - | - | - | - | - | - | - | - | - | + |
| split() | + | - | + | - | - | - | - | - | - | - | - |
| group() | + | + | - | - | - | - | - | - | - | - | - |
| merge() | + | - | - | - | + | - | - | - | - | - | - |
| fitCanvas() | + | + | + | + | + | + | + | + | + | + | + |
| dragCanvas() | + | - | - | - | - | - | + | - | - | + | - |
| zoomCanvas() | + | - | - | - | - | - | - | + | + | - | - |
| cancel() | - | + | + | + | + | + | + | + | + | + | + |
| configure() | + | + | + | + | + | + | + | + | + | + | + |
| bitmap() | + | + | + | + | + | + | + | + | + | + | + |
| setZLayer() | + | + | + | + | + | + | + | + | + | + | + |
| setupReviewROIs() | + | + | + | + | + | + | + | + | + | + | + |

<!--lint enable maximum-line-length-->

You can call setup() during editing, dragging, and resizing only to update objects, not to change a frame.
You can change frame during draw only when you do not redraw an existing object
Expand Down
2 changes: 1 addition & 1 deletion cvat-canvas/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cvat-canvas/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cvat-canvas",
"version": "2.1.3",
"version": "2.2.0",
"description": "Part of Computer Vision Annotation Tool which presents its canvas library",
"main": "src/canvas.ts",
"scripts": {
Expand Down
26 changes: 26 additions & 0 deletions cvat-canvas/src/scss/canvas.scss
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,23 @@ polyline.cvat_shape_drawing_opacity {
fill: darkmagenta;
}

.cvat_canvas_shape_region_selection {
@extend .cvat_shape_action_dasharray;
@extend .cvat_shape_action_opacity;

fill: white;
stroke: white;
}

.cvat_canvas_issue_region {
display: none;
stroke-width: 0;
}

circle.cvat_canvas_issue_region {
opacity: 1 !important;
}

polyline.cvat_canvas_shape_grouping {
@extend .cvat_shape_action_dasharray;
@extend .cvat_shape_action_opacity;
Expand Down Expand Up @@ -258,6 +275,15 @@ polyline.cvat_canvas_shape_splitting {
height: 100%;
}

#cvat_canvas_attachment_board {
position: absolute;
z-index: 4;
pointer-events: none;
width: 100%;
height: 100%;
user-select: none;
}

@keyframes loadingAnimation {
0% {
stroke-dashoffset: 1;
Expand Down
17 changes: 17 additions & 0 deletions cvat-canvas/src/typescript/canvas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
RectDrawingMethod,
CuboidDrawingMethod,
Configuration,
Geometry,
} from './canvasModel';
import { Master } from './master';
import { CanvasController, CanvasControllerImpl } from './canvasController';
Expand All @@ -28,6 +29,7 @@ const CanvasVersion = pjson.version;
interface Canvas {
html(): HTMLDivElement;
setup(frameData: any, objectStates: any[], zLayer?: number): void;
setupIssueRegions(issueRegions: Record<number, number[]>): void;
activate(clientID: number | null, attributeID?: number): void;
rotate(rotationAngle: number): void;
focus(clientID: number, padding?: number): void;
Expand All @@ -43,13 +45,16 @@ interface Canvas {

fitCanvas(): void;
bitmap(enable: boolean): void;
selectRegion(enable: boolean): void;
dragCanvas(enable: boolean): void;
zoomCanvas(enable: boolean): void;

mode(): Mode;
cancel(): void;
configure(configuration: Configuration): void;
isAbleToChangeFrame(): boolean;

readonly geometry: Geometry;
}

class CanvasImpl implements Canvas {
Expand All @@ -71,6 +76,10 @@ class CanvasImpl implements Canvas {
this.model.setup(frameData, objectStates, zLayer);
}

public setupIssueRegions(issueRegions: Record<number, number[]>): void {
this.model.setupIssueRegions(issueRegions);
}

public fitCanvas(): void {
this.model.fitCanvas(this.view.html().clientWidth, this.view.html().clientHeight);
}
Expand All @@ -79,6 +88,10 @@ class CanvasImpl implements Canvas {
this.model.bitmap(enable);
}

public selectRegion(enable: boolean): void {
this.model.selectRegion(enable);
}

public dragCanvas(enable: boolean): void {
this.model.dragCanvas(enable);
}
Expand Down Expand Up @@ -146,6 +159,10 @@ class CanvasImpl implements Canvas {
public isAbleToChangeFrame(): boolean {
return this.model.isAbleToChangeFrame();
}

public get geometry(): Geometry {
return this.model.geometry;
}
}

export {
Expand Down
16 changes: 16 additions & 0 deletions cvat-canvas/src/typescript/canvasController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ import {
GroupData,
Mode,
InteractionData,
Configuration,
} from './canvasModel';

export interface CanvasController {
readonly objects: any[];
readonly issueRegions: Record<number, number[]>;
readonly zLayer: number | null;
readonly focusData: FocusData;
readonly activeElement: ActiveElement;
Expand All @@ -27,6 +29,7 @@ export interface CanvasController {
readonly splitData: SplitData;
readonly groupData: GroupData;
readonly selected: any;
readonly configuration: Configuration;
mode: Mode;
geometry: Geometry;

Expand All @@ -36,6 +39,7 @@ export interface CanvasController {
merge(mergeData: MergeData): void;
split(splitData: SplitData): void;
group(groupData: GroupData): void;
selectRegion(enabled: boolean): void;
enableDrag(x: number, y: number): void;
drag(x: number, y: number): void;
disableDrag(): void;
Expand Down Expand Up @@ -103,6 +107,10 @@ export class CanvasControllerImpl implements CanvasController {
this.model.group(groupData);
}

public selectRegion(enable: boolean): void {
this.model.selectRegion(enable);
}

public get geometry(): Geometry {
return this.model.geometry;
}
Expand All @@ -115,6 +123,10 @@ export class CanvasControllerImpl implements CanvasController {
return this.model.zLayer;
}

public get issueRegions(): Record<number, number[]> {
return this.model.issueRegions;
}

public get objects(): any[] {
return this.model.objects;
}
Expand Down Expand Up @@ -151,6 +163,10 @@ export class CanvasControllerImpl implements CanvasController {
return this.model.selected;
}

public get configuration(): Configuration {
return this.model.configuration;
}

public set mode(value: Mode) {
this.model.mode = value;
}
Expand Down
Loading