@mikashboks/capture-intelligence-core 0.1.19 → 0.1.22
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/dist/cjs/capture-normalization.d.ts +2 -1
- package/dist/cjs/capture-normalization.d.ts.map +1 -1
- package/dist/cjs/capture-normalization.js +33 -11
- package/dist/cjs/capture-normalization.js.map +1 -1
- package/dist/cjs/document-classifier.d.ts +2 -1
- package/dist/cjs/document-classifier.d.ts.map +1 -1
- package/dist/cjs/document-classifier.js +191 -14
- package/dist/cjs/document-classifier.js.map +1 -1
- package/dist/cjs/document-placement.d.ts.map +1 -1
- package/dist/cjs/document-placement.js +5 -5
- package/dist/cjs/document-placement.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/metrics.d.ts.map +1 -1
- package/dist/cjs/metrics.js +13 -3
- package/dist/cjs/metrics.js.map +1 -1
- package/dist/cjs/mrz-check-digits.d.ts.map +1 -1
- package/dist/cjs/mrz-check-digits.js +16 -97
- package/dist/cjs/mrz-check-digits.js.map +1 -1
- package/dist/cjs/quality-checks.d.ts.map +1 -1
- package/dist/cjs/quality-checks.js +3 -1
- package/dist/cjs/quality-checks.js.map +1 -1
- package/dist/cjs/types.d.ts +17 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +1 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/capture-normalization.d.ts +2 -1
- package/dist/esm/capture-normalization.d.ts.map +1 -1
- package/dist/esm/capture-normalization.js +33 -11
- package/dist/esm/capture-normalization.js.map +1 -1
- package/dist/esm/document-classifier.d.ts +2 -1
- package/dist/esm/document-classifier.d.ts.map +1 -1
- package/dist/esm/document-classifier.js +190 -14
- package/dist/esm/document-classifier.js.map +1 -1
- package/dist/esm/document-placement.d.ts.map +1 -1
- package/dist/esm/document-placement.js +5 -5
- package/dist/esm/document-placement.js.map +1 -1
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/metrics.d.ts.map +1 -1
- package/dist/esm/metrics.js +13 -3
- package/dist/esm/metrics.js.map +1 -1
- package/dist/esm/mrz-check-digits.d.ts.map +1 -1
- package/dist/esm/mrz-check-digits.js +16 -97
- package/dist/esm/mrz-check-digits.js.map +1 -1
- package/dist/esm/quality-checks.d.ts.map +1 -1
- package/dist/esm/quality-checks.js +3 -1
- package/dist/esm/quality-checks.js.map +1 -1
- package/dist/esm/types.d.ts +17 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +1 -1
- package/package.json +2 -5
|
@@ -35,6 +35,7 @@ export interface PreviewRectToImageCropInput {
|
|
|
35
35
|
imageSize: CaptureImageSize;
|
|
36
36
|
previewSize: CaptureImageSize;
|
|
37
37
|
previewRect: CapturePreviewRect;
|
|
38
|
+
documentType?: string | null;
|
|
38
39
|
resizeMode?: CapturePreviewResizeMode;
|
|
39
40
|
paddingRatio?: number;
|
|
40
41
|
}
|
|
@@ -59,7 +60,7 @@ export interface CaptureNormalizationPlan {
|
|
|
59
60
|
diagnostics: CaptureNormalizationDiagnostics;
|
|
60
61
|
}
|
|
61
62
|
export type CaptureFrameMode = 'document' | 'address-document' | 'front-door' | 'selfie';
|
|
62
|
-
export declare function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, resizeMode, paddingRatio, }: PreviewRectToImageCropInput): {
|
|
63
|
+
export declare function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, documentType, resizeMode, paddingRatio, }: PreviewRectToImageCropInput): {
|
|
63
64
|
crop: CaptureCropRect;
|
|
64
65
|
diagnostics: CaptureNormalizationDiagnostics;
|
|
65
66
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-normalization.d.ts","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"capture-normalization.d.ts","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,11 @@ exports.getDocumentCaptureFrameAspectRatio = getDocumentCaptureFrameAspectRatio;
|
|
|
8
8
|
const document_classifier_js_1 = require("./document-classifier.js");
|
|
9
9
|
const CARD_CAPTURE_FRAME_ASPECT_RATIO = 1.585;
|
|
10
10
|
const ADDRESS_DOCUMENT_CAPTURE_FRAME_ASPECT_RATIO = 0.72;
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE = {
|
|
12
|
+
minAreaRatio: 0.04,
|
|
13
|
+
nearFullFrameAreaRatio: 0.9,
|
|
14
|
+
maxAreaRatio: 0.92,
|
|
15
|
+
};
|
|
14
16
|
const CAPTURE_NORMALIZATION_MIN_ASPECT_RATIO = 0.35;
|
|
15
17
|
const CAPTURE_NORMALIZATION_MAX_ASPECT_RATIO = 2.4;
|
|
16
18
|
function clamp(value, min, max) {
|
|
@@ -25,7 +27,26 @@ const NO_CLAMPED_EDGES = {
|
|
|
25
27
|
right: false,
|
|
26
28
|
bottom: false,
|
|
27
29
|
};
|
|
28
|
-
function
|
|
30
|
+
function resolveCaptureNormalizationAreaRange(documentType) {
|
|
31
|
+
const configured = (0, document_classifier_js_1.getDocumentReviewProfile)(documentType).captureAreaRange ??
|
|
32
|
+
DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE;
|
|
33
|
+
const minAreaRatio = Number.isFinite(configured.minAreaRatio)
|
|
34
|
+
? configured.minAreaRatio
|
|
35
|
+
: DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE.minAreaRatio;
|
|
36
|
+
const maxAreaRatio = Number.isFinite(configured.maxAreaRatio)
|
|
37
|
+
? configured.maxAreaRatio
|
|
38
|
+
: DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE.maxAreaRatio;
|
|
39
|
+
const resolvedMaxAreaRatio = Math.max(minAreaRatio, maxAreaRatio);
|
|
40
|
+
const nearFullFrameAreaRatio = Number.isFinite(configured.nearFullFrameAreaRatio)
|
|
41
|
+
? configured.nearFullFrameAreaRatio
|
|
42
|
+
: DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE.nearFullFrameAreaRatio;
|
|
43
|
+
return {
|
|
44
|
+
minAreaRatio,
|
|
45
|
+
nearFullFrameAreaRatio: clamp(nearFullFrameAreaRatio, minAreaRatio, resolvedMaxAreaRatio),
|
|
46
|
+
maxAreaRatio: resolvedMaxAreaRatio,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges = NO_CLAMPED_EDGES, areaRange = DEFAULT_CAPTURE_NORMALIZATION_AREA_RANGE) {
|
|
29
50
|
const sourceArea = Math.max(1, imageSize.width * imageSize.height);
|
|
30
51
|
const cropArea = crop.width * crop.height;
|
|
31
52
|
const areaRatio = cropArea / sourceArea;
|
|
@@ -35,17 +56,17 @@ function getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges = NO_CLA
|
|
|
35
56
|
if (clamped) {
|
|
36
57
|
unsafeReason = 'clamped_edge';
|
|
37
58
|
}
|
|
38
|
-
else if (areaRatio <
|
|
59
|
+
else if (areaRatio < areaRange.minAreaRatio) {
|
|
39
60
|
unsafeReason = 'too_small';
|
|
40
61
|
}
|
|
41
|
-
else if (areaRatio >
|
|
62
|
+
else if (areaRatio > areaRange.maxAreaRatio) {
|
|
42
63
|
unsafeReason = 'too_large';
|
|
43
64
|
}
|
|
44
65
|
else if (aspectRatio < CAPTURE_NORMALIZATION_MIN_ASPECT_RATIO ||
|
|
45
66
|
aspectRatio > CAPTURE_NORMALIZATION_MAX_ASPECT_RATIO) {
|
|
46
67
|
unsafeReason = 'bad_aspect';
|
|
47
68
|
}
|
|
48
|
-
else if (areaRatio >=
|
|
69
|
+
else if (areaRatio >= areaRange.nearFullFrameAreaRatio) {
|
|
49
70
|
unsafeReason = 'nearly_full_frame';
|
|
50
71
|
}
|
|
51
72
|
return {
|
|
@@ -65,12 +86,13 @@ function fullImageCrop(imageSize) {
|
|
|
65
86
|
height: Math.max(1, Math.round(imageSize.height)),
|
|
66
87
|
};
|
|
67
88
|
}
|
|
68
|
-
function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, resizeMode = 'cover', paddingRatio = 0.04, }) {
|
|
89
|
+
function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, previewRect, documentType, resizeMode = 'cover', paddingRatio = 0.04, }) {
|
|
90
|
+
const areaRange = resolveCaptureNormalizationAreaRange(documentType);
|
|
69
91
|
if (!hasPositiveSize(imageSize) || !hasPositiveSize(previewSize)) {
|
|
70
92
|
const crop = fullImageCrop(imageSize);
|
|
71
93
|
return {
|
|
72
94
|
crop,
|
|
73
|
-
diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio),
|
|
95
|
+
diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, NO_CLAMPED_EDGES, areaRange),
|
|
74
96
|
};
|
|
75
97
|
}
|
|
76
98
|
const imageWidth = imageSize.width;
|
|
@@ -82,7 +104,7 @@ function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, prev
|
|
|
82
104
|
const crop = fullImageCrop(imageSize);
|
|
83
105
|
return {
|
|
84
106
|
crop,
|
|
85
|
-
diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio),
|
|
107
|
+
diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, NO_CLAMPED_EDGES, areaRange),
|
|
86
108
|
};
|
|
87
109
|
}
|
|
88
110
|
const renderedWidth = imageWidth * scale;
|
|
@@ -128,7 +150,7 @@ function mapPreviewRectToImageCropWithDiagnostics({ imageSize, previewSize, prev
|
|
|
128
150
|
};
|
|
129
151
|
return {
|
|
130
152
|
crop,
|
|
131
|
-
diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges),
|
|
153
|
+
diagnostics: getCropDiagnostics(crop, imageSize, paddingRatio, clampedEdges, areaRange),
|
|
132
154
|
};
|
|
133
155
|
}
|
|
134
156
|
function mapPreviewRectToImageCrop(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-normalization.js","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"capture-normalization.js","sourceRoot":"","sources":["../../src/capture-normalization.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* DOM-free: operates on raw greyscale (Uint8Array) and RGBA (Uint8ClampedArray)
|
|
5
5
|
* pixel data. No Canvas, no HTMLImageElement.
|
|
6
6
|
*/
|
|
7
|
-
import type { DocumentLikelihoodResult, DocumentReviewProfile } from './types.js';
|
|
7
|
+
import type { CaptureGeometryProfile, DocumentLikelihoodResult, DocumentReviewProfile } from './types.js';
|
|
8
|
+
export declare function getDocumentCaptureGeometryProfile(documentType: string | null | undefined): CaptureGeometryProfile;
|
|
8
9
|
export declare function getDocumentReviewProfile(documentType: string | null | undefined): DocumentReviewProfile;
|
|
9
10
|
/**
|
|
10
11
|
* Determine whether a greyscale + RGBA image looks like a document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-classifier.d.ts","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"document-classifier.d.ts","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAmIpB,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,sBAAsB,CAuCxB;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,qBAAqB,CAgFvB;AAID;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,wBAAwB,CAqQ1B"}
|
|
@@ -6,13 +6,17 @@
|
|
|
6
6
|
* pixel data. No Canvas, no HTMLImageElement.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getDocumentCaptureGeometryProfile = getDocumentCaptureGeometryProfile;
|
|
9
10
|
exports.getDocumentReviewProfile = getDocumentReviewProfile;
|
|
10
11
|
exports.checkDocumentLikelihood = checkDocumentLikelihood;
|
|
11
12
|
/* -- Document type normaliser (mirrors host normalizeDocType) ------------- */
|
|
12
13
|
function normalizeDocType(docType) {
|
|
13
14
|
if (!docType)
|
|
14
15
|
return null;
|
|
15
|
-
const raw = String(docType)
|
|
16
|
+
const raw = String(docType)
|
|
17
|
+
.trim()
|
|
18
|
+
.toLowerCase()
|
|
19
|
+
.replace(/[\s-]+/g, '_');
|
|
16
20
|
switch (raw) {
|
|
17
21
|
case 'national_id':
|
|
18
22
|
case 'national_id_card':
|
|
@@ -82,6 +86,85 @@ function normalizeDocType(docType) {
|
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
/* -- Per-document-type aspect ratio profiles ------------------------------ */
|
|
89
|
+
const CARD_CAPTURE_AREA_RANGE = {
|
|
90
|
+
minAreaRatio: 0.04,
|
|
91
|
+
nearFullFrameAreaRatio: 0.9,
|
|
92
|
+
maxAreaRatio: 0.92,
|
|
93
|
+
};
|
|
94
|
+
const PASSPORT_CAPTURE_AREA_RANGE = {
|
|
95
|
+
minAreaRatio: 0.04,
|
|
96
|
+
nearFullFrameAreaRatio: 0.96,
|
|
97
|
+
maxAreaRatio: 0.985,
|
|
98
|
+
};
|
|
99
|
+
const PAGE_CAPTURE_AREA_RANGE = {
|
|
100
|
+
minAreaRatio: 0.04,
|
|
101
|
+
nearFullFrameAreaRatio: 0.98,
|
|
102
|
+
maxAreaRatio: 0.99,
|
|
103
|
+
};
|
|
104
|
+
const CARD_CAPTURE_GEOMETRY_PROFILE = {
|
|
105
|
+
centerMax: 0.32,
|
|
106
|
+
aspectMin: 1.15,
|
|
107
|
+
aspectMax: 1.95,
|
|
108
|
+
safeInsetMinRatio: 0.02,
|
|
109
|
+
tiltSkewMaxRatio: 0.22,
|
|
110
|
+
scannerMaxWidthDiffRatio: 0.45,
|
|
111
|
+
scannerMaxHeightDiffRatio: 0.45,
|
|
112
|
+
};
|
|
113
|
+
const PASSPORT_CAPTURE_GEOMETRY_PROFILE = {
|
|
114
|
+
centerMax: 0.3,
|
|
115
|
+
aspectMin: 1.05,
|
|
116
|
+
aspectMax: 1.8,
|
|
117
|
+
useNormalizedAspect: true,
|
|
118
|
+
safeInsetMinRatio: 0.02,
|
|
119
|
+
tiltSkewMaxRatio: 0.26,
|
|
120
|
+
scannerMaxWidthDiffRatio: 0.5,
|
|
121
|
+
scannerMaxHeightDiffRatio: 0.5,
|
|
122
|
+
};
|
|
123
|
+
const PAGE_CAPTURE_GEOMETRY_PROFILE = {
|
|
124
|
+
centerMax: 0.32,
|
|
125
|
+
aspectMin: 0.5,
|
|
126
|
+
aspectMax: 2.05,
|
|
127
|
+
useNormalizedAspect: true,
|
|
128
|
+
safeInsetMinRatio: 0.02,
|
|
129
|
+
tiltSkewMaxRatio: 0.3,
|
|
130
|
+
scannerMaxWidthDiffRatio: 0.55,
|
|
131
|
+
scannerMaxHeightDiffRatio: 0.55,
|
|
132
|
+
};
|
|
133
|
+
function getDocumentCaptureGeometryProfile(documentType) {
|
|
134
|
+
const normalizedType = normalizeDocType(documentType);
|
|
135
|
+
if (normalizedType === 'passport') {
|
|
136
|
+
return PASSPORT_CAPTURE_GEOMETRY_PROFILE;
|
|
137
|
+
}
|
|
138
|
+
if (normalizedType === 'address_proof' ||
|
|
139
|
+
normalizedType === 'a4_proof' ||
|
|
140
|
+
normalizedType === 'a4' ||
|
|
141
|
+
normalizedType === 'utility_bill' ||
|
|
142
|
+
normalizedType === 'proof_of_address' ||
|
|
143
|
+
normalizedType === 'bank_statement' ||
|
|
144
|
+
normalizedType === 'business_registration' ||
|
|
145
|
+
normalizedType === 'business_document' ||
|
|
146
|
+
normalizedType === 'business_license' ||
|
|
147
|
+
normalizedType === 'operating_license' ||
|
|
148
|
+
normalizedType === 'proof_of_business' ||
|
|
149
|
+
normalizedType === 'proof_of_registration' ||
|
|
150
|
+
normalizedType === 'proof_of_ownership' ||
|
|
151
|
+
normalizedType === 'proof_of_business_tax_id' ||
|
|
152
|
+
normalizedType === 'business_tax_id' ||
|
|
153
|
+
normalizedType === 'tax_certificate' ||
|
|
154
|
+
normalizedType === 'tin_certificate' ||
|
|
155
|
+
normalizedType === 'corporate_tax_certificate' ||
|
|
156
|
+
normalizedType === 'business_utility_bill' ||
|
|
157
|
+
normalizedType === 'mobile_money' ||
|
|
158
|
+
normalizedType === 'address_document' ||
|
|
159
|
+
normalizedType === 'readable_document' ||
|
|
160
|
+
normalizedType === 'readable_text_document' ||
|
|
161
|
+
normalizedType === 'text_document' ||
|
|
162
|
+
normalizedType === 'document_page' ||
|
|
163
|
+
normalizedType === 'tax_id') {
|
|
164
|
+
return PAGE_CAPTURE_GEOMETRY_PROFILE;
|
|
165
|
+
}
|
|
166
|
+
return CARD_CAPTURE_GEOMETRY_PROFILE;
|
|
167
|
+
}
|
|
85
168
|
function getDocumentReviewProfile(documentType) {
|
|
86
169
|
const normalizedType = normalizeDocType(documentType);
|
|
87
170
|
// Passports -- biodata/photo page is landscape (~1.42:1).
|
|
@@ -90,6 +173,7 @@ function getDocumentReviewProfile(documentType) {
|
|
|
90
173
|
aspectTargets: [1.42],
|
|
91
174
|
threshold: 58,
|
|
92
175
|
expectedOrientation: 'landscape',
|
|
176
|
+
captureAreaRange: PASSPORT_CAPTURE_AREA_RANGE,
|
|
93
177
|
};
|
|
94
178
|
}
|
|
95
179
|
// ID card, voter ID, driver's licence -- standard card-shaped documents
|
|
@@ -110,29 +194,48 @@ function getDocumentReviewProfile(documentType) {
|
|
|
110
194
|
aspectTargets: [1.585],
|
|
111
195
|
threshold: 62,
|
|
112
196
|
expectedOrientation: 'landscape',
|
|
197
|
+
captureAreaRange: CARD_CAPTURE_AREA_RANGE,
|
|
113
198
|
};
|
|
114
199
|
}
|
|
115
200
|
// Address proof / utility bills -- A4/letter shaped documents
|
|
116
201
|
if (normalizedType === 'address_proof' ||
|
|
202
|
+
normalizedType === 'a4_proof' ||
|
|
203
|
+
normalizedType === 'a4' ||
|
|
117
204
|
normalizedType === 'utility_bill' ||
|
|
118
205
|
normalizedType === 'proof_of_address' ||
|
|
119
206
|
normalizedType === 'bank_statement' ||
|
|
120
207
|
normalizedType === 'business_registration' ||
|
|
208
|
+
normalizedType === 'business_document' ||
|
|
209
|
+
normalizedType === 'business_license' ||
|
|
121
210
|
normalizedType === 'operating_license' ||
|
|
211
|
+
normalizedType === 'proof_of_business' ||
|
|
212
|
+
normalizedType === 'proof_of_registration' ||
|
|
213
|
+
normalizedType === 'proof_of_ownership' ||
|
|
122
214
|
normalizedType === 'proof_of_business_tax_id' ||
|
|
215
|
+
normalizedType === 'business_tax_id' ||
|
|
216
|
+
normalizedType === 'tax_certificate' ||
|
|
217
|
+
normalizedType === 'tin_certificate' ||
|
|
218
|
+
normalizedType === 'corporate_tax_certificate' ||
|
|
219
|
+
normalizedType === 'business_utility_bill' ||
|
|
123
220
|
normalizedType === 'mobile_money' ||
|
|
124
221
|
normalizedType === 'address_document' ||
|
|
222
|
+
normalizedType === 'readable_document' ||
|
|
223
|
+
normalizedType === 'readable_text_document' ||
|
|
224
|
+
normalizedType === 'text_document' ||
|
|
225
|
+
normalizedType === 'document_page' ||
|
|
125
226
|
normalizedType === 'tax_id') {
|
|
126
227
|
return {
|
|
127
228
|
aspectTargets: [1.414, 1.294],
|
|
128
229
|
threshold: 55,
|
|
129
230
|
expectedOrientation: 'either',
|
|
231
|
+
captureAreaRange: PAGE_CAPTURE_AREA_RANGE,
|
|
130
232
|
};
|
|
131
233
|
}
|
|
132
234
|
return {
|
|
133
235
|
aspectTargets: [1.585, 1.42],
|
|
134
236
|
threshold: 60,
|
|
135
237
|
expectedOrientation: 'either',
|
|
238
|
+
captureAreaRange: CARD_CAPTURE_AREA_RANGE,
|
|
136
239
|
};
|
|
137
240
|
}
|
|
138
241
|
/* -- 5-signal document likelihood classifier ------------------------------ */
|
|
@@ -157,6 +260,9 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
|
|
|
157
260
|
let edgePixels = 0;
|
|
158
261
|
let hEdgeSum = 0;
|
|
159
262
|
let vEdgeSum = 0;
|
|
263
|
+
const zoneEdgeCounts = new Array(9).fill(0);
|
|
264
|
+
const zonePixelCounts = new Array(9).fill(0);
|
|
265
|
+
const zoneBrightnessSums = new Array(9).fill(0);
|
|
160
266
|
for (let ey = 1; ey < h - 1; ey++) {
|
|
161
267
|
for (let ex = 1; ex < w - 1; ex++) {
|
|
162
268
|
const gx = -grey[(ey - 1) * w + (ex - 1)] +
|
|
@@ -176,10 +282,21 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
|
|
|
176
282
|
edgeMap[ey * w + ex] = 1;
|
|
177
283
|
edgePixels++;
|
|
178
284
|
}
|
|
285
|
+
const zoneX = Math.min(2, Math.floor((ex * 3) / w));
|
|
286
|
+
const zoneY = Math.min(2, Math.floor((ey * 3) / h));
|
|
287
|
+
const zoneIndex = zoneY * 3 + zoneX;
|
|
288
|
+
zonePixelCounts[zoneIndex]++;
|
|
289
|
+
zoneBrightnessSums[zoneIndex] += grey[ey * w + ex];
|
|
290
|
+
if (mag > 30)
|
|
291
|
+
zoneEdgeCounts[zoneIndex]++;
|
|
179
292
|
hEdgeSum += Math.abs(gy);
|
|
180
293
|
vEdgeSum += Math.abs(gx);
|
|
181
294
|
}
|
|
182
295
|
}
|
|
296
|
+
const zoneEdgeDensities = zoneEdgeCounts.map((count, index) => zonePixelCounts[index] > 0 ? count / zonePixelCounts[index] : 0);
|
|
297
|
+
const zoneBrightnessMeans = zoneBrightnessSums.map((sum, index) => zonePixelCounts[index] > 0 ? sum / zonePixelCounts[index] : 0);
|
|
298
|
+
const zoneEdgeDensityRange = Math.max(...zoneEdgeDensities) - Math.min(...zoneEdgeDensities);
|
|
299
|
+
const zoneBrightnessRange = Math.max(...zoneBrightnessMeans) - Math.min(...zoneBrightnessMeans);
|
|
183
300
|
// 1. Edge density (widened for worn/faded Sierra Leone national IDs)
|
|
184
301
|
const edgeDensity = totalPixels > 0 ? edgePixels / totalPixels : 0;
|
|
185
302
|
if (isPassport) {
|
|
@@ -216,19 +333,26 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
|
|
|
216
333
|
// 3. Color channel variance
|
|
217
334
|
let rSum = 0, gSum = 0, bSum = 0;
|
|
218
335
|
let rSq = 0, gSq = 0, bSq = 0;
|
|
336
|
+
let chromaDeltaSum = 0;
|
|
219
337
|
const px = imgData.length / 4;
|
|
220
338
|
for (let ci = 0; ci < imgData.length; ci += 4) {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
339
|
+
const r = imgData[ci];
|
|
340
|
+
const g = imgData[ci + 1];
|
|
341
|
+
const b = imgData[ci + 2];
|
|
342
|
+
rSum += r;
|
|
343
|
+
gSum += g;
|
|
344
|
+
bSum += b;
|
|
345
|
+
rSq += r * r;
|
|
346
|
+
gSq += g * g;
|
|
347
|
+
bSq += b * b;
|
|
348
|
+
chromaDeltaSum += Math.max(r, g, b) - Math.min(r, g, b);
|
|
227
349
|
}
|
|
228
350
|
const rVar = rSq / px - (rSum / px) * (rSum / px);
|
|
229
351
|
const gVar = gSq / px - (gSum / px) * (gSum / px);
|
|
230
352
|
const bVar = bSq / px - (bSum / px) * (bSum / px);
|
|
231
353
|
const avgVar = (rVar + gVar + bVar) / 3;
|
|
354
|
+
const channelVarianceRange = Math.max(rVar, gVar, bVar) - Math.min(rVar, gVar, bVar);
|
|
355
|
+
const avgChromaDelta = px > 0 ? chromaDeltaSum / px : 0;
|
|
232
356
|
if (avgVar >= 400 && avgVar <= 4000)
|
|
233
357
|
score += 20;
|
|
234
358
|
else if (avgVar >= 200 && avgVar <= 5500)
|
|
@@ -238,7 +362,20 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
|
|
|
238
362
|
const gridW = Math.floor(w / 3);
|
|
239
363
|
const gridH = Math.floor(h / 3);
|
|
240
364
|
let centerEdges = 0, centerTotal = 0;
|
|
241
|
-
|
|
365
|
+
// A pixel at or above this grey level counts as a blown-out highlight.
|
|
366
|
+
const glareSaturationLevel = 250;
|
|
367
|
+
// Minimum fraction of the center region that must be blown out to call it
|
|
368
|
+
// glare. Tuned so a holographic / laminated ID (e.g. the Sierra Leone national
|
|
369
|
+
// ID) keeps its scattered near-white sparkle below the bar, while a real
|
|
370
|
+
// specular hotspot that obscures text trips it. The previous single-pixel
|
|
371
|
+
// `maxBrightness > 245` rule false-flagged reflective IDs, which permanently
|
|
372
|
+
// zeroed the live auto-capture stable counter and stopped the green capture
|
|
373
|
+
// lock from ever forming. Borderline glare is still caught at the review /
|
|
374
|
+
// server quality stage, so the live gate can afford to be lenient here.
|
|
375
|
+
const glareSaturatedAreaRatioMin = 0.02;
|
|
376
|
+
let centerSaturatedCount = 0;
|
|
377
|
+
const centerRowSaturatedCounts = new Array(h).fill(0);
|
|
378
|
+
const centerColSaturatedCounts = new Array(w).fill(0);
|
|
242
379
|
for (let ry = 1; ry < h - 1; ry++) {
|
|
243
380
|
const rowZone = ry < gridH ? 0 : ry >= gridH * 2 ? 2 : 1;
|
|
244
381
|
if (rowZone !== 1)
|
|
@@ -249,14 +386,23 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
|
|
|
249
386
|
continue;
|
|
250
387
|
centerEdges += edgeMap[ry * w + rx];
|
|
251
388
|
centerTotal++;
|
|
252
|
-
//
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
389
|
+
// Count fully blown-out pixels for glare-cluster detection (below).
|
|
390
|
+
if (grey[ry * w + rx] >= glareSaturationLevel) {
|
|
391
|
+
centerSaturatedCount++;
|
|
392
|
+
centerRowSaturatedCounts[ry]++;
|
|
393
|
+
centerColSaturatedCounts[rx]++;
|
|
394
|
+
}
|
|
256
395
|
}
|
|
257
396
|
}
|
|
258
397
|
const centerDensity = centerTotal > 0 ? centerEdges / centerTotal : 0;
|
|
259
|
-
const
|
|
398
|
+
const centerSaturatedRatio = centerTotal > 0 ? centerSaturatedCount / centerTotal : 0;
|
|
399
|
+
const centerRegionWidth = Math.max(1, gridW);
|
|
400
|
+
const centerRegionHeight = Math.max(1, gridH);
|
|
401
|
+
const maxSaturatedRowFraction = Math.max(...centerRowSaturatedCounts) / centerRegionWidth;
|
|
402
|
+
const maxSaturatedColFraction = Math.max(...centerColSaturatedCounts) / centerRegionHeight;
|
|
403
|
+
const hasGlare = centerSaturatedRatio >= glareSaturatedAreaRatioMin ||
|
|
404
|
+
maxSaturatedRowFraction >= 0.45 ||
|
|
405
|
+
maxSaturatedColFraction >= 0.45;
|
|
260
406
|
if (isPassport) {
|
|
261
407
|
if (centerDensity >= 0.06 && centerDensity <= 0.34)
|
|
262
408
|
score += 15;
|
|
@@ -275,9 +421,10 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
|
|
|
275
421
|
}
|
|
276
422
|
// 5. Horizontal-edge dominance (text signature)
|
|
277
423
|
const edgeTotal = hEdgeSum + vEdgeSum;
|
|
424
|
+
const horizontalEdgeRatio = edgeTotal > 0 ? hEdgeSum / edgeTotal : 0.5;
|
|
278
425
|
let hasTextSignature = false;
|
|
279
426
|
if (edgeTotal > 0) {
|
|
280
|
-
const hRatio =
|
|
427
|
+
const hRatio = horizontalEdgeRatio;
|
|
281
428
|
const vRatio = vEdgeSum / edgeTotal;
|
|
282
429
|
if (isPassport) {
|
|
283
430
|
// Passport pages can be captured with note text or page header rotated
|
|
@@ -318,6 +465,36 @@ function checkDocumentLikelihood(grey, imgData, w, h, documentType) {
|
|
|
318
465
|
(hasTextSignature || centerDensity >= 0.12)) {
|
|
319
466
|
score = Math.max(score, reviewProfile.threshold + 2);
|
|
320
467
|
}
|
|
468
|
+
// Card analog of the passport floor above. Security-printed national IDs
|
|
469
|
+
// (e.g. the Sierra Leone national ID's guilloche + hologram face) carry
|
|
470
|
+
// dense, direction-less fine texture across the WHOLE card, so the band
|
|
471
|
+
// scoring above penalises them twice (`edgeDensity > 0.3` and
|
|
472
|
+
// `centerDensity > 0.2`) and real IDs plateau at 10–20 vs the 60+
|
|
473
|
+
// threshold — every classifier-backed rescue stays inert and detection
|
|
474
|
+
// rides on bare quad geometry. When the crop is strongly card-shaped AND
|
|
475
|
+
// its texture sits in exactly that penalised dense band, floor the score
|
|
476
|
+
// just over the threshold. The conditions keep the floor scoped to the
|
|
477
|
+
// double-penalty case: sparse-texture documents already score well through
|
|
478
|
+
// the normal bands, direction-dominant content (text rows or stripe
|
|
479
|
+
// patterns pull the horizontal-edge ratio away from the ~0.5 isotropy of a
|
|
480
|
+
// guilloche) keeps its honest band score, and true noise (edge density
|
|
481
|
+
// above 0.6) stays excluded. The `aspectTargets[0]` check scopes this to
|
|
482
|
+
// card-family profiles (1.585); passports use the floor above and A4/page
|
|
483
|
+
// profiles (1.414-first) keep their stricter band scoring.
|
|
484
|
+
const isCardShapedProfile = !isPassport && Math.abs(reviewProfile.aspectTargets[0] - 1.585) < 0.01;
|
|
485
|
+
const hasCardLayoutVariation = zoneEdgeDensityRange >= 0.08 || zoneBrightnessRange >= 35;
|
|
486
|
+
const hasCardColorLayoutEvidence = avgChromaDelta >= 10 && channelVarianceRange >= 80 && zoneEdgeDensityRange >= 0.04;
|
|
487
|
+
if (isCardShapedProfile &&
|
|
488
|
+
!hasTextSignature &&
|
|
489
|
+
(hasCardLayoutVariation || hasCardColorLayoutEvidence) &&
|
|
490
|
+
horizontalEdgeRatio >= 0.44 &&
|
|
491
|
+
horizontalEdgeRatio <= 0.54 &&
|
|
492
|
+
bestAspectDiff < 0.16 &&
|
|
493
|
+
edgeDensity > 0.28 &&
|
|
494
|
+
edgeDensity <= 0.6 &&
|
|
495
|
+
centerDensity >= 0.12) {
|
|
496
|
+
score = Math.max(score, reviewProfile.threshold + 2);
|
|
497
|
+
}
|
|
321
498
|
return {
|
|
322
499
|
isLikelyDoc: score >= reviewProfile.threshold,
|
|
323
500
|
confidence: score,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-classifier.js","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-classifier.js","sourceRoot":"","sources":["../../src/document-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-placement.d.ts","sourceRoot":"","sources":["../../src/document-placement.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;AAE/D,MAAM,MAAM,uBAAuB,GAC/B,WAAW,GACX,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,IAAI,CAAC;AAET,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAIjF,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAIjF,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAInF,CAAC;AAEF,eAAO,MAAM,4BAA4B,OAAO,CAAC;AA0BjD,wBAAgB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"document-placement.d.ts","sourceRoot":"","sources":["../../src/document-placement.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;AAE/D,MAAM,MAAM,uBAAuB,GAC/B,WAAW,GACX,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,IAAI,CAAC;AAET,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAIjF,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAIjF,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAInF,CAAC;AAEF,eAAO,MAAM,4BAA4B,OAAO,CAAC;AA0BjD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,sBAAsB,GAC5B,yBAAyB,CAyB3B"}
|
|
@@ -8,14 +8,14 @@ exports.CAPTURE_READY_AREA_MIN_BY_SHAPE = {
|
|
|
8
8
|
a4: 0.24,
|
|
9
9
|
};
|
|
10
10
|
exports.CAPTURE_READY_AREA_MAX_BY_SHAPE = {
|
|
11
|
-
card: 0.
|
|
12
|
-
passport: 0.
|
|
13
|
-
a4: 0.
|
|
11
|
+
card: 0.92,
|
|
12
|
+
passport: 0.985,
|
|
13
|
+
a4: 0.99,
|
|
14
14
|
};
|
|
15
15
|
exports.CAPTURE_READY_CENTER_MAX_BY_SHAPE = {
|
|
16
|
-
card: 0.
|
|
16
|
+
card: 0.32,
|
|
17
17
|
passport: 0.3,
|
|
18
|
-
a4: 0.
|
|
18
|
+
a4: 0.32,
|
|
19
19
|
};
|
|
20
20
|
exports.CAPTURE_READY_SAFE_INSET_MIN = 0.02;
|
|
21
21
|
const GUIDANCE_BY_REASON = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-placement.js","sourceRoot":"","sources":["../../src/document-placement.ts"],"names":[],"mappings":";;;AAoEA,
|
|
1
|
+
{"version":3,"file":"document-placement.js","sourceRoot":"","sources":["../../src/document-placement.ts"],"names":[],"mappings":";;;AAoEA,8DA2BC;AAvEY,QAAA,+BAA+B,GAA0C;IACpF,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,+BAA+B,GAA0C;IACpF,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,KAAK;IACf,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,iCAAiC,GAA0C;IACtF,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,GAAG;IACb,EAAE,EAAE,IAAI;CACT,CAAC;AAEW,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAEjD,MAAM,kBAAkB,GAA4C;IAClE,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,wCAAwC;IACnD,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,wCAAwC;IACpD,EAAE,EAAE,OAAO;CACZ,CAAC;AAEF,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,eAAe,CAAC,KAA6B;IACpD,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,MAAM,GAAG;QACb,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc;KAC7D,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,yBAAyB,CACvC,KAA6B;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,uCAA+B,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,uCAA+B,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,yCAAiC,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;SAAM,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG,oCAA4B,EAAE,CAAC;QAChF,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;SAAM,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QAC/B,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;SAAM,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;QAC1C,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,KAAK,IAAI;QACtB,MAAM;QACN,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC;KACrC,CAAC;AACJ,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -7,17 +7,17 @@
|
|
|
7
7
|
* All exports operate on raw data (Uint8Array pixel arrays, FrameMetrics
|
|
8
8
|
* objects, numeric values). Zero browser dependencies.
|
|
9
9
|
*/
|
|
10
|
-
export type { CamStateValue, FrameMetrics, DocumentReviewProfile, DocumentLikelihoodResult, CropRect, DocumentCropResult, OverlayRegion, OverlayVariant, QualityCheckResults, FaceBoundingBox, DetectedFace, MetadataReviewIssue, MetadataReviewResult, ReviewOrientation, ReviewMode, QualityBucket, ReviewDecisionOptions, } from './types.js';
|
|
10
|
+
export type { CamStateValue, FrameMetrics, CaptureAreaRange, CaptureGeometryProfile, DocumentReviewProfile, DocumentLikelihoodResult, CropRect, DocumentCropResult, OverlayRegion, OverlayVariant, QualityCheckResults, FaceBoundingBox, DetectedFace, MetadataReviewIssue, MetadataReviewResult, ReviewOrientation, ReviewMode, QualityBucket, ReviewDecisionOptions, } from './types.js';
|
|
11
11
|
export { CamState, CAM_ANALYSIS_W, CAM_ANALYSIS_H, CAM_BRIGHTNESS_MIN, CAM_BRIGHTNESS_MAX, CAM_BLUR_THRESHOLD, CAM_EDGE_THRESHOLD, CAM_STABLE_FRAMES_NEEDED, CAM_FRAME_DIFF_THRESHOLD, CAM_EDGE_PIXEL_THRESHOLD, CAM_EDGE_COVERAGE_THRESHOLD, CAM_DOC_CENTER_OFFSET_MAX, CAPTURE_DOCUMENT_SHARPNESS_MIN, CAPTURE_DOCUMENT_MANUAL_FALLBACK_SECS, CAPTURE_DOCUMENT_AREA_MIN, CAPTURE_DOCUMENT_EDGE_READY_MULTIPLIER, DOC_GALLERY_FAILURE_THRESHOLD, DOC_SUBMIT_ANYWAY_FAILURE_THRESHOLD, SELFIE_SUBMIT_ANYWAY_FAILURE_THRESHOLD, ADDRESS_SUBMIT_ANYWAY_FAILURE_THRESHOLD, PICO_ANALYSIS_W, PICO_ANALYSIS_H, } from './types.js';
|
|
12
12
|
export type { AddressMethod, AddressProofMode, AddressCoordinatesLike, AddressStepState, AddressMethodStartBehavior, } from './address-proof.js';
|
|
13
13
|
export { ADDRESS_METHOD_ORDER, isAddressMethod, sanitizeAllowedAddressMethods, getRecommendedAddressMethod, getAddressMethodStartBehavior, getEffectiveAddressMethod, hasAddressProofCoordinates, hasStructuredAddress, isAddressStepComplete, } from './address-proof.js';
|
|
14
14
|
export type { KycMobileContractIssue, KycMobileContractIssueCode, KycMobileWorkflowConfigContract, } from './kyc-mobile-contract.js';
|
|
15
15
|
export { KYC_MOBILE_ADDRESS_STEP_IDS, KYC_MOBILE_KNOWN_STEP_IDS, KYC_MOBILE_REQUIRED_TERMINAL_STEP_IDS, KYC_MOBILE_SIERRA_LEONE_STEP_ORDER, KYC_MOBILE_VALID_ADDRESS_METHODS, KYC_MOBILE_VALID_ADDRESS_FIELD_MODES, KYC_MOBILE_VALID_CAPTURE_MODES, KYC_MOBILE_VALID_GPS_POLICIES, KYC_MOBILE_VALID_SUBMISSION_COMPLETION_MODES, validateKycMobileWorkflowConfigContract, } from './kyc-mobile-contract.js';
|
|
16
|
-
export type { IssuingCountryResolutionInput, ResolvedIssuingCountry
|
|
16
|
+
export type { IssuingCountryResolutionInput, ResolvedIssuingCountry } from './issuing-country.js';
|
|
17
17
|
export { getIssuingCountryMetadata, normalizeIssuingCountry, resolveIssuingCountry, } from './issuing-country.js';
|
|
18
18
|
export type { FlowStepDefinition } from './flow-routing.js';
|
|
19
19
|
export { getNextFlowStepId, getPreviousFlowStepId } from './flow-routing.js';
|
|
20
|
-
export { getDocumentReviewProfile, checkDocumentLikelihood, } from './document-classifier.js';
|
|
20
|
+
export { getDocumentCaptureGeometryProfile, getDocumentReviewProfile, checkDocumentLikelihood, } from './document-classifier.js';
|
|
21
21
|
export type { MetadataReviewInput } from './metadata-review.js';
|
|
22
22
|
export { analyzeImageMetadata } from './metadata-review.js';
|
|
23
23
|
export type { CaptureImageSize, CapturePreviewRect, CaptureCropRect, CapturePreviewResizeMode, CaptureRotationDegrees, CaptureNormalizationUnsafeReason, CaptureClampedEdges, CaptureNormalizationDiagnostics, CaptureFrameMode, PreviewRectToImageCropInput, ExpectedOrientationInput, CaptureNormalizationPlanInput, CaptureResizePlan, CaptureNormalizationPlan, } from './capture-normalization.js';
|