diff --git a/apps/frontend/README.md b/apps/frontend/README.md index c3b823d66..ecb4c9431 100644 --- a/apps/frontend/README.md +++ b/apps/frontend/README.md @@ -8,7 +8,7 @@ search labelu in [Test Pypi](https://test.pypi.org/), to find the right version ```bash # change version '0.1.220' to the version you need. -pip install -i https://test.pypi.org/simple/ labelu==0.1.220 +pip install -i https://test.pypi.org/simple/ labelu==1.0.6a5 labelu --help labelu --port 8000 ``` @@ -24,4 +24,4 @@ vim vite.config.js npm run start open http://localhost:3000/ -``` \ No newline at end of file +``` diff --git a/apps/frontend/package.json b/apps/frontend/package.json index 5a64b6043..ace53090d 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -1,17 +1,17 @@ { "name": "@labelu/frontend", - "version": "5.2.1", + "version": "5.3.0-alpha.5", "private": true, "dependencies": { "@ant-design/icons": "^4.6.2", - "@labelu/audio-annotator-react": "1.5.2", - "@labelu/components-react": "1.4.2", - "@labelu/image": "1.1.0", + "@labelu/audio-annotator-react": "1.5.3-alpha.1", + "@labelu/components-react": "1.4.3-alpha.1", + "@labelu/image": "1.1.1-alpha.4", "@labelu/formatter": "1.0.2", - "@labelu/image-annotator-react": "2.1.1", + "@labelu/image-annotator-react": "2.1.2-alpha.5", "@labelu/interface": "1.3.1", - "@labelu/video-annotator-react": "1.3.4", - "@labelu/video-react": "1.3.3", + "@labelu/video-annotator-react": "1.3.5-alpha.1", + "@labelu/video-react": "1.3.4-alpha.1", "@tanstack/react-query": "^5.0.0", "antd": "5.10.1", "axios": "^1.3.4", diff --git a/apps/frontend/src/assets/svg/mineru.svg b/apps/frontend/src/assets/svg/mineru.svg new file mode 100644 index 000000000..053679aba --- /dev/null +++ b/apps/frontend/src/assets/svg/mineru.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/frontend/src/components/AppPanel/index.tsx b/apps/frontend/src/components/AppPanel/index.tsx index 500d49d34..7ebf38c0e 100644 --- a/apps/frontend/src/components/AppPanel/index.tsx +++ b/apps/frontend/src/components/AppPanel/index.tsx @@ -3,7 +3,7 @@ import { Avatar } from 'antd'; import _ from 'lodash'; import { ReactComponent as LabelLLM } from '@/assets/svg/labelllm.svg'; -import { ReactComponent as MinorU } from '@/assets/svg/minoru.svg'; +import { ReactComponent as MinerU } from '@/assets/svg/mineru.svg'; import { ReactComponent as OpenDataLab } from '@/assets/svg/opendatalab.svg'; import styles from './index.module.css'; @@ -43,7 +43,7 @@ const apps = [ { name: 'Github', link: 'https://github.com/opendatalab/MinerU' }, { name: '在线体验', link: 'https://opendatalab.com/OpenSourceTools/Extractor/PDF' }, ], - icon: , + icon: , description: '一站式开源高质量数据提取工具,支持多格式(PDF/网页/电子书),智能萃取,生成高质量语料', }, ]; diff --git a/apps/frontend/vite.config.ts b/apps/frontend/vite.config.ts index 84b0d2f48..c07fa0266 100644 --- a/apps/frontend/vite.config.ts +++ b/apps/frontend/vite.config.ts @@ -19,7 +19,7 @@ export default defineConfig({ host: '0.0.0.0', proxy: { '/api': { - target: isOnline ? 'https://labelu.shlab.tech' : 'http://127.0.0.1:8000', + target: 'https://labelu.shlab.tech', changeOrigin: true, }, }, diff --git a/package.json b/package.json index 0a732c7c3..aa0da7923 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "packages/*", "apps/*" ], - "version": "5.2.1", + "version": "5.3.0-alpha.5", "scripts": { "prepare": "husky install", "build": "pnpm --filter @labelu/utils --filter @labelu/interface --filter @labelu/formatter --filter @labelu/image --filter @labelu/components-react --filter @labelu/image-annotator-react --filter @labelu/audio-react --filter @labelu/video-react --filter @labelu/audio-annotator-react --filter @labelu/video-annotator-react build", @@ -44,7 +44,7 @@ "devDependencies": { "@commitlint/cli": "8.3.5", "@commitlint/config-conventional": "8.3.4", - "@manypkg/get-packages": "^2.1.0", + "@manypkg/get-packages": "^2.2.2", "@octokit/rest": "^19.0.7", "@semantic-release/commit-analyzer": "^9.0.2", "@semantic-release/git": "^10.0.1", @@ -100,4 +100,4 @@ "gauge": "^2.7.4", "react-ace": "^10.1.0" } -} \ No newline at end of file +} diff --git a/packages/audio-annotator-react/package.json b/packages/audio-annotator-react/package.json index 2b54f5a5f..10ab3fa74 100644 --- a/packages/audio-annotator-react/package.json +++ b/packages/audio-annotator-react/package.json @@ -1,6 +1,6 @@ { "name": "@labelu/audio-annotator-react", - "version": "1.5.2", + "version": "1.5.3-alpha.1", "description": "audio annotator for react", "main": "./dist/index.mjs", "module": "./dist/index.mjs", @@ -29,9 +29,9 @@ ], "dependencies": { "lodash.clonedeep": "^4.5.0", - "@labelu/components-react": "1.4.2", + "@labelu/components-react": "1.4.3-alpha.1", "@labelu/interface": "1.3.1", - "@labelu/audio-react": "1.3.3", + "@labelu/audio-react": "1.3.4-alpha.1", "polished": "^4.2.2", "react-hotkeys-hook": "^4.4.1", "styled-components": "^5.3.6" diff --git a/packages/audio-react/package.json b/packages/audio-react/package.json index 111f43bb2..d1430e5cb 100644 --- a/packages/audio-react/package.json +++ b/packages/audio-react/package.json @@ -1,6 +1,6 @@ { "name": "@labelu/audio-react", - "version": "1.3.3", + "version": "1.3.4-alpha.1", "description": "labelu audio annotation component for react", "main": "./dist/index.mjs", "module": "./dist/index.mjs", @@ -41,7 +41,7 @@ "vite-tsconfig-paths": "^3.5.0" }, "dependencies": { - "@labelu/components-react": "1.4.2", + "@labelu/components-react": "1.4.3-alpha.1", "polished": "^4.2.2", "react-hotkeys-hook": "^4.4.1", "styled-components": "^5.3.6", diff --git a/packages/components-react/package.json b/packages/components-react/package.json index 4b2668462..7a61d6d53 100644 --- a/packages/components-react/package.json +++ b/packages/components-react/package.json @@ -1,6 +1,6 @@ { "name": "@labelu/components-react", - "version": "1.4.2", + "version": "1.4.3-alpha.1", "description": "basic react components for labelU", "main": "./dist/index.mjs", "module": "./dist/index.mjs", diff --git a/packages/image-annotator-react/package.json b/packages/image-annotator-react/package.json index ff9491768..5b6fffa87 100644 --- a/packages/image-annotator-react/package.json +++ b/packages/image-annotator-react/package.json @@ -1,6 +1,6 @@ { "name": "@labelu/image-annotator-react", - "version": "2.1.1", + "version": "2.1.2-alpha.5", "description": "image annotator for react", "main": "./dist/index.mjs", "module": "./dist/index.mjs", @@ -29,8 +29,8 @@ "react" ], "dependencies": { - "@labelu/components-react": "1.4.2", - "@labelu/image": "1.1.0", + "@labelu/components-react": "1.4.3-alpha.1", + "@labelu/image": "1.1.1-alpha.4", "@labelu/interface": "1.3.1", "lodash.clonedeep": "^4.5.0", "polished": "^4.2.2", diff --git a/packages/image-annotator-react/readme.md b/packages/image-annotator-react/readme.md index c7597a8c6..17209c40e 100644 --- a/packages/image-annotator-react/readme.md +++ b/packages/image-annotator-react/readme.md @@ -1,4 +1,4 @@ -# @labelu/video-annotator-react +# @labelu/image-annotator-react [![npm](https://img.shields.io/npm/v/%40labelu/image-annotator-react.svg)](https://www.npmjs.com/package/@labelu/image-annotator-react) diff --git a/packages/image-annotator-react/src/ImageAnnotator.tsx b/packages/image-annotator-react/src/ImageAnnotator.tsx index ece81d77f..5a8fc9ef9 100644 --- a/packages/image-annotator-react/src/ImageAnnotator.tsx +++ b/packages/image-annotator-react/src/ImageAnnotator.tsx @@ -376,6 +376,10 @@ function ForwardAnnotator( imageAnnotations![toolName]!.push(_item as AnnotationDataInUI); } }); + + Object.keys(imageAnnotations).forEach((key) => { + engine?.loadData(key as ToolName, imageAnnotations[key as ToolName] as AnnotationToolData); + }); }, [engine], ); @@ -415,6 +419,8 @@ function ForwardAnnotator( onUndo: onRedoUndo, }); + console.log('annotationsWithGlobal', annotationsWithGlobal); + const onAnnotationClear = useCallback(() => { engine?.clearData(); updateAnnotationsWithGlobal(() => { diff --git a/packages/image/README.md b/packages/image/README.md index f86be3b2a..a41655043 100644 --- a/packages/image/README.md +++ b/packages/image/README.md @@ -4,7 +4,7 @@ Image annotation engine for LabelU -Try it out at [opendatalab.github.io/labelU-Kit/](https://opendatalab.github.io/labelU-Kit/image) +Try it out at [opendatalab.github.io/labelU-Kit/](https://opendatalab.github.io/labelU-Kit/#/image) ## Usage diff --git a/packages/image/example/package.json b/packages/image/example/package.json index 3a2884f7f..a13262980 100644 --- a/packages/image/example/package.json +++ b/packages/image/example/package.json @@ -9,12 +9,13 @@ "author": "", "license": "ISC", "devDependencies": { - "typescript": "4.8.4", + "@labelu/image": "^1.1.0", "@types/react": "^18.2.21", "@types/react-dom": "^18.2.7", "@vitejs/plugin-react": "^4.0.4", "react": "^18.2.0", "react-dom": "^18.2.0", + "typescript": "4.8.4", "vite": "^4.4.9" }, "dependencies": { diff --git a/packages/image/example/readme.md b/packages/image/example/readme.md index 9742af8f0..ba241f734 100644 --- a/packages/image/example/readme.md +++ b/packages/image/example/readme.md @@ -1,3 +1,3 @@ # StackBlitz Example -[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/opendatalab/labelU-Kit/tree/website/packages/audio-react/example) +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/opendatalab/labelU-Kit/tree/main/packages/image/example) diff --git a/packages/image/example/vite.config.ts b/packages/image/example/vite.config.ts index 84cd1263f..461524626 100644 --- a/packages/image/example/vite.config.ts +++ b/packages/image/example/vite.config.ts @@ -22,7 +22,6 @@ export default defineConfig({ resolve: { alias: { '@': resolve(__dirname, 'src'), - '@labelu/image': resolve(__dirname, '../src'), }, }, }); diff --git a/packages/image/package.json b/packages/image/package.json index 8fc0531cd..6010e9c7e 100644 --- a/packages/image/package.json +++ b/packages/image/package.json @@ -1,6 +1,6 @@ { "name": "@labelu/image", - "version": "1.1.0", + "version": "1.1.1-alpha.4", "description": "Image annotation tool for labelU", "author": { "name": "GaryShen", diff --git a/packages/image/src/core/Axis.ts b/packages/image/src/core/Axis.ts index a5d09986c..5a397c314 100644 --- a/packages/image/src/core/Axis.ts +++ b/packages/image/src/core/Axis.ts @@ -265,6 +265,13 @@ export class Axis { eventEmitter.emit(EInternalEvent.AxisChange, e); }; + public resetOffset() { + this._distanceX = 0; + this._distanceY = 0; + this._startPanPoint = null; + this._startMovePoint = null; + } + /** * 根据图片的初始位置和缩放比例,计算在画布上的精确位置 * diff --git a/packages/image/src/drafts/ClosedSpline.draft.ts b/packages/image/src/drafts/ClosedSpline.draft.ts index 9c98c1627..0ba9c7dd5 100644 --- a/packages/image/src/drafts/ClosedSpline.draft.ts +++ b/packages/image/src/drafts/ClosedSpline.draft.ts @@ -34,6 +34,7 @@ export class DraftPolygonCurve extends Draft { + this.on('setup', () => { eventEmitter.on(EInternalEvent.LeftMouseDown, this._handleMouseDown); eventEmitter.on(EInternalEvent.MouseMove, this._handleMouseMove); eventEmitter.on(EInternalEvent.LeftMouseUp, this._handleLeftMouseUp); @@ -180,6 +180,10 @@ export class Draft< private _handleRightMouseUp = (e: MouseEvent) => { const isUnderCursor = this.isUnderCursor({ x: e.offsetX, y: e.offsetY }); + /** + * 因为清除isMoved是异步的 + * see https://github.com/opendatalab/labelU-Kit/blob/main/packages/image/src/core/Axis.ts#L230 + */ if (!isUnderCursor && !axis?.isMoved) { this.group.emit(EInternalEvent.UnSelect, e, this); } @@ -214,6 +218,10 @@ export class Draft< return (this._serializeData?.shapes?.map(loop) as AxisPoint[] | AxisPoint[][]) ?? []; } + public finishSetup() { + this.emit('setup'); + } + public onMove(handler: MouseEventHandler) { this._onMoveHandlers.push(handler); } @@ -342,7 +350,8 @@ export class Draft< this.data = null as any; this.group.destroy(); this.clearHandlers(); - + axis?.resetOffset(); + this.removeAllListeners(); eventEmitter.off(EInternalEvent.LeftMouseDown, this._handleMouseDown); eventEmitter.off(EInternalEvent.MouseMove, this._handleMouseMove); eventEmitter.off(EInternalEvent.LeftMouseUp, this._handleLeftMouseUp); diff --git a/packages/image/src/drafts/Line.draft.ts b/packages/image/src/drafts/Line.draft.ts index 339f24189..692c5d4ac 100644 --- a/packages/image/src/drafts/Line.draft.ts +++ b/packages/image/src/drafts/Line.draft.ts @@ -37,6 +37,7 @@ export class DraftLine extends Draft this.config = config; this._setupShapes(); - this.onMouseUp(this._onMouseUp); + this.finishSetup(); } private _setupShapes() { diff --git a/packages/image/src/drafts/Polygon.draft.ts b/packages/image/src/drafts/Polygon.draft.ts index 5ac0bbe99..7a3db5e51 100644 --- a/packages/image/src/drafts/Polygon.draft.ts +++ b/packages/image/src/drafts/Polygon.draft.ts @@ -63,6 +63,7 @@ export class DraftPolygon extends Draft, Style> { private _onAxisChange = () => { // 组合在图形之后创建,所以需要延迟一帧更新 - setTimeout(() => { + Promise.resolve().then(() => { this._updateBBox()._updateRBush(); }); }; diff --git a/packages/image/src/shapes/Shape.ts b/packages/image/src/shapes/Shape.ts index b08396bf2..39bfb8b39 100644 --- a/packages/image/src/shapes/Shape.ts +++ b/packages/image/src/shapes/Shape.ts @@ -110,7 +110,7 @@ export class Shape