@regolithco/ocr 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -0
- package/dist/browser.d.ts +2 -2
- package/dist/browser.js.map +1 -1
- package/dist/node.d.ts +3 -3
- package/dist/node.js +22 -2
- package/dist/node.js.map +1 -1
- package/dist/parsers/shipMiningOrder.js +95 -42
- package/dist/parsers/shipMiningOrder.js.map +1 -1
- package/dist/parsers/shipRock.d.ts +2 -2
- package/dist/parsers/shipRock.js +19 -4
- package/dist/parsers/shipRock.js.map +1 -1
- package/dist/parsers/utils.d.ts +18 -0
- package/dist/parsers/utils.js +18 -0
- package/dist/parsers/utils.js.map +1 -1
- package/package.json +8 -3
package/README.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# @regolithco/ocr
|
|
2
|
+
|
|
3
|
+
OCR utilities using PaddleOCR, designed for RegolithCo applications. This library provides OCR capabilities for parsing specific game assets like Mining Orders and Rocks, with support for Browser environments.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
yarn add @regolithco/ocr
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
This library exports specific parsers for game entities.
|
|
14
|
+
|
|
15
|
+
### Parsing Shipping Orders
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { parseShipMiningOrder } from '@regolithco/ocr'
|
|
19
|
+
|
|
20
|
+
// In Node.js environment
|
|
21
|
+
const result = await parseShipMiningOrder('path/to/image.png')
|
|
22
|
+
console.log(result)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Parsing Rocks
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { parseShipRock } from '@regolithco/ocr'
|
|
29
|
+
|
|
30
|
+
const result = await parseShipRock('path/to/image.png')
|
|
31
|
+
console.log(result)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Development
|
|
35
|
+
|
|
36
|
+
Clone the repository and install dependencies:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
yarn install
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Scripts
|
|
43
|
+
|
|
44
|
+
- `yarn build`: Compile TypeScript to `dist/`.
|
|
45
|
+
- `yarn test`: Run unit tests using Jest.
|
|
46
|
+
- `yarn debug`: Run the PaddleOCR debug script on test images.
|
|
47
|
+
- `yarn debug:choose`: Run the debug script with an interactive file chooser.
|
|
48
|
+
|
|
49
|
+
## License
|
|
50
|
+
|
|
51
|
+
ISC
|
package/dist/browser.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Ocr from '@gutenye/ocr-browser';
|
|
2
|
-
import {
|
|
2
|
+
import { ShipRockCapture, ShipMiningOrderCapture } from '@regolithco/common';
|
|
3
3
|
export declare const initPaddle: () => Promise<Ocr>;
|
|
4
|
-
export declare const parseShipRock: (image: string) => Promise<
|
|
4
|
+
export declare const parseShipRock: (image: string) => Promise<ShipRockCapture>;
|
|
5
5
|
export declare const parseShipMiningOrder: (image: string) => Promise<ShipMiningOrderCapture>;
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,sBAAsB,CAAA;AAEtC,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,oBAAoB,IAAI,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC/F,OAAO,GAAG,MAAM,UAAU,CAAA;AAE1B,IAAI,WAAW,GAAe,IAAI,CAAA;AAElC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,sEAAsE;QACtE,oEAAoE;QACpE,WAAW,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE;gBACN,aAAa,EAAE,2CAA2C;gBAC1D,eAAe,EAAE,2CAA2C;gBAC5D,cAAc,EAAE,kCAAkC;aACnD;SACF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAmB,EAAE;IAC7D,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjE,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACtC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACnB,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAEtC,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,sBAAsB,CAAA;AAEtC,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,oBAAoB,IAAI,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC/F,OAAO,GAAG,MAAM,UAAU,CAAA;AAE1B,IAAI,WAAW,GAAe,IAAI,CAAA;AAElC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,sEAAsE;QACtE,oEAAoE;QACpE,WAAW,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE;gBACN,aAAa,EAAE,2CAA2C;gBAC1D,eAAe,EAAE,2CAA2C;gBAC5D,cAAc,EAAE,kCAAkC;aACnD;SACF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAmB,EAAE;IAC7D,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjE,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACtC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACnB,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAEtC,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAA4B,EAAE;IAC7E,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAA;IACvC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAAa,EAAmC,EAAE;IAC3F,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAA;IACvC,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAA"}
|
package/dist/node.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Ocr from '@gutenye/ocr-node';
|
|
2
|
-
import {
|
|
1
|
+
import type Ocr from '@gutenye/ocr-node';
|
|
2
|
+
import { ShipRockCapture, ShipMiningOrderCapture } from '@regolithco/common/dist/gen/schema.types.js';
|
|
3
3
|
export declare const initPaddle: () => Promise<Ocr | null>;
|
|
4
4
|
export declare const recognizeText: (imagePath: string) => Promise<string>;
|
|
5
5
|
export declare const parseShipMiningOrder: (imagePath: string) => Promise<ShipMiningOrderCapture>;
|
|
6
|
-
export declare const parseShipRock: (imagePath: string) => Promise<
|
|
6
|
+
export declare const parseShipRock: (imagePath: string) => Promise<ShipRockCapture>;
|
package/dist/node.js
CHANGED
|
@@ -1,10 +1,27 @@
|
|
|
1
|
-
import Ocr from '@gutenye/ocr-node';
|
|
2
1
|
import { parseShipMiningOrder as parseShipMiningOrderText } from './parsers/shipMiningOrder.js';
|
|
3
2
|
import { parseShipRock as parseShipRockText } from './parsers/shipRock.js';
|
|
4
3
|
let ocrInstance = null;
|
|
4
|
+
let ocrConstructorPromise = null;
|
|
5
|
+
const loadNodeOcr = async () => {
|
|
6
|
+
if (!ocrConstructorPromise) {
|
|
7
|
+
ocrConstructorPromise = import('@gutenye/ocr-node')
|
|
8
|
+
.then((module) => module.default)
|
|
9
|
+
.catch((error) => {
|
|
10
|
+
ocrConstructorPromise = null;
|
|
11
|
+
const instructions = 'The Node OCR helpers require @gutenye/ocr-node. Install it locally (e.g. "yarn add -D @gutenye/ocr-node") to run the terminal utilities.';
|
|
12
|
+
if (error instanceof Error) {
|
|
13
|
+
error.message = `${instructions}\n${error.message}`;
|
|
14
|
+
throw error;
|
|
15
|
+
}
|
|
16
|
+
throw new Error(instructions);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return ocrConstructorPromise;
|
|
20
|
+
};
|
|
5
21
|
export const initPaddle = async () => {
|
|
6
22
|
if (!ocrInstance) {
|
|
7
|
-
|
|
23
|
+
const OcrCtor = await loadNodeOcr();
|
|
24
|
+
ocrInstance = await OcrCtor.create();
|
|
8
25
|
}
|
|
9
26
|
return ocrInstance;
|
|
10
27
|
};
|
|
@@ -13,6 +30,9 @@ export const recognizeText = async (imagePath) => {
|
|
|
13
30
|
const results = await ocr.detect(imagePath);
|
|
14
31
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
32
|
const fullText = results.map((line) => line.text).join('\n');
|
|
33
|
+
console.log('--- PADDLE OCR RAW RESULTS ---');
|
|
34
|
+
console.log(JSON.stringify(results, null, 2));
|
|
35
|
+
console.log('------------------------------');
|
|
16
36
|
console.log('--- PADDLE OCR OUTPUT ---');
|
|
17
37
|
console.log(fullText);
|
|
18
38
|
console.log('-------------------------');
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,IAAI,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC/F,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAK1E,IAAI,WAAW,GAAe,IAAI,CAAA;AAClC,IAAI,qBAAqB,GAAmC,IAAI,CAAA;AAEhE,MAAM,WAAW,GAAG,KAAK,IAA6B,EAAE;IACtD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG,MAAM,CAAC,mBAAmB,CAAC;aAChD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;aAChC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,qBAAqB,GAAG,IAAI,CAAA;YAC5B,MAAM,YAAY,GAChB,0IAA0I,CAAA;YAC5I,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,KAAK,CAAC,OAAO,GAAG,GAAG,YAAY,KAAK,KAAK,CAAC,OAAO,EAAE,CAAA;gBACnD,MAAM,KAAK,CAAA;YACb,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACN,CAAC;IACD,OAAO,qBAAqB,CAAA;AAC9B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;QACnC,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;IACxE,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5C,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;IAE7C,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAExC,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,SAAiB,EAAmC,EAAE;IAC/F,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;IAC3C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAA4B,EAAE;IACjF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;IAC3C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC,CAAA"}
|
|
@@ -76,55 +76,91 @@ export const parseShipMiningOrder = (ocrText) => {
|
|
|
76
76
|
}
|
|
77
77
|
// 2. Method
|
|
78
78
|
if (!method) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
79
|
+
// Find all matches in the line and pick the left-most one
|
|
80
|
+
// We gather candidates: { method, index }
|
|
81
|
+
let bestMethodIdx = Infinity;
|
|
82
|
+
let bestMethod;
|
|
83
|
+
for (const m of allMethods) {
|
|
84
|
+
const humanM = m.replace(/_/g, ' ');
|
|
85
|
+
// 1. Exact Scan
|
|
86
|
+
// Check 1: match ENUM string directly
|
|
87
|
+
let idx = lineUpper.indexOf(m.toString().toUpperCase());
|
|
88
|
+
// Check 2: match space separated
|
|
89
|
+
const idxHuman = lineUpper.indexOf(humanM.toUpperCase());
|
|
90
|
+
if (idxHuman !== -1) {
|
|
91
|
+
if (idx === -1 || idxHuman < idx) {
|
|
92
|
+
idx = idxHuman;
|
|
89
93
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
}
|
|
95
|
+
// 2. Fuzzy Scan (if exact not found, OR to be safe? usually exact is better but let's assume if exact exists it's correct)
|
|
96
|
+
// If we found an exact match, we trust that index.
|
|
97
|
+
// If NOT, we try fuzzy.
|
|
98
|
+
if (idx === -1) {
|
|
99
|
+
const target = humanM.toUpperCase();
|
|
100
|
+
if (lineUpper.length >= target.length) {
|
|
101
|
+
// Sliding window
|
|
102
|
+
for (let i = 0; i <= lineUpper.length - target.length; i++) {
|
|
103
|
+
const substr = lineUpper.substring(i, i + target.length);
|
|
93
104
|
const dist = findBestMatch(substr, [m], 3);
|
|
94
|
-
|
|
95
|
-
|
|
105
|
+
// Optimization: If we already have a bestMethod at index 10, and we are at i=20, we can stop scanning this method?
|
|
106
|
+
// Yes, because any match here would be "to the right" of the current best.
|
|
107
|
+
if (i > bestMethodIdx)
|
|
96
108
|
break;
|
|
109
|
+
if (dist) {
|
|
110
|
+
idx = i;
|
|
111
|
+
break; // Found the left-most fuzzy match for THIS method
|
|
97
112
|
}
|
|
98
113
|
}
|
|
99
114
|
}
|
|
100
|
-
if (method)
|
|
101
|
-
break;
|
|
102
115
|
}
|
|
116
|
+
if (idx !== -1) {
|
|
117
|
+
if (idx < bestMethodIdx) {
|
|
118
|
+
bestMethodIdx = idx;
|
|
119
|
+
bestMethod = m;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (bestMethod) {
|
|
124
|
+
method = bestMethod;
|
|
103
125
|
}
|
|
104
126
|
}
|
|
105
127
|
// 3. Process Time
|
|
106
128
|
if (!processDurationS && (lineUpper.includes('PROCESS TIME') || lineUpper.includes('TIME'))) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
129
|
+
const parseDuration = (str) => {
|
|
130
|
+
let d = 0;
|
|
131
|
+
let h = 0;
|
|
132
|
+
let m = 0;
|
|
133
|
+
let found = false;
|
|
134
|
+
const dMatch = str.match(/(\d+)\s*D/);
|
|
135
|
+
if (dMatch) {
|
|
136
|
+
d = parseInt(dMatch[1], 10);
|
|
137
|
+
found = true;
|
|
138
|
+
}
|
|
139
|
+
const hMatch = str.match(/(\d+)\s*H/);
|
|
140
|
+
if (hMatch) {
|
|
141
|
+
h = parseInt(hMatch[1], 10);
|
|
142
|
+
found = true;
|
|
143
|
+
}
|
|
144
|
+
const mMatch = str.match(/(\d+)\s*M/);
|
|
145
|
+
if (mMatch) {
|
|
146
|
+
m = parseInt(mMatch[1], 10);
|
|
147
|
+
found = true;
|
|
148
|
+
}
|
|
149
|
+
if (found) {
|
|
150
|
+
return d * 86400 + h * 3600 + m * 60;
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
};
|
|
154
|
+
const val = parseDuration(lineUpper);
|
|
155
|
+
if (val !== null) {
|
|
156
|
+
processDurationS = val;
|
|
125
157
|
}
|
|
126
|
-
if (
|
|
127
|
-
|
|
158
|
+
else if (idx + 1 < lines.length) {
|
|
159
|
+
// Try next line
|
|
160
|
+
const nextVal = parseDuration(lines[idx + 1].toUpperCase());
|
|
161
|
+
if (nextVal !== null) {
|
|
162
|
+
processDurationS = nextVal;
|
|
163
|
+
}
|
|
128
164
|
}
|
|
129
165
|
}
|
|
130
166
|
// 3.5. Expenses
|
|
@@ -135,13 +171,23 @@ export const parseShipMiningOrder = (ocrText) => {
|
|
|
135
171
|
};
|
|
136
172
|
const fees = Object.keys(feeMappings);
|
|
137
173
|
for (const key of fees) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
174
|
+
const idx = lineUpper.indexOf(key);
|
|
175
|
+
if (idx !== -1) {
|
|
176
|
+
// Found the label. We want the number that follows it.
|
|
177
|
+
// We take the substring starting from the label to ensuring we don't pick a number "before" it (which shouldn't happen usually but good for safety)
|
|
178
|
+
// OR better: we treat the text AFTER the label.
|
|
179
|
+
const relevantText = lineUpper.substring(idx + key.length);
|
|
180
|
+
// Find the FIRST number in this substring
|
|
181
|
+
const match = relevantText.match(/(\d[\d,.]*)/);
|
|
182
|
+
if (match) {
|
|
183
|
+
const rawAmount = match[1].replace(/,/g, '');
|
|
142
184
|
const amount = parseInt(rawAmount);
|
|
143
185
|
if (!isNaN(amount)) {
|
|
144
186
|
const mappedName = feeMappings[key];
|
|
187
|
+
// Only add if not already present?
|
|
188
|
+
// If we have multiple orders, we might see "TOTAL COST" twice.
|
|
189
|
+
// But we only want the left-most one because we are assuming "One Work Order" per parsing.
|
|
190
|
+
// So if we already found 'Refinery Fee', we ignore subsequent ones (which are likely to the right).
|
|
145
191
|
if (!expenses.find((e) => e.name === mappedName)) {
|
|
146
192
|
expenses.push({
|
|
147
193
|
__typename: 'WorkOrderExpense',
|
|
@@ -233,6 +279,13 @@ export const parseShipMiningOrder = (ocrText) => {
|
|
|
233
279
|
}
|
|
234
280
|
}
|
|
235
281
|
if (numbers.length >= 2) {
|
|
282
|
+
// Heuristic to filter "phantom" rows (often 3 numbers, last one small)
|
|
283
|
+
// e.g. "AGRICIUM 391 381 10" vs Valid "TIN 830 706"
|
|
284
|
+
// usage of // usually implies a comment or structural noise we should ignore for filtering decision
|
|
285
|
+
if (numbers.length === 3 && numbers[2] <= 20 && !lineUpper.includes('//')) {
|
|
286
|
+
// Likely an artifact row, skip it
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
236
289
|
const yieldVal = numbers[1];
|
|
237
290
|
shipOres.push({
|
|
238
291
|
__typename: 'RefineryRowCapture',
|
|
@@ -248,7 +301,7 @@ export const parseShipMiningOrder = (ocrText) => {
|
|
|
248
301
|
}
|
|
249
302
|
return {
|
|
250
303
|
__typename: 'ShipMiningOrderCapture',
|
|
251
|
-
refinery,
|
|
304
|
+
refinery: refinery !== null && refinery !== void 0 ? refinery : null,
|
|
252
305
|
method,
|
|
253
306
|
processDurationS,
|
|
254
307
|
expenses: expenses.length > 0 ? expenses : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shipMiningOrder.js","sourceRoot":"","sources":["../../src/parsers/shipMiningOrder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shipMiningOrder.js","sourceRoot":"","sources":["../../src/parsers/shipMiningOrder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const parseShipRock: (ocrText: string) =>
|
|
1
|
+
import { ShipRockCapture } from '@regolithco/common';
|
|
2
|
+
export declare const parseShipRock: (ocrText: string) => ShipRockCapture;
|
package/dist/parsers/shipRock.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ShipOreEnum,
|
|
1
|
+
import { ShipOreEnum, AsteroidTypeEnum, DepositTypeEnum, } from '@regolithco/common';
|
|
2
2
|
import { cleanLine, levenshtein } from './utils.js';
|
|
3
3
|
export const parseShipRock = (ocrText) => {
|
|
4
4
|
// Split into lines to preserve spatial context
|
|
@@ -6,6 +6,20 @@ export const parseShipRock = (ocrText) => {
|
|
|
6
6
|
.split('\n')
|
|
7
7
|
.map(cleanLine)
|
|
8
8
|
.filter((l) => l.length > 0);
|
|
9
|
+
// Validation: Check for required anchors to ensure this is a valid Rock Info panel
|
|
10
|
+
const linesUpper = lines.map((l) => l.toUpperCase());
|
|
11
|
+
const hasScan = linesUpper.some((l) => l.includes('SCAN RESULTS'));
|
|
12
|
+
const hasMass = linesUpper.some((l) => l.includes('MASS'));
|
|
13
|
+
const hasRes = linesUpper.some((l) => l.includes('RESIST') || l.includes('RESISTANCE'));
|
|
14
|
+
const hasInst = linesUpper.some((l) => l.includes('INSTAB') || l.includes('INSTABILITY'));
|
|
15
|
+
const hasComp = linesUpper.some((l) => l.includes('COMPOSITION'));
|
|
16
|
+
if (!hasScan || !hasMass || !hasRes || !hasInst || !hasComp) {
|
|
17
|
+
return {
|
|
18
|
+
__typename: 'ShipRockCapture',
|
|
19
|
+
mass: 0,
|
|
20
|
+
ores: [],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
9
23
|
// Default values
|
|
10
24
|
let mass = 0;
|
|
11
25
|
let inst;
|
|
@@ -134,10 +148,11 @@ export const parseShipRock = (ocrText) => {
|
|
|
134
148
|
if (percentVal > 0) {
|
|
135
149
|
if (percentVal > 1)
|
|
136
150
|
percentVal /= 100;
|
|
137
|
-
if (!ores.find((o) => o.ore === bestOre)) {
|
|
151
|
+
if (!ores.find((o) => o.ore === bestOre) && bestOre !== ShipOreEnum.Inertmaterial) {
|
|
138
152
|
ores.push({
|
|
139
153
|
ore: bestOre,
|
|
140
154
|
percent: percentVal,
|
|
155
|
+
__typename: 'ShipRockOre',
|
|
141
156
|
});
|
|
142
157
|
}
|
|
143
158
|
}
|
|
@@ -145,12 +160,12 @@ export const parseShipRock = (ocrText) => {
|
|
|
145
160
|
}
|
|
146
161
|
}
|
|
147
162
|
return {
|
|
163
|
+
__typename: 'ShipRockCapture',
|
|
148
164
|
mass,
|
|
149
165
|
inst,
|
|
150
|
-
res,
|
|
166
|
+
res: res !== null && res !== void 0 ? res : 0,
|
|
151
167
|
rockType,
|
|
152
168
|
ores,
|
|
153
|
-
state: RockStateEnum.Ready,
|
|
154
169
|
};
|
|
155
170
|
};
|
|
156
171
|
//# sourceMappingURL=shipRock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shipRock.js","sourceRoot":"","sources":["../../src/parsers/shipRock.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"shipRock.js","sourceRoot":"","sources":["../../src/parsers/shipRock.ts"],"names":[],"mappings":"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"}
|
package/dist/parsers/utils.d.ts
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trims whitespace from the beginning and end of a string.
|
|
3
|
+
* @param text The string to clean.
|
|
4
|
+
* @returns The trimmed string.
|
|
5
|
+
*/
|
|
1
6
|
export declare const cleanLine: (text: string) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Calculates the Levenshtein distance between two strings using dynamic programming.
|
|
9
|
+
* @param a The first string.
|
|
10
|
+
* @param b The second string.
|
|
11
|
+
* @returns The Levenshtein edit distance.
|
|
12
|
+
*/
|
|
2
13
|
export declare const levenshtein: (a: string, b: string) => number;
|
|
14
|
+
/**
|
|
15
|
+
* Finds the best match for a given text from a list of candidates based on Levenshtein distance.
|
|
16
|
+
* @param text The text to match.
|
|
17
|
+
* @param candidates A list of candidate strings.
|
|
18
|
+
* @param threshold The maximum allowed distance for a match (default: 2).
|
|
19
|
+
* @returns The best matching candidate, or null if no candidate is within the threshold.
|
|
20
|
+
*/
|
|
3
21
|
export declare const findBestMatch: <T extends string>(text: string, candidates: T[], threshold?: number) => T | null;
|
package/dist/parsers/utils.js
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trims whitespace from the beginning and end of a string.
|
|
3
|
+
* @param text The string to clean.
|
|
4
|
+
* @returns The trimmed string.
|
|
5
|
+
*/
|
|
1
6
|
export const cleanLine = (text) => {
|
|
2
7
|
return text.trim();
|
|
3
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Calculates the Levenshtein distance between two strings using dynamic programming.
|
|
11
|
+
* @param a The first string.
|
|
12
|
+
* @param b The second string.
|
|
13
|
+
* @returns The Levenshtein edit distance.
|
|
14
|
+
*/
|
|
4
15
|
export const levenshtein = (a, b) => {
|
|
5
16
|
const matrix = Array.from({ length: a.length + 1 }, () => Array(b.length + 1).fill(0));
|
|
6
17
|
for (let i = 0; i <= a.length; i++)
|
|
@@ -15,6 +26,13 @@ export const levenshtein = (a, b) => {
|
|
|
15
26
|
}
|
|
16
27
|
return matrix[a.length][b.length];
|
|
17
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* Finds the best match for a given text from a list of candidates based on Levenshtein distance.
|
|
31
|
+
* @param text The text to match.
|
|
32
|
+
* @param candidates A list of candidate strings.
|
|
33
|
+
* @param threshold The maximum allowed distance for a match (default: 2).
|
|
34
|
+
* @returns The best matching candidate, or null if no candidate is within the threshold.
|
|
35
|
+
*/
|
|
18
36
|
export const findBestMatch = (text, candidates, threshold = 2) => {
|
|
19
37
|
let bestDist = Infinity;
|
|
20
38
|
let bestMatch = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/parsers/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAClG,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmB,IAAY,EAAE,UAAe,EAAE,YAAoB,CAAC,EAAY,EAAE;IAChH,IAAI,QAAQ,GAAG,QAAQ,CAAA;IACvB,IAAI,SAAS,GAAa,IAAI,CAAA;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAEpC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC9C,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACzC,QAAQ,GAAG,IAAI,CAAA;YACf,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/parsers/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;AACpB,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAClG,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmB,IAAY,EAAE,UAAe,EAAE,YAAoB,CAAC,EAAY,EAAE;IAChH,IAAI,QAAQ,GAAG,QAAQ,CAAA;IACvB,IAAI,SAAS,GAAa,IAAI,CAAA;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAEpC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC9C,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACzC,QAAQ,GAAG,IAAI,CAAA;YACf,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@regolithco/ocr",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "OCR utilities using PaddleOCR",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/node.js",
|
|
7
7
|
"browser": "dist/browser.js",
|
|
8
8
|
"types": "dist/node.d.ts",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/RegolithCo/RegolithCo-OCR"
|
|
12
|
+
},
|
|
9
13
|
"publishConfig": {
|
|
10
14
|
"access": "public"
|
|
11
15
|
},
|
|
12
16
|
"engines": {
|
|
13
17
|
"node": ">=22 <24"
|
|
14
|
-
},
|
|
18
|
+
},
|
|
15
19
|
"files": [
|
|
16
20
|
"dist"
|
|
17
21
|
],
|
|
@@ -20,6 +24,7 @@
|
|
|
20
24
|
"prepublishOnly": "yarn run build",
|
|
21
25
|
"debug": "tsx scripts/debug_paddle.ts",
|
|
22
26
|
"debug:choose": "tsx scripts/debug_paddle.ts --choose",
|
|
27
|
+
"validate": "tsx scripts/validate_images.ts",
|
|
23
28
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
|
|
24
29
|
},
|
|
25
30
|
"keywords": [
|
|
@@ -31,7 +36,6 @@
|
|
|
31
36
|
"license": "ISC",
|
|
32
37
|
"dependencies": {
|
|
33
38
|
"@gutenye/ocr-browser": "^1.4.8",
|
|
34
|
-
"@gutenye/ocr-node": "^1.4.8",
|
|
35
39
|
"@regolithco/common": "^1.4.7",
|
|
36
40
|
"graphql": "^16.12.0",
|
|
37
41
|
"loglevel": "^1.9.2",
|
|
@@ -40,6 +44,7 @@
|
|
|
40
44
|
"devDependencies": {
|
|
41
45
|
"@clack/prompts": "^0.11.0",
|
|
42
46
|
"@faker-js/faker": "8",
|
|
47
|
+
"@gutenye/ocr-node": "^1.4.8",
|
|
43
48
|
"@types/jest": "^30.0.0",
|
|
44
49
|
"@types/lodash": "^4.17.20",
|
|
45
50
|
"@types/node": "^24.5.2",
|