@regulaforensics/face-sdk 6.5.63-beta → 6.5.67-beta
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/RNFaceSDK.podspec +1 -1
- package/examples/capacitor/README.md +4 -4
- package/examples/capacitor/package.json +4 -4
- package/examples/cordova/README.md +4 -4
- package/examples/cordova/package.json +10 -5
- package/examples/ionic/README.md +4 -4
- package/examples/ionic/package.json +4 -4
- package/examples/ionic/src/app/home/home.page.ts +5 -56
- package/examples/react-native/README.md +4 -4
- package/examples/react-native/package.json +5 -4
- package/package.json +1 -2
- package/plugin.xml +1 -1
- package/www/capacitor/index.js +4 -179
- package/www/cordova.js +406 -3499
- package/www/react-native/index.js +4 -179
- package/www/types/index.d.ts +4 -140
- package/examples/capacitor/scripts/android.sh +0 -9
- package/examples/capacitor/scripts/ios.sh +0 -8
- package/examples/capacitor/scripts/setup.sh +0 -4
- package/examples/cordova/scripts/android.sh +0 -8
- package/examples/cordova/scripts/ios.sh +0 -8
- package/examples/cordova/scripts/setup.sh +0 -5
- package/examples/ionic/scripts/android.sh +0 -8
- package/examples/ionic/scripts/ios.sh +0 -8
- package/examples/ionic/scripts/setup.sh +0 -5
- package/examples/react-native/scripts/android.sh +0 -8
- package/examples/react-native/scripts/ios.sh +0 -8
- package/examples/react-native/scripts/setup.sh +0 -8
- package/www/capacitor/customization/customization.js +0 -66
- package/www/capacitor/customization/customization_colors.js +0 -233
- package/www/capacitor/customization/customization_fonts.js +0 -106
- package/www/capacitor/customization/customization_images.js +0 -129
- package/www/capacitor/customization/font.js +0 -29
- package/www/capacitor/detect_faces/detect_face_result.js +0 -38
- package/www/capacitor/detect_faces/detect_faces_attribute.js +0 -15
- package/www/capacitor/detect_faces/detect_faces_attribute_result.js +0 -20
- package/www/capacitor/detect_faces/detect_faces_backend_exception.js +0 -23
- package/www/capacitor/detect_faces/detect_faces_config.js +0 -14
- package/www/capacitor/detect_faces/detect_faces_exception.js +0 -30
- package/www/capacitor/detect_faces/detect_faces_request.js +0 -67
- package/www/capacitor/detect_faces/detect_faces_response.js +0 -24
- package/www/capacitor/detect_faces/detect_faces_scenario.js +0 -10
- package/www/capacitor/face_capture/face_capture_config.js +0 -28
- package/www/capacitor/face_capture/face_capture_exception.js +0 -25
- package/www/capacitor/face_capture/face_capture_image.js +0 -26
- package/www/capacitor/face_capture/face_capture_response.js +0 -17
- package/www/capacitor/image_params/output_image_crop.js +0 -21
- package/www/capacitor/image_params/output_image_params.js +0 -9
- package/www/capacitor/image_params/point.js +0 -14
- package/www/capacitor/image_params/rect.js +0 -18
- package/www/capacitor/image_params/size.js +0 -9
- package/www/capacitor/image_quality/image_quality_characteristic.js +0 -24
- package/www/capacitor/image_quality/image_quality_characteristic_name.js +0 -58
- package/www/capacitor/image_quality/image_quality_group.js +0 -332
- package/www/capacitor/image_quality/image_quality_range.js +0 -26
- package/www/capacitor/image_quality/image_quality_result.js +0 -40
- package/www/capacitor/init/face_sdk_version.js +0 -16
- package/www/capacitor/match_faces/compared_face.js +0 -21
- package/www/capacitor/match_faces/compared_faces_pair.js +0 -23
- package/www/capacitor/match_faces/compared_faces_split.js +0 -22
- package/www/capacitor/match_faces/match_faces_backend_exception.js +0 -14
- package/www/capacitor/match_faces/match_faces_config.js +0 -12
- package/www/capacitor/match_faces/match_faces_detection.js +0 -25
- package/www/capacitor/match_faces/match_faces_detection_face.js +0 -28
- package/www/capacitor/match_faces/match_faces_exception.js +0 -30
- package/www/capacitor/match_faces/match_faces_image.js +0 -25
- package/www/capacitor/match_faces/match_faces_request.js +0 -13
- package/www/capacitor/match_faces/match_faces_response.js +0 -28
- package/www/capacitor/person_database/edit_group_persons_request.js +0 -9
- package/www/capacitor/person_database/image_upload.js +0 -16
- package/www/capacitor/person_database/pageable_item_list.js +0 -22
- package/www/capacitor/person_database/person.js +0 -22
- package/www/capacitor/person_database/person_database.js +0 -145
- package/www/capacitor/person_database/person_group.js +0 -18
- package/www/capacitor/person_database/person_image.js +0 -22
- package/www/capacitor/person_database/search_person.js +0 -31
- package/www/capacitor/person_database/search_person_detection.js +0 -22
- package/www/capacitor/person_database/search_person_image.js +0 -26
- package/www/capacitor/person_database/search_person_request.js +0 -17
- package/www/react-native/customization/customization.js +0 -66
- package/www/react-native/customization/customization_colors.js +0 -233
- package/www/react-native/customization/customization_fonts.js +0 -106
- package/www/react-native/customization/customization_images.js +0 -129
- package/www/react-native/customization/font.js +0 -29
- package/www/react-native/detect_faces/detect_face_result.js +0 -38
- package/www/react-native/detect_faces/detect_faces_attribute.js +0 -15
- package/www/react-native/detect_faces/detect_faces_attribute_result.js +0 -20
- package/www/react-native/detect_faces/detect_faces_backend_exception.js +0 -23
- package/www/react-native/detect_faces/detect_faces_config.js +0 -14
- package/www/react-native/detect_faces/detect_faces_exception.js +0 -30
- package/www/react-native/detect_faces/detect_faces_request.js +0 -67
- package/www/react-native/detect_faces/detect_faces_response.js +0 -24
- package/www/react-native/detect_faces/detect_faces_scenario.js +0 -10
- package/www/react-native/face_capture/face_capture_config.js +0 -28
- package/www/react-native/face_capture/face_capture_exception.js +0 -25
- package/www/react-native/face_capture/face_capture_image.js +0 -26
- package/www/react-native/face_capture/face_capture_response.js +0 -17
- package/www/react-native/image_params/output_image_crop.js +0 -21
- package/www/react-native/image_params/output_image_params.js +0 -9
- package/www/react-native/image_params/point.js +0 -14
- package/www/react-native/image_params/rect.js +0 -18
- package/www/react-native/image_params/size.js +0 -9
- package/www/react-native/image_quality/image_quality_characteristic.js +0 -24
- package/www/react-native/image_quality/image_quality_characteristic_name.js +0 -58
- package/www/react-native/image_quality/image_quality_group.js +0 -332
- package/www/react-native/image_quality/image_quality_range.js +0 -26
- package/www/react-native/image_quality/image_quality_result.js +0 -40
- package/www/react-native/init/face_sdk_version.js +0 -16
- package/www/react-native/match_faces/compared_face.js +0 -21
- package/www/react-native/match_faces/compared_faces_pair.js +0 -23
- package/www/react-native/match_faces/compared_faces_split.js +0 -22
- package/www/react-native/match_faces/match_faces_backend_exception.js +0 -14
- package/www/react-native/match_faces/match_faces_config.js +0 -12
- package/www/react-native/match_faces/match_faces_detection.js +0 -25
- package/www/react-native/match_faces/match_faces_detection_face.js +0 -28
- package/www/react-native/match_faces/match_faces_exception.js +0 -30
- package/www/react-native/match_faces/match_faces_image.js +0 -25
- package/www/react-native/match_faces/match_faces_request.js +0 -13
- package/www/react-native/match_faces/match_faces_response.js +0 -28
- package/www/react-native/person_database/edit_group_persons_request.js +0 -9
- package/www/react-native/person_database/image_upload.js +0 -16
- package/www/react-native/person_database/pageable_item_list.js +0 -22
- package/www/react-native/person_database/person.js +0 -22
- package/www/react-native/person_database/person_database.js +0 -145
- package/www/react-native/person_database/person_group.js +0 -18
- package/www/react-native/person_database/person_image.js +0 -22
- package/www/react-native/person_database/search_person.js +0 -31
- package/www/react-native/person_database/search_person_detection.js +0 -22
- package/www/react-native/person_database/search_person_image.js +0 -26
- package/www/react-native/person_database/search_person_request.js +0 -17
- package/www/types/customization/customization.d.ts +0 -46
- package/www/types/customization/customization_colors.d.ts +0 -37
- package/www/types/customization/customization_fonts.d.ts +0 -23
- package/www/types/customization/customization_images.d.ts +0 -24
- package/www/types/customization/font.d.ts +0 -41
- package/www/types/detect_faces/detect_face_result.d.ts +0 -16
- package/www/types/detect_faces/detect_faces_attribute.d.ts +0 -15
- package/www/types/detect_faces/detect_faces_attribute_result.d.ts +0 -11
- package/www/types/detect_faces/detect_faces_backend_exception.d.ts +0 -15
- package/www/types/detect_faces/detect_faces_config.d.ts +0 -37
- package/www/types/detect_faces/detect_faces_exception.d.ts +0 -24
- package/www/types/detect_faces/detect_faces_request.d.ts +0 -80
- package/www/types/detect_faces/detect_faces_response.d.ts +0 -12
- package/www/types/detect_faces/detect_faces_scenario.d.ts +0 -10
- package/www/types/face_capture/face_capture_config.d.ts +0 -39
- package/www/types/face_capture/face_capture_exception.d.ts +0 -17
- package/www/types/face_capture/face_capture_image.d.ts +0 -39
- package/www/types/face_capture/face_capture_response.d.ts +0 -9
- package/www/types/image_params/output_image_crop.d.ts +0 -49
- package/www/types/image_params/output_image_params.d.ts +0 -28
- package/www/types/image_params/point.d.ts +0 -9
- package/www/types/image_params/rect.d.ts +0 -8
- package/www/types/image_params/size.d.ts +0 -6
- package/www/types/image_quality/image_quality_characteristic.d.ts +0 -7
- package/www/types/image_quality/image_quality_characteristic_name.d.ts +0 -61
- package/www/types/image_quality/image_quality_group.d.ts +0 -418
- package/www/types/image_quality/image_quality_range.d.ts +0 -8
- package/www/types/image_quality/image_quality_result.d.ts +0 -30
- package/www/types/init/face_sdk_version.d.ts +0 -16
- package/www/types/match_faces/compared_face.d.ts +0 -29
- package/www/types/match_faces/compared_faces_pair.d.ts +0 -36
- package/www/types/match_faces/compared_faces_split.d.ts +0 -8
- package/www/types/match_faces/match_faces_backend_exception.d.ts +0 -6
- package/www/types/match_faces/match_faces_config.d.ts +0 -14
- package/www/types/match_faces/match_faces_detection.d.ts +0 -30
- package/www/types/match_faces/match_faces_detection_face.d.ts +0 -43
- package/www/types/match_faces/match_faces_exception.d.ts +0 -21
- package/www/types/match_faces/match_faces_image.d.ts +0 -34
- package/www/types/match_faces/match_faces_request.d.ts +0 -34
- package/www/types/match_faces/match_faces_response.d.ts +0 -27
- package/www/types/person_database/edit_group_persons_request.d.ts +0 -8
- package/www/types/person_database/image_upload.d.ts +0 -20
- package/www/types/person_database/pageable_item_list.d.ts +0 -7
- package/www/types/person_database/person.d.ts +0 -33
- package/www/types/person_database/person_database.d.ts +0 -95
- package/www/types/person_database/person_group.d.ts +0 -22
- package/www/types/person_database/person_image.d.ts +0 -10
- package/www/types/person_database/search_person.d.ts +0 -31
- package/www/types/person_database/search_person_detection.d.ts +0 -11
- package/www/types/person_database/search_person_image.d.ts +0 -25
- package/www/types/person_database/search_person_request.d.ts +0 -39
package/RNFaceSDK.podspec
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
## How to build demo application
|
|
4
4
|
1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
|
|
5
5
|
|
|
6
|
-
2.
|
|
6
|
+
2. Run `npm run setup` within this directory.
|
|
7
7
|
|
|
8
8
|
3. Run the app:
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Android: use command `ionic cap run android`.
|
|
10
|
+
* IOS: use command `ionic cap run ios`.
|
|
11
11
|
|
|
12
|
-
**Note**: this is just one way of running the app. You can also
|
|
12
|
+
**Note**: this is just one way of running the app. You can also run it directly from Xcode and Android Studio, but in this case make sure to run `ionic cap sync` before building if any changes were make to the project.
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
## How to use offine match
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
"version": "1.0.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"setup": "
|
|
8
|
-
"
|
|
9
|
-
"
|
|
7
|
+
"setup": "npm install",
|
|
8
|
+
"android": "ionic cap run android --open",
|
|
9
|
+
"ios": "ionic cap run ios --open",
|
|
10
10
|
"dev": "vite",
|
|
11
11
|
"build": "tsc && vite build",
|
|
12
12
|
"preview": "vite preview",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"lint": "eslint"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@regulaforensics/face-sdk": "6.5.
|
|
18
|
+
"@regulaforensics/face-sdk": "6.5.67-beta",
|
|
19
19
|
"@regulaforensics/face-core-basic": "6.3.12-beta",
|
|
20
20
|
"@awesome-cordova-plugins/camera": "6.6.0",
|
|
21
21
|
"@awesome-cordova-plugins/file": "6.6.0",
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
## How to build demo application
|
|
4
4
|
1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
|
|
5
5
|
|
|
6
|
-
2.
|
|
6
|
+
2. Run `npm run setup` within this directory.
|
|
7
7
|
|
|
8
8
|
3. Run the app:
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Android: use command `npm run android`.
|
|
10
|
+
* IOS: use command `npm run ios`.
|
|
11
11
|
|
|
12
|
-
**Note**: this is just one way of running the app. You can also
|
|
12
|
+
**Note**: this is just one way of running the app. You can also run it directly from Xcode and Android Studio, but in this case make sure to run `cordova prepare ios` and `cordova prepare android` before building if any changes were make to the project.
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
## How to use offine match
|
|
@@ -4,12 +4,17 @@
|
|
|
4
4
|
"version": "1.0.0",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"setup": "
|
|
8
|
-
"
|
|
9
|
-
"
|
|
7
|
+
"setup": "npm install && cordova prepare",
|
|
8
|
+
"android": "cordova run android",
|
|
9
|
+
"ios": "cordova run ios"
|
|
10
10
|
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"ecosystem:cordova"
|
|
13
|
+
],
|
|
14
|
+
"author": "Regula Forensics Inc.",
|
|
15
|
+
"license": "commercial",
|
|
11
16
|
"dependencies": {
|
|
12
|
-
"@regulaforensics/face-sdk": "6.5.
|
|
17
|
+
"@regulaforensics/face-sdk": "6.5.67-beta",
|
|
13
18
|
"@regulaforensics/face-core-basic": "6.3.12-beta",
|
|
14
19
|
"cordova-android": "13.0.0",
|
|
15
20
|
"cordova-ios": "7.1.1",
|
|
@@ -31,4 +36,4 @@
|
|
|
31
36
|
"ios"
|
|
32
37
|
]
|
|
33
38
|
}
|
|
34
|
-
}
|
|
39
|
+
}
|
package/examples/ionic/README.md
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
## How to build demo application
|
|
4
4
|
1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
|
|
5
5
|
|
|
6
|
-
2.
|
|
6
|
+
2. Run `npm run setup` within this directory.
|
|
7
7
|
|
|
8
8
|
3. Run the app:
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Android: use command `npm run android`.
|
|
10
|
+
* IOS: use command `npm run ios`.
|
|
11
11
|
|
|
12
|
-
**Note**: this is just one way of running the app. You can also
|
|
12
|
+
**Note**: this is just one way of running the app. You can also run it directly from Xcode and Android Studio, but in this case make sure to run `ionic cordova prepare ios` and `ionic cordova prepare android` before building if any changes were make to the project.
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
## How to use offine match
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
"author": "Ionic Framework",
|
|
5
5
|
"homepage": "https://ionicframework.com/",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"setup": "
|
|
8
|
-
"
|
|
9
|
-
"
|
|
7
|
+
"setup": "npm install && ionic cordova prepare",
|
|
8
|
+
"android": "ionic cordova run android",
|
|
9
|
+
"ios": "ionic cordova run ios",
|
|
10
10
|
"ng": "ng",
|
|
11
11
|
"start": "ng serve",
|
|
12
12
|
"build": "ng build",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"private": true,
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@regulaforensics/face-sdk": "6.5.
|
|
19
|
+
"@regulaforensics/face-sdk": "6.5.67-beta",
|
|
20
20
|
"@regulaforensics/face-core-basic": "6.3.12-beta",
|
|
21
21
|
"cordova-plugin-camera": "8.0.0",
|
|
22
22
|
"@awesome-cordova-plugins/camera": "6.14.0",
|
|
@@ -3,7 +3,7 @@ import { Dialogs } from '@awesome-cordova-plugins/dialogs/ngx'
|
|
|
3
3
|
import { File } from '@awesome-cordova-plugins/file'
|
|
4
4
|
import { Camera, DestinationType, MediaType, PictureSourceType } from '@awesome-cordova-plugins/camera/ngx'
|
|
5
5
|
import { Platform } from '@ionic/angular'
|
|
6
|
-
import { FaceSDK,
|
|
6
|
+
import { FaceSDK, InitConfig, LivenessSkipStep, LivenessStatus, LivenessConfig } from '@regulaforensics/face-sdk'
|
|
7
7
|
|
|
8
8
|
async function init() {
|
|
9
9
|
if (!await initialize()) return
|
|
@@ -20,33 +20,14 @@ async function startLiveness() {
|
|
|
20
20
|
}
|
|
21
21
|
})
|
|
22
22
|
if (response.image == null) return
|
|
23
|
-
setImage(response.image,
|
|
23
|
+
setImage(response.image, 1)
|
|
24
24
|
setLivenessStatus(response.liveness == LivenessStatus.PASSED ? "passed" : "unknown")
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
async function matchFaces() {
|
|
28
|
-
if (image1 == null || image2 == null) {
|
|
29
|
-
setStatus("Both images required!")
|
|
30
|
-
return
|
|
31
|
-
}
|
|
32
|
-
setStatus("Processing...")
|
|
33
|
-
var request = new MatchFacesRequest([image1, image2])
|
|
34
|
-
var response = await faceSdk.matchFaces(request)
|
|
35
|
-
var split = await faceSdk.splitComparedFaces(response.results, 0.75)
|
|
36
|
-
var match = split.matchedFaces
|
|
37
|
-
setSimilarityStatus("failed")
|
|
38
|
-
if (match.length > 0)
|
|
39
|
-
setSimilarityStatus((match[0].similarity * 100).toFixed(2) + "%")
|
|
40
|
-
setStatus("Ready")
|
|
41
|
-
}
|
|
42
|
-
|
|
43
27
|
function clearResults() {
|
|
44
28
|
setStatus("Ready")
|
|
45
|
-
setSimilarityStatus("null")
|
|
46
29
|
setLivenessStatus("null")
|
|
47
30
|
resetImages()
|
|
48
|
-
image1 = null
|
|
49
|
-
image2 = null
|
|
50
31
|
}
|
|
51
32
|
|
|
52
33
|
// If 'regula.license' exists, init using license(enables offline match)
|
|
@@ -64,40 +45,14 @@ async function initialize() {
|
|
|
64
45
|
return success
|
|
65
46
|
}
|
|
66
47
|
|
|
67
|
-
function setImage(base64: string,
|
|
48
|
+
function setImage(base64: string, position: number) {
|
|
68
49
|
setSimilarityStatus("null")
|
|
69
|
-
var mfImage = new MatchFacesImage(base64, type)
|
|
70
50
|
if (position == 1) {
|
|
71
|
-
image1 = mfImage
|
|
72
51
|
setUiImage1("data:image/png;base64," + base64)
|
|
73
52
|
setLivenessStatus("null")
|
|
74
53
|
}
|
|
75
|
-
if (position == 2)
|
|
76
|
-
image2 = mfImage
|
|
54
|
+
if (position == 2)
|
|
77
55
|
setUiImage2("data:image/png;base64," + base64)
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
async function useCamera(position: number) {
|
|
82
|
-
var response = await faceSdk.startFaceCapture()
|
|
83
|
-
if (response.image == null) return
|
|
84
|
-
var image = response.image
|
|
85
|
-
setImage(image.image, image.imageType, position)
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function useGallery(position: number) {
|
|
89
|
-
app.camera.getPicture({
|
|
90
|
-
destinationType: DestinationType.DATA_URL,
|
|
91
|
-
mediaType: MediaType.PICTURE,
|
|
92
|
-
sourceType: PictureSourceType.PHOTOLIBRARY
|
|
93
|
-
}).then((result: string) => setImage(result, ImageType.PRINTED, position))
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function pickImage(position: number) {
|
|
97
|
-
app.dialogs.confirm("", "Select option", ["Use gallery", "Use camera"]).then(button => {
|
|
98
|
-
if (button == 1) useGallery(position)
|
|
99
|
-
else useCamera(position)
|
|
100
|
-
})
|
|
101
56
|
}
|
|
102
57
|
|
|
103
58
|
async function loadAssetIfExists(path: string): Promise<string | null> {
|
|
@@ -118,10 +73,7 @@ async function loadAssetIfExists(path: string): Promise<string | null> {
|
|
|
118
73
|
}
|
|
119
74
|
|
|
120
75
|
var app: HomePage
|
|
121
|
-
var faceSdk = FaceSDK
|
|
122
|
-
|
|
123
|
-
var image1: MatchFacesImage | null
|
|
124
|
-
var image2: MatchFacesImage | null
|
|
76
|
+
var faceSdk = new FaceSDK()
|
|
125
77
|
|
|
126
78
|
var setStatus = (data: string) => app.status.nativeElement.innerHTML = data
|
|
127
79
|
var setSimilarityStatus = (data: string) => app.similarityResult.nativeElement.innerHTML = data
|
|
@@ -154,9 +106,6 @@ export class HomePage {
|
|
|
154
106
|
async ionViewDidEnter() {
|
|
155
107
|
app = this
|
|
156
108
|
|
|
157
|
-
app.img1.nativeElement.onclick = () => pickImage(1)
|
|
158
|
-
app.img2.nativeElement.onclick = () => pickImage(2)
|
|
159
|
-
app.matchFacesButton.nativeElement.addEventListener("click", matchFaces)
|
|
160
109
|
app.livenessButton.nativeElement.addEventListener("click", startLiveness)
|
|
161
110
|
app.clearResultsButton.nativeElement.addEventListener("click", clearResults)
|
|
162
111
|
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
## How to build demo application
|
|
4
4
|
1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/npm-face-sdk.git`.
|
|
5
5
|
|
|
6
|
-
2.
|
|
6
|
+
2. Run `npm run setup` within this directory.
|
|
7
7
|
|
|
8
8
|
3. Run the app:
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Android: use command `npm run android`.
|
|
10
|
+
* IOS: use command `npm run ios`.
|
|
11
11
|
|
|
12
|
-
**Note**: this is just one way of running the app. You can also
|
|
12
|
+
**Note**: this is just one way of running the app. You can also run it directly from Xcode and Android Studio, but in this case make sure that Metro Bundler is running(`npm start`).
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
## How to use offine match
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"private": true,
|
|
5
5
|
"scripts": {
|
|
6
|
-
"setup": "
|
|
7
|
-
"
|
|
8
|
-
"android": "
|
|
6
|
+
"setup": "npm install && (cd ios && bundle install) && npm run pod-install",
|
|
7
|
+
"pod-install": "cd ios && RCT_NEW_ARCH_ENABLED=1 bundle exec pod update",
|
|
8
|
+
"android": "react-native run-android",
|
|
9
|
+
"ios": "react-native run-ios",
|
|
9
10
|
"lint": "eslint .",
|
|
10
11
|
"start": "react-native start",
|
|
11
12
|
"test": "jest"
|
|
12
13
|
},
|
|
13
14
|
"dependencies": {
|
|
14
|
-
"@regulaforensics/face-sdk": "6.5.
|
|
15
|
+
"@regulaforensics/face-sdk": "6.5.67-beta",
|
|
15
16
|
"@regulaforensics/face-core-basic": "6.3.12-beta",
|
|
16
17
|
"react": "18.3.1",
|
|
17
18
|
"react-native": "0.76.6",
|
package/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@regulaforensics/face-sdk",
|
|
3
|
-
"version": "6.5.
|
|
3
|
+
"version": "6.5.67-beta",
|
|
4
4
|
"description": "This is an npm module for Regula Face SDK. It allows you to easily compaire faces using your phone's camera.",
|
|
5
|
-
"main": "www/react-native/index.js",
|
|
6
5
|
"module": "www/capacitor/index.js",
|
|
7
6
|
"types": "www/types/index.d.ts",
|
|
8
7
|
"cordova": {
|
package/plugin.xml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<?xml version='1.0' encoding='utf-8'?>
|
|
2
|
-
<plugin id="@regulaforensics/face-sdk" version="6.5.
|
|
2
|
+
<plugin id="@regulaforensics/face-sdk" version="6.5.67-beta" xmlns="http://apache.org/cordova/ns/plugins/1.0">
|
|
3
3
|
<name>FaceSDK</name>
|
|
4
4
|
<description>Cordova plugin for Regula Face SDK</description>
|
|
5
5
|
<license>commercial</license>
|
package/www/capacitor/index.js
CHANGED
|
@@ -1,146 +1,24 @@
|
|
|
1
1
|
import { exec, _setVideoEncoderCompletion, _setLivenessNotificationCompletion, _setCameraSwitchCallback } from './internal/bridge'
|
|
2
2
|
|
|
3
|
-
import { CameraPosition } from './customization/camera_position'
|
|
4
|
-
import { CustomizationColors } from './customization/customization_colors'
|
|
5
|
-
import { CustomizationFonts } from './customization/customization_fonts'
|
|
6
|
-
import { CustomizationImages } from './customization/customization_images'
|
|
7
|
-
import { Customization } from './customization/customization'
|
|
8
|
-
import { Font } from './customization/font'
|
|
9
|
-
import { ScreenOrientation } from './customization/screen_orientation'
|
|
10
|
-
|
|
11
|
-
export { CameraPosition, CustomizationColors, CustomizationFonts, CustomizationImages, Customization, Font, ScreenOrientation }
|
|
12
|
-
|
|
13
|
-
import { FaceSDKVersion } from './init/face_sdk_version'
|
|
14
3
|
import { InitConfig } from './init/init_config'
|
|
15
4
|
import { InitException } from './init/init_exception'
|
|
16
5
|
import { InitErrorCode } from './init/init_exception'
|
|
17
6
|
import { LicenseException } from './init/license_exception'
|
|
18
7
|
import { LicensingResultCode } from './init/license_exception'
|
|
19
8
|
|
|
20
|
-
export {
|
|
21
|
-
|
|
22
|
-
import { DetectFaceResult } from './detect_faces/detect_face_result'
|
|
23
|
-
import { DetectFacesAttributeResult } from './detect_faces/detect_faces_attribute_result'
|
|
24
|
-
import { DetectFacesAttribute } from './detect_faces/detect_faces_attribute'
|
|
25
|
-
import { DetectFacesBackendException, DetectFacesBackendErrorCode } from './detect_faces/detect_faces_backend_exception'
|
|
26
|
-
import { DetectFacesConfig } from './detect_faces/detect_faces_config'
|
|
27
|
-
import { DetectFacesException, DetectFacesErrorCode } from './detect_faces/detect_faces_exception'
|
|
28
|
-
import { DetectFacesRequest } from './detect_faces/detect_faces_request'
|
|
29
|
-
import { DetectFacesResponse } from './detect_faces/detect_faces_response'
|
|
30
|
-
import { DetectFacesScenario } from './detect_faces/detect_faces_scenario'
|
|
31
|
-
|
|
32
|
-
export { DetectFaceResult, DetectFacesAttributeResult, DetectFacesAttribute, DetectFacesBackendException, DetectFacesBackendErrorCode, DetectFacesConfig, DetectFacesException, DetectFacesErrorCode, DetectFacesRequest, DetectFacesResponse, DetectFacesScenario }
|
|
33
|
-
|
|
34
|
-
import { FaceCaptureConfig } from './face_capture/face_capture_config'
|
|
35
|
-
import { FaceCaptureException, FaceCaptureErrorCode } from './face_capture/face_capture_exception'
|
|
36
|
-
import { FaceCaptureImage, ImageType } from './face_capture/face_capture_image'
|
|
37
|
-
import { FaceCaptureResponse } from './face_capture/face_capture_response'
|
|
38
|
-
|
|
39
|
-
export { FaceCaptureConfig, FaceCaptureException, FaceCaptureErrorCode, FaceCaptureImage, ImageType, FaceCaptureResponse }
|
|
40
|
-
|
|
41
|
-
import { OutputImageCrop, OutputImageCropAspectRatio } from './image_params/output_image_crop'
|
|
42
|
-
import { OutputImageParams } from './image_params/output_image_params'
|
|
43
|
-
import { Point } from './image_params/point'
|
|
44
|
-
import { Rect } from './image_params/rect'
|
|
45
|
-
import { Size } from './image_params/size'
|
|
46
|
-
|
|
47
|
-
export { OutputImageCrop, OutputImageCropAspectRatio, OutputImageParams, Point, Rect, Size }
|
|
48
|
-
|
|
49
|
-
import { ImageQualityCharacteristicName } from './image_quality/image_quality_characteristic_name'
|
|
50
|
-
import { ImageQualityCharacteristic } from './image_quality/image_quality_characteristic'
|
|
51
|
-
import { ImageQualityGroup } from './image_quality/image_quality_group'
|
|
52
|
-
import { ImageQualityRange } from './image_quality/image_quality_range'
|
|
53
|
-
import { ImageQualityResult, ImageQualityGroupName, ImageQualityResultStatus } from './image_quality/image_quality_result'
|
|
54
|
-
|
|
55
|
-
export { ImageQualityCharacteristicName, ImageQualityCharacteristic, ImageQualityGroup, ImageQualityRange, ImageQualityResult, ImageQualityGroupName, ImageQualityResultStatus }
|
|
9
|
+
export { InitConfig, InitException, InitErrorCode, LicenseException, LicensingResultCode }
|
|
56
10
|
|
|
11
|
+
import { CameraPosition } from './customization/camera_position'
|
|
12
|
+
import { ScreenOrientation } from './customization/screen_orientation'
|
|
57
13
|
import { LivenessBackendException, LivenessBackendErrorCode } from './liveness/liveness_backend_exception'
|
|
58
14
|
import { LivenessConfig, RecordingProcess, LivenessType, LivenessSkipStep } from './liveness/liveness_config'
|
|
59
15
|
import { LivenessException, LivenessErrorCode } from './liveness/liveness_exception'
|
|
60
16
|
import { LivenessNotification, LivenessProcessStatus } from './liveness/liveness_notification'
|
|
61
17
|
import { LivenessResponse, LivenessStatus } from './liveness/liveness_response'
|
|
62
18
|
|
|
63
|
-
export { LivenessBackendException, LivenessBackendErrorCode, LivenessConfig, RecordingProcess, LivenessType, LivenessSkipStep, LivenessException, LivenessErrorCode, LivenessNotification, LivenessProcessStatus, LivenessResponse, LivenessStatus }
|
|
64
|
-
|
|
65
|
-
import { ComparedFace } from './match_faces/compared_face'
|
|
66
|
-
import { ComparedFacesPair } from './match_faces/compared_faces_pair'
|
|
67
|
-
import { ComparedFacesSplit } from './match_faces/compared_faces_split'
|
|
68
|
-
import { MatchFacesBackendException } from './match_faces/match_faces_backend_exception'
|
|
69
|
-
import { MatchFacesConfig, ProcessingMode } from './match_faces/match_faces_config'
|
|
70
|
-
import { MatchFacesDetectionFace } from './match_faces/match_faces_detection_face'
|
|
71
|
-
import { MatchFacesDetection } from './match_faces/match_faces_detection'
|
|
72
|
-
import { MatchFacesException, MatchFacesErrorCode } from './match_faces/match_faces_exception'
|
|
73
|
-
import { MatchFacesImage } from './match_faces/match_faces_image'
|
|
74
|
-
import { MatchFacesRequest } from './match_faces/match_faces_request'
|
|
75
|
-
import { MatchFacesResponse } from './match_faces/match_faces_response'
|
|
76
|
-
|
|
77
|
-
export { ComparedFace, ComparedFacesPair, ComparedFacesSplit, MatchFacesBackendException, MatchFacesConfig, ProcessingMode, MatchFacesDetectionFace, MatchFacesDetection, MatchFacesException, MatchFacesErrorCode, MatchFacesImage, MatchFacesRequest, MatchFacesResponse }
|
|
78
|
-
|
|
79
|
-
import { EditGroupPersonsRequest } from './person_database/edit_group_persons_request'
|
|
80
|
-
import { ImageUpload } from './person_database/image_upload'
|
|
81
|
-
import { PageableItemList } from './person_database/pageable_item_list'
|
|
82
|
-
import { PersonDatabase } from './person_database/person_database'
|
|
83
|
-
import { PersonGroup } from './person_database/person_group'
|
|
84
|
-
import { PersonImage } from './person_database/person_image'
|
|
85
|
-
import { Person } from './person_database/person'
|
|
86
|
-
import { SearchPersonDetection } from './person_database/search_person_detection'
|
|
87
|
-
import { SearchPersonImage } from './person_database/search_person_image'
|
|
88
|
-
import { SearchPersonRequest } from './person_database/search_person_request'
|
|
89
|
-
import { SearchPerson } from './person_database/search_person'
|
|
90
|
-
|
|
91
|
-
export { EditGroupPersonsRequest, ImageUpload, PageableItemList, PersonDatabase, PersonGroup, PersonImage, Person, SearchPersonDetection, SearchPersonImage, SearchPersonRequest, SearchPerson }
|
|
92
|
-
|
|
19
|
+
export { LivenessBackendException, LivenessBackendErrorCode, LivenessConfig, RecordingProcess, LivenessType, LivenessSkipStep, LivenessException, LivenessErrorCode, LivenessNotification, LivenessProcessStatus, LivenessResponse, LivenessStatus, CameraPosition, ScreenOrientation }
|
|
93
20
|
|
|
94
21
|
export class FaceSDK {
|
|
95
|
-
static get instance() { return FaceSDK._instance }
|
|
96
|
-
static _instance = new FaceSDK()
|
|
97
|
-
|
|
98
|
-
get version() { return this._version }
|
|
99
|
-
_version
|
|
100
|
-
|
|
101
|
-
get serviceUrl() { return this._serviceUrl }
|
|
102
|
-
_serviceUrl
|
|
103
|
-
set serviceUrl(val) {
|
|
104
|
-
this._serviceUrl = val
|
|
105
|
-
this._setServiceUrl(val)
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
get localizationDictionary() { return this._localizationDictionary }
|
|
109
|
-
_localizationDictionary
|
|
110
|
-
set localizationDictionary(val) {
|
|
111
|
-
var temp = Object.assign({}, val);
|
|
112
|
-
Object.freeze(temp);
|
|
113
|
-
this._localizationDictionary = temp
|
|
114
|
-
this._setLocalizationDictionary(val)
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
get requestHeaders() { return this._requestHeaders }
|
|
118
|
-
_requestHeaders
|
|
119
|
-
set requestHeaders(val) {
|
|
120
|
-
var temp = Object.assign({}, val);
|
|
121
|
-
Object.freeze(temp);
|
|
122
|
-
this._requestHeaders = temp
|
|
123
|
-
this._setRequestHeaders(val)
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
get customization() { return this._customization }
|
|
127
|
-
_customization = new Customization()
|
|
128
|
-
set customization(val) {
|
|
129
|
-
this._customization = val
|
|
130
|
-
this._customization._apply()
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
set videoEncoderCompletion(completion) {
|
|
134
|
-
_setVideoEncoderCompletion(completion)
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
get personDatabase() { return this._personDatabase }
|
|
138
|
-
_personDatabase = new PersonDatabase()
|
|
139
|
-
|
|
140
|
-
async isInitialized() {
|
|
141
|
-
return await exec("isInitialized", [])
|
|
142
|
-
}
|
|
143
|
-
|
|
144
22
|
async initialize(params) {
|
|
145
23
|
var response = await exec("initialize", [params?.config])
|
|
146
24
|
|
|
@@ -148,8 +26,6 @@ export class FaceSDK {
|
|
|
148
26
|
var success = jsonObject["success"]
|
|
149
27
|
var error = jsonObject["error"]
|
|
150
28
|
|
|
151
|
-
if (success) await this._onInit()
|
|
152
|
-
|
|
153
29
|
return [success, InitException.fromJson(error)]
|
|
154
30
|
}
|
|
155
31
|
|
|
@@ -157,16 +33,6 @@ export class FaceSDK {
|
|
|
157
33
|
exec("deinitialize", [])
|
|
158
34
|
}
|
|
159
35
|
|
|
160
|
-
async startFaceCapture(params) {
|
|
161
|
-
_setCameraSwitchCallback(params?.cameraSwitchCallback)
|
|
162
|
-
var response = await exec("startFaceCapture", [params?.config])
|
|
163
|
-
return FaceCaptureResponse.fromJson(JSON.parse(response))
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
stopFaceCapture() {
|
|
167
|
-
exec("stopFaceCapture", [])
|
|
168
|
-
}
|
|
169
|
-
|
|
170
36
|
async startLiveness(params) {
|
|
171
37
|
_setCameraSwitchCallback(params?.cameraSwitchCallback)
|
|
172
38
|
_setLivenessNotificationCompletion(params?.notificationCompletion)
|
|
@@ -177,45 +43,4 @@ export class FaceSDK {
|
|
|
177
43
|
stopLiveness() {
|
|
178
44
|
exec("stopLiveness", [])
|
|
179
45
|
}
|
|
180
|
-
|
|
181
|
-
async matchFaces(request, params) {
|
|
182
|
-
var response = await exec("matchFaces", [request, params?.config])
|
|
183
|
-
return MatchFacesResponse.fromJson(JSON.parse(response))
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
async splitComparedFaces(facesPairs, similarityThreshold) {
|
|
187
|
-
var response = await exec("splitComparedFaces", [facesPairs, similarityThreshold])
|
|
188
|
-
return ComparedFacesSplit.fromJson(JSON.parse(response))
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
async detectFaces(request) {
|
|
192
|
-
var response = await exec("detectFaces", [request])
|
|
193
|
-
return DetectFacesResponse.fromJson(JSON.parse(response))
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
async _onInit() {
|
|
197
|
-
this._version = await this._getVersion()
|
|
198
|
-
this._serviceUrl = await this._getServiceUrl()
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
async _getVersion() {
|
|
202
|
-
var response = await exec("getVersion", [])
|
|
203
|
-
return FaceSDKVersion.fromJson(JSON.parse(response))
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
async _getServiceUrl() {
|
|
207
|
-
return await exec("getServiceUrl", [])
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
_setServiceUrl(url) {
|
|
211
|
-
exec("setServiceUrl", [url])
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
_setLocalizationDictionary(dictionary) {
|
|
215
|
-
exec("setLocalizationDictionary", [dictionary])
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
_setRequestHeaders(dictionary) {
|
|
219
|
-
exec("setRequestHeaders", [dictionary])
|
|
220
|
-
}
|
|
221
46
|
}
|