updated build platform and typedoc theme

pull/193/head
Vladimir Mandic 2021-09-18 19:09:02 -04:00
parent e169152ef1
commit 6b03eb4287
47 changed files with 3297 additions and 35224 deletions

View File

@ -11,6 +11,7 @@
### **HEAD -> main** 2021/09/17 mandic00@live.com
- webgl exception handling
### **2.2.2** 2021/09/17 mandic00@live.com

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -23,7 +23,7 @@
"scripts": {
"start": "node --no-warnings demo/nodejs/node.js",
"dev": "build --profile development",
"build": "build --profile production",
"build": "rimraf test/build.log && build --profile production",
"test": "node --no-warnings --unhandled-rejections=strict --trace-uncaught test/test.js",
"lint": "eslint src demo test",
"scan": "npx auditjs@latest ossi --dev --quiet"
@ -69,7 +69,7 @@
"@types/node": "^16.9.2",
"@typescript-eslint/eslint-plugin": "^4.31.1",
"@typescript-eslint/parser": "^4.31.1",
"@vladmandic/build": "^0.4.1",
"@vladmandic/build": "^0.5.1",
"@vladmandic/pilogger": "^0.3.2",
"canvas": "^2.8.0",
"dayjs": "^1.10.7",
@ -81,9 +81,10 @@
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.1.0",
"node-fetch": "^3.0.0",
"rimraf": "^3.0.2",
"seedrandom": "^3.0.5",
"tslib": "^2.3.1",
"typedoc": "0.22.3",
"typedoc": "0.22.4",
"typescript": "4.4.3"
}
}

View File

@ -34,10 +34,7 @@ export function reset(instance) {
};
}
/** Load method preloads all instance.configured models on-demand
* - Not explicitly required as any required model is load implicitly on it's first run
* @param userinstance.config?: {@link instance.config}
*/
/** Load method preloads all instance.configured models on-demand */
export async function load(instance) {
if (env.initial) reset(instance);
if (instance.config.async) { // load models concurrently

View File

@ -181,7 +181,7 @@ export interface Result {
hand: Array<HandResult>,
/** {@link GestureResult}: detection & analysis results */
gesture: Array<GestureResult>,
/** {@link ItemResult}: detection & analysis results */
/** {@link ObjectResult}: detection & analysis results */
object: Array<ObjectResult>
/** global performance object with timing values for each operation */
performance: Record<string, unknown>,

File diff suppressed because it is too large Load Diff

View File

@ -144,12 +144,15 @@ async function test(Human, inputConfig) {
return;
}
const t0 = process.hrtime.bigint();
const human = new Human(config);
let human;
// test event emitter
human = new Human(config);
human.events.addEventListener('warmup', () => events('warmup'));
human.events.addEventListener('image', () => events('image'));
human.events.addEventListener('detect', () => events('detect'));
// await human.tf.ready();
// test warmup sequences
await testInstance(human);
config.warmup = 'none';
await testWarmup(human, 'default');
@ -158,33 +161,63 @@ async function test(Human, inputConfig) {
config.warmup = 'body';
await testWarmup(human, 'default');
// test default config
log('info', 'test default');
human = new Human(config);
await testDetect(human, 'samples/ai-body.jpg', 'default');
// test detectors only
log('info', 'test detectors');
config.face = { mesh: { enabled: false }, iris: { enabled: false }, hand: { landmarks: false } };
human = new Human(config);
await testDetect(human, 'samples/ai-body.jpg', 'default');
// test posenet and movenet
log('info', 'test body variants');
config.body = { modelPath: 'posenet.json' };
await testDetect(human, 'samples/ai-body.jpg', 'posenet');
config.body = { modelPath: 'movenet-lightning.json' };
await testDetect(human, 'samples/ai-body.jpg', 'movenet');
// test multiple instances
const first = new Human(config);
const second = new Human(config);
await testDetect(human, null, 'default');
log('info', 'test: first instance');
await testDetect(human, 'samples/ai-upper.jpg', 'default');
await testDetect(first, 'samples/ai-upper.jpg', 'default');
log('info', 'test: second instance');
const second = new Human(config);
await testDetect(second, 'samples/ai-upper.jpg', 'default');
// test async multiple instances
log('info', 'test: concurrent');
await Promise.all([
testDetect(human, 'samples/ai-face.jpg', 'default'),
testDetect(first, 'samples/ai-face.jpg', 'default'),
testDetect(second, 'samples/ai-face.jpg', 'default'),
testDetect(human, 'samples/ai-body.jpg', 'default'),
testDetect(first, 'samples/ai-body.jpg', 'default'),
testDetect(second, 'samples/ai-body.jpg', 'default'),
testDetect(human, 'samples/ai-upper.jpg', 'default'),
testDetect(first, 'samples/ai-upper.jpg', 'default'),
testDetect(second, 'samples/ai-upper.jpg', 'default'),
]);
// tests end
const t1 = process.hrtime.bigint();
// check tensor leaks
const leak = human.tf.engine().state.numTensors - tensors;
if (leak === 0) log('state', 'passeed: no memory leak');
else log('error', 'failed: memory leak', leak);
// check if all instances reported same
const tensors1 = human.tf.engine().state.numTensors;
const tensors2 = first.tf.engine().state.numTensors;
const tensors3 = second.tf.engine().state.numTensors;
if (tensors1 === tensors2 && tensors1 === tensors3 && tensors2 === tensors3) log('state', 'passeed: equal usage');
else log('error', 'failed: equal usage', tensors1, tensors2, tensors3);
// report end
log('info', 'events:', evt);
log('info', 'test complete:', Math.trunc(Number(t1 - t0) / 1000 / 1000), 'ms');
}

View File

@ -1,291 +1,297 @@
2021-09-17 14:29:35 INFO:  @vladmandic/human version 2.2.2
2021-09-17 14:29:35 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0
2021-09-17 14:29:35 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"]
2021-09-17 14:29:35 INFO: 
2021-09-17 14:29:35 INFO:  test-node.js start
2021-09-17 14:29:36 STATE: test-node.js passed: create human
2021-09-17 14:29:36 INFO:  test-node.js human version: 2.2.2
2021-09-17 14:29:36 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-17 14:29:36 INFO:  test-node.js tfjs version: 3.9.0
2021-09-17 14:29:37 STATE: test-node.js passed: set backend: tensorflow
2021-09-17 14:29:37 STATE: test-node.js tensors 573
2021-09-17 14:29:37 STATE: test-node.js passed: load models
2021-09-17 14:29:37 STATE: test-node.js result: defined models: 14 loaded models: 3
2021-09-17 14:29:37 STATE: test-node.js passed: warmup: none default
2021-09-17 14:29:37 STATE: test-node.js event: image
2021-09-17 14:29:37 STATE: test-node.js event: detect
2021-09-17 14:29:37 STATE: test-node.js event: warmup
2021-09-17 14:29:37 STATE: test-node.js passed: warmup: face default
2021-09-17 14:29:37 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":23.6,"gender":"female"} {} {}
2021-09-17 14:29:37 DATA:  test-node.js result: performance: load: 121 total: 616
2021-09-17 14:29:37 STATE: test-node.js event: image
2021-09-17 14:29:38 STATE: test-node.js event: detect
2021-09-17 14:29:38 STATE: test-node.js event: warmup
2021-09-17 14:29:38 STATE: test-node.js passed: warmup: body default
2021-09-17 14:29:38 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:38 DATA:  test-node.js result: performance: load: 121 total: 314
2021-09-17 14:29:38 INFO:  test-node.js test default
2021-09-17 14:29:38 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:38 STATE: test-node.js event: image
2021-09-17 14:29:39 STATE: test-node.js event: detect
2021-09-17 14:29:39 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:39 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:39 DATA:  test-node.js result: performance: load: 121 total: 258
2021-09-17 14:29:39 INFO:  test-node.js test body variants
2021-09-17 14:29:39 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:39 STATE: test-node.js event: image
2021-09-17 14:29:40 STATE: test-node.js event: detect
2021-09-17 14:29:40 STATE: test-node.js passed: detect: samples/ai-body.jpg posenet
2021-09-17 14:29:40 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:40 DATA:  test-node.js result: performance: load: 121 total: 162
2021-09-17 14:29:40 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:40 STATE: test-node.js event: image
2021-09-17 14:29:41 STATE: test-node.js event: detect
2021-09-17 14:29:41 STATE: test-node.js passed: detect: samples/ai-body.jpg movenet
2021-09-17 14:29:41 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:41 DATA:  test-node.js result: performance: load: 121 total: 140
2021-09-17 14:29:41 STATE: test-node.js event: image
2021-09-17 14:29:41 STATE: test-node.js event: detect
2021-09-17 14:29:41 STATE: test-node.js passed: detect: random default
2021-09-17 14:29:41 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2021-09-17 14:29:41 DATA:  test-node.js result: performance: load: 121 total: 52
2021-09-17 14:29:41 INFO:  test-node.js test: first instance
2021-09-17 14:29:41 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:41 STATE: test-node.js event: image
2021-09-17 14:29:41 STATE: test-node.js event: detect
2021-09-17 14:29:41 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:41 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2021-09-17 14:29:41 DATA:  test-node.js result: performance: load: 121 total: 0
2021-09-17 14:29:41 INFO:  test-node.js test: second instance
2021-09-17 14:29:41 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:42 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:42 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {"score":0.69,"keypoints":10}
2021-09-17 14:29:42 DATA:  test-node.js result: performance: load: 62 total: 282
2021-09-17 14:29:42 INFO:  test-node.js test: concurrent
2021-09-17 14:29:42 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:42 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:43 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:43 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:44 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:44 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:44 STATE: test-node.js event: image
2021-09-17 14:29:44 STATE: test-node.js event: image
2021-09-17 14:29:44 STATE: test-node.js event: image
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 0 person: 0 {} {} {"score":0.69,"keypoints":10}
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 62 total: 552
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {"score":0.69,"keypoints":10}
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 62 total: 635
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 5 object: 0 person: 1 {"score":0.42,"age":29.5,"gender":"female"} {} {"score":0.47,"keypoints":4}
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 62 total: 782
2021-09-17 14:29:45 STATE: test-node.js event: detect
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 121 total: 1137
2021-09-17 14:29:45 STATE: test-node.js event: detect
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 121 total: 1369
2021-09-17 14:29:45 STATE: test-node.js event: detect
2021-09-17 14:29:45 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:29:45 DATA:  test-node.js result: face: 2 body: 0 hand: 0 gesture: 9 object: 0 person: 2 {"score":1,"age":23.6,"gender":"female"} {} {}
2021-09-17 14:29:45 DATA:  test-node.js result: performance: load: 121 total: 1453
2021-09-17 14:29:45 STATE: test-node.js passeed: no memory leak
2021-09-17 14:29:45 INFO:  test-node.js events: {"image":10,"detect":10,"warmup":2}
2021-09-17 14:29:45 INFO:  test-node.js test complete: 8981 ms
2021-09-17 14:29:45 INFO: 
2021-09-17 14:29:45 INFO:  test-node-gpu.js start
2021-09-17 14:29:47 WARN:  test-node-gpu.js stderr: 2021-09-17 14:29:47.030520: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2021-09-17 14:29:47 WARN:  test-node-gpu.js stderr: 2021-09-17 14:29:47.286695: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2021-09-17 14:29:47 WARN:  test-node-gpu.js stderr: 2021-09-17 14:29:47.286735: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (wyse): /proc/driver/nvidia/version does not exist
2021-09-17 14:29:47 STATE: test-node-gpu.js passed: create human
2021-09-17 14:29:47 INFO:  test-node-gpu.js human version: 2.2.2
2021-09-17 14:29:47 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-17 14:29:47 INFO:  test-node-gpu.js tfjs version: 3.9.0
2021-09-17 14:29:47 STATE: test-node-gpu.js passed: set backend: tensorflow
2021-09-17 14:29:47 STATE: test-node-gpu.js tensors 1456
2021-09-17 14:29:47 STATE: test-node-gpu.js passed: load models
2021-09-17 14:29:47 STATE: test-node-gpu.js result: defined models: 14 loaded models: 7
2021-09-17 14:29:47 STATE: test-node-gpu.js passed: warmup: none default
2021-09-17 14:29:47 STATE: test-node-gpu.js event: image
2021-09-17 14:29:49 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:49 STATE: test-node-gpu.js event: warmup
2021-09-17 14:29:49 STATE: test-node-gpu.js passed: warmup: face default
2021-09-17 14:29:49 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2021-09-17 14:29:49 DATA:  test-node-gpu.js result: performance: load: 288 total: 1336
2021-09-17 14:29:49 STATE: test-node-gpu.js event: image
2021-09-17 14:29:50 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:50 STATE: test-node-gpu.js event: warmup
2021-09-17 14:29:50 STATE: test-node-gpu.js passed: warmup: body default
2021-09-17 14:29:50 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-17 14:29:50 DATA:  test-node-gpu.js result: performance: load: 288 total: 1064
2021-09-17 14:29:50 INFO:  test-node-gpu.js test default
2021-09-17 14:29:51 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:51 STATE: test-node-gpu.js event: image
2021-09-17 14:29:51 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:51 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:29:51 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-17 14:29:51 DATA:  test-node-gpu.js result: performance: load: 288 total: 545
2021-09-17 14:29:51 INFO:  test-node-gpu.js test body variants
2021-09-17 14:29:52 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:52 STATE: test-node-gpu.js event: image
2021-09-17 14:29:52 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:52 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg posenet
2021-09-17 14:29:52 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16}
2021-09-17 14:29:52 DATA:  test-node-gpu.js result: performance: load: 288 total: 278
2021-09-17 14:29:53 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:53 STATE: test-node-gpu.js event: image
2021-09-17 14:29:53 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:53 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg movenet
2021-09-17 14:29:53 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-17 14:29:53 DATA:  test-node-gpu.js result: performance: load: 288 total: 264
2021-09-17 14:29:54 STATE: test-node-gpu.js event: image
2021-09-17 14:29:54 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:54 STATE: test-node-gpu.js passed: detect: random default
2021-09-17 14:29:54 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0}
2021-09-17 14:29:54 DATA:  test-node-gpu.js result: performance: load: 288 total: 576
2021-09-17 14:29:54 INFO:  test-node-gpu.js test: first instance
2021-09-17 14:29:54 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:54 STATE: test-node-gpu.js event: image
2021-09-17 14:29:55 STATE: test-node-gpu.js event: detect
2021-09-17 14:29:55 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:55 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:29:55 DATA:  test-node-gpu.js result: performance: load: 288 total: 806
2021-09-17 14:29:55 INFO:  test-node-gpu.js test: second instance
2021-09-17 14:29:55 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:56 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:29:56 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:29:56 DATA:  test-node-gpu.js result: performance: load: 3 total: 349
2021-09-17 14:29:56 INFO:  test-node-gpu.js test: concurrent
2021-09-17 14:29:56 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:56 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:29:57 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:58 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:29:58 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:58 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:29:58 STATE: test-node-gpu.js event: image
2021-09-17 14:29:58 STATE: test-node-gpu.js event: image
2021-09-17 14:29:58 STATE: test-node-gpu.js event: image
2021-09-17 14:30:00 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 1 person: 0 {} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: performance: load: 3 total: 1921
2021-09-17 14:30:00 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 6 object: 1 person: 1 {"score":0.42,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: performance: load: 3 total: 1928
2021-09-17 14:30:00 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:00 DATA:  test-node-gpu.js result: performance: load: 3 total: 1928
2021-09-17 14:30:01 STATE: test-node-gpu.js event: detect
2021-09-17 14:30:01 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":10}
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: performance: load: 288 total: 2633
2021-09-17 14:30:01 STATE: test-node-gpu.js event: detect
2021-09-17 14:30:01 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: performance: load: 288 total: 2792
2021-09-17 14:30:01 STATE: test-node-gpu.js event: detect
2021-09-17 14:30:01 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: face: 2 body: 1 hand: 0 gesture: 10 object: 1 person: 2 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":10}
2021-09-17 14:30:01 DATA:  test-node-gpu.js result: performance: load: 288 total: 2869
2021-09-17 14:30:01 STATE: test-node-gpu.js passeed: no memory leak
2021-09-17 14:30:01 INFO:  test-node-gpu.js events: {"image":10,"detect":10,"warmup":2}
2021-09-17 14:30:01 INFO:  test-node-gpu.js test complete: 14214 ms
2021-09-17 14:30:01 INFO: 
2021-09-17 14:30:01 INFO:  test-node-wasm.js start
2021-09-17 14:30:02 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/
2021-09-17 14:30:02 STATE: test-node-wasm.js passed: create human
2021-09-17 14:30:02 INFO:  test-node-wasm.js human version: 2.2.2
2021-09-17 14:30:02 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-17 14:30:02 INFO:  test-node-wasm.js tfjs version: 3.9.0
2021-09-17 14:30:05 STATE: test-node-wasm.js passed: set backend: wasm
2021-09-17 14:30:05 STATE: test-node-wasm.js tensors 1189
2021-09-17 14:30:05 STATE: test-node-wasm.js passed: load models
2021-09-17 14:30:05 STATE: test-node-wasm.js result: defined models: 14 loaded models: 6
2021-09-17 14:30:05 STATE: test-node-wasm.js passed: warmup: none default
2021-09-17 14:30:05 STATE: test-node-wasm.js event: image
2021-09-17 14:30:06 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:06 STATE: test-node-wasm.js event: warmup
2021-09-17 14:30:06 STATE: test-node-wasm.js passed: warmup: face default
2021-09-17 14:30:06 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":23.6,"gender":"female"} {} {"score":0.47,"keypoints":4}
2021-09-17 14:30:06 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1096
2021-09-17 14:30:09 STATE: test-node-wasm.js event: image
2021-09-17 14:30:10 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:10 STATE: test-node-wasm.js event: warmup
2021-09-17 14:30:10 STATE: test-node-wasm.js passed: warmup: body default
2021-09-17 14:30:10 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:10 DATA:  test-node-wasm.js result: performance: load: 2643 total: 2622
2021-09-17 14:30:10 INFO:  test-node-wasm.js test default
2021-09-17 14:30:12 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:13 STATE: test-node-wasm.js event: image
2021-09-17 14:30:14 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:14 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:14 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:14 DATA:  test-node-wasm.js result: performance: load: 2643 total: 2315
2021-09-17 14:30:14 INFO:  test-node-wasm.js test body variants
2021-09-17 14:30:16 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:17 STATE: test-node-wasm.js event: image
2021-09-17 14:30:18 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:18 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg posenet
2021-09-17 14:30:18 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.96,"keypoints":16}
2021-09-17 14:30:18 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1834
2021-09-17 14:30:19 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:21 STATE: test-node-wasm.js event: image
2021-09-17 14:30:21 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:21 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg movenet
2021-09-17 14:30:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:21 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1818
2021-09-17 14:30:23 STATE: test-node-wasm.js event: image
2021-09-17 14:30:23 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:23 STATE: test-node-wasm.js passed: detect: random default
2021-09-17 14:30:23 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:23 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1655
2021-09-17 14:30:23 INFO:  test-node-wasm.js test: first instance
2021-09-17 14:30:23 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:25 STATE: test-node-wasm.js event: image
2021-09-17 14:30:25 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:25 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:25 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:25 DATA:  test-node-wasm.js result: performance: load: 2643 total: 1725
2021-09-17 14:30:25 INFO:  test-node-wasm.js test: second instance
2021-09-17 14:30:26 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:28 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:28 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:28 DATA:  test-node-wasm.js result: performance: load: 4 total: 2203
2021-09-17 14:30:28 INFO:  test-node-wasm.js test: concurrent
2021-09-17 14:30:28 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:30:28 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-17 14:30:30 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:31 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-17 14:30:32 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:32 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-17 14:30:34 STATE: test-node-wasm.js event: image
2021-09-17 14:30:37 STATE: test-node-wasm.js event: image
2021-09-17 14:30:40 STATE: test-node-wasm.js event: image
2021-09-17 14:30:42 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: performance: load: 4 total: 10299
2021-09-17 14:30:42 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: performance: load: 4 total: 10299
2021-09-17 14:30:42 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:42 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:42 STATE: test-node-wasm.js event: detect
2021-09-17 14:30:42 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default
2021-09-17 14:30:42 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: performance: load: 2643 total: 10301
2021-09-17 14:30:43 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: performance: load: 2643 total: 10301
2021-09-17 14:30:43 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: performance: load: 2643 total: 10301
2021-09-17 14:30:43 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-17 14:30:43 DATA:  test-node-wasm.js result: performance: load: 4 total: 10302
2021-09-17 14:30:43 STATE: test-node-wasm.js passeed: no memory leak
2021-09-17 14:30:43 INFO:  test-node-wasm.js events: {"image":10,"detect":10,"warmup":2}
2021-09-17 14:30:43 INFO:  test-node-wasm.js test complete: 40564 ms
2021-09-17 14:30:43 INFO: 
2021-09-17 14:30:43 INFO:  status: {"passed":88,"failed":0}
2021-09-18 19:06:19 INFO:  @vladmandic/human version 2.2.2
2021-09-18 19:06:19 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0
2021-09-18 19:06:19 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"]
2021-09-18 19:06:19 INFO: 
2021-09-18 19:06:19 INFO:  test-node.js start
2021-09-18 19:06:20 STATE: test-node.js passed: create human
2021-09-18 19:06:20 INFO:  test-node.js human version: 2.2.2
2021-09-18 19:06:20 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-18 19:06:20 INFO:  test-node.js tfjs version: 3.9.0
2021-09-18 19:06:20 STATE: test-node.js passed: set backend: tensorflow
2021-09-18 19:06:20 STATE: test-node.js tensors 573
2021-09-18 19:06:20 STATE: test-node.js passed: load models
2021-09-18 19:06:20 STATE: test-node.js result: defined models: 14 loaded models: 3
2021-09-18 19:06:20 STATE: test-node.js passed: warmup: none default
2021-09-18 19:06:20 STATE: test-node.js event: image
2021-09-18 19:06:21 STATE: test-node.js event: detect
2021-09-18 19:06:21 STATE: test-node.js event: warmup
2021-09-18 19:06:21 STATE: test-node.js passed: warmup: face default
2021-09-18 19:06:21 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":23.6,"gender":"female"} {} {}
2021-09-18 19:06:21 DATA:  test-node.js result: performance: load: 121 total: 577
2021-09-18 19:06:21 STATE: test-node.js event: image
2021-09-18 19:06:21 STATE: test-node.js event: detect
2021-09-18 19:06:21 STATE: test-node.js event: warmup
2021-09-18 19:06:21 STATE: test-node.js passed: warmup: body default
2021-09-18 19:06:21 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-18 19:06:21 DATA:  test-node.js result: performance: load: 121 total: 320
2021-09-18 19:06:21 INFO:  test-node.js test default
2021-09-18 19:06:22 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:22 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:22 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 2 object: 0 person: 1 {"score":1,"age":29.5,"gender":"female"} {} {}
2021-09-18 19:06:22 DATA:  test-node.js result: performance: load: 0 total: 264
2021-09-18 19:06:22 INFO:  test-node.js test detectors
2021-09-18 19:06:23 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:23 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:23 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {} {}
2021-09-18 19:06:23 DATA:  test-node.js result: performance: load: 1 total: 85
2021-09-18 19:06:23 INFO:  test-node.js test body variants
2021-09-18 19:06:24 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:24 STATE: test-node.js passed: detect: samples/ai-body.jpg posenet
2021-09-18 19:06:24 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {} {}
2021-09-18 19:06:24 DATA:  test-node.js result: performance: load: 1 total: 102
2021-09-18 19:06:25 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:25 STATE: test-node.js passed: detect: samples/ai-body.jpg movenet
2021-09-18 19:06:25 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {} {}
2021-09-18 19:06:25 DATA:  test-node.js result: performance: load: 1 total: 90
2021-09-18 19:06:25 STATE: test-node.js passed: detect: random default
2021-09-18 19:06:25 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2021-09-18 19:06:25 DATA:  test-node.js result: performance: load: 1 total: 77
2021-09-18 19:06:25 INFO:  test-node.js test: first instance
2021-09-18 19:06:25 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:26 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:26 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.96,"age":29.5,"gender":"female"} {} {"score":0.69,"keypoints":10}
2021-09-18 19:06:26 DATA:  test-node.js result: performance: load: 44 total: 286
2021-09-18 19:06:26 INFO:  test-node.js test: second instance
2021-09-18 19:06:26 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:26 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:26 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.96,"age":29.5,"gender":"female"} {} {"score":0.69,"keypoints":10}
2021-09-18 19:06:26 DATA:  test-node.js result: performance: load: 0 total: 73
2021-09-18 19:06:26 INFO:  test-node.js test: concurrent
2021-09-18 19:06:26 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:06:26 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:06:26 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:06:27 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:28 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:29 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:29 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:29 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:30 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:31 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:06:31 DATA:  test-node.js result: face: 1 body: 0 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.91,"age":23.6,"gender":"female"} {} {}
2021-09-18 19:06:31 DATA:  test-node.js result: performance: load: 1 total: 1598
2021-09-18 19:06:32 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:06:32 DATA:  test-node.js result: face: 2 body: 1 hand: 0 gesture: 0 object: 0 person: 2 {"score":0.91,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":4}
2021-09-18 19:06:32 DATA:  test-node.js result: performance: load: 44 total: 2782
2021-09-18 19:06:32 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:06:32 DATA:  test-node.js result: face: 3 body: 1 hand: 0 gesture: 0 object: 0 person: 3 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.47,"keypoints":4}
2021-09-18 19:06:32 DATA:  test-node.js result: performance: load: 0 total: 2839
2021-09-18 19:06:33 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:33 DATA:  test-node.js result: face: 4 body: 0 hand: 0 gesture: 0 object: 0 person: 4 {"score":0.91,"age":29.2,"gender":"male"} {} {}
2021-09-18 19:06:33 DATA:  test-node.js result: performance: load: 1 total: 3302
2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:34 DATA:  test-node.js result: face: 5 body: 1 hand: 0 gesture: 1 object: 0 person: 5 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 44 total: 4027
2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:34 DATA:  test-node.js result: face: 6 body: 1 hand: 0 gesture: 1 object: 0 person: 6 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 0 total: 4066
2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:34 DATA:  test-node.js result: face: 7 body: 0 hand: 0 gesture: 0 object: 0 person: 7 {"score":0.91,"age":29.2,"gender":"male"} {} {}
2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 1 total: 4331
2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:34 DATA:  test-node.js result: face: 8 body: 1 hand: 0 gesture: 1 object: 0 person: 8 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.69,"keypoints":10}
2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 44 total: 4601
2021-09-18 19:06:34 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:34 DATA:  test-node.js result: face: 9 body: 1 hand: 0 gesture: 1 object: 0 person: 9 {"score":0.91,"age":29.2,"gender":"male"} {} {"score":0.69,"keypoints":10}
2021-09-18 19:06:34 DATA:  test-node.js result: performance: load: 0 total: 4601
2021-09-18 19:06:34 STATE: test-node.js passeed: no memory leak
2021-09-18 19:06:34 STATE: test-node.js passeed: equal usage
2021-09-18 19:06:34 INFO:  test-node.js events: {"image":2,"detect":2,"warmup":2}
2021-09-18 19:06:34 INFO:  test-node.js test complete: 14111 ms
2021-09-18 19:06:34 INFO: 
2021-09-18 19:06:34 INFO:  test-node-gpu.js start
2021-09-18 19:06:35 WARN:  test-node-gpu.js stderr: 2021-09-18 19:06:35.339859: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2021-09-18 19:06:35 WARN:  test-node-gpu.js stderr: 2021-09-18 19:06:35.517226: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2021-09-18 19:06:35 WARN:  test-node-gpu.js stderr: 2021-09-18 19:06:35.517278: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (wyse): /proc/driver/nvidia/version does not exist
2021-09-18 19:06:35 STATE: test-node-gpu.js passed: create human
2021-09-18 19:06:35 INFO:  test-node-gpu.js human version: 2.2.2
2021-09-18 19:06:35 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-18 19:06:35 INFO:  test-node-gpu.js tfjs version: 3.9.0
2021-09-18 19:06:35 STATE: test-node-gpu.js passed: set backend: tensorflow
2021-09-18 19:06:35 STATE: test-node-gpu.js tensors 1456
2021-09-18 19:06:35 STATE: test-node-gpu.js passed: load models
2021-09-18 19:06:35 STATE: test-node-gpu.js result: defined models: 14 loaded models: 7
2021-09-18 19:06:35 STATE: test-node-gpu.js passed: warmup: none default
2021-09-18 19:06:35 STATE: test-node-gpu.js event: image
2021-09-18 19:06:37 STATE: test-node-gpu.js event: detect
2021-09-18 19:06:37 STATE: test-node-gpu.js event: warmup
2021-09-18 19:06:37 STATE: test-node-gpu.js passed: warmup: face default
2021-09-18 19:06:37 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2021-09-18 19:06:37 DATA:  test-node-gpu.js result: performance: load: 289 total: 1125
2021-09-18 19:06:37 STATE: test-node-gpu.js event: image
2021-09-18 19:06:38 STATE: test-node-gpu.js event: detect
2021-09-18 19:06:38 STATE: test-node-gpu.js event: warmup
2021-09-18 19:06:38 STATE: test-node-gpu.js passed: warmup: body default
2021-09-18 19:06:38 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-18 19:06:38 DATA:  test-node-gpu.js result: performance: load: 289 total: 1084
2021-09-18 19:06:38 INFO:  test-node-gpu.js test default
2021-09-18 19:06:39 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:39 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:39 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"score":1,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-18 19:06:39 DATA:  test-node-gpu.js result: performance: load: 6 total: 591
2021-09-18 19:06:39 INFO:  test-node-gpu.js test detectors
2021-09-18 19:06:40 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:41 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:41 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-18 19:06:41 DATA:  test-node-gpu.js result: performance: load: 2 total: 592
2021-09-18 19:06:41 INFO:  test-node-gpu.js test body variants
2021-09-18 19:06:41 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:42 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg posenet
2021-09-18 19:06:42 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16}
2021-09-18 19:06:42 DATA:  test-node-gpu.js result: performance: load: 35 total: 185
2021-09-18 19:06:42 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:43 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg movenet
2021-09-18 19:06:43 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.93,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-09-18 19:06:43 DATA:  test-node-gpu.js result: performance: load: 35 total: 75
2021-09-18 19:06:43 STATE: test-node-gpu.js passed: detect: random default
2021-09-18 19:06:43 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0,"keypoints":0}
2021-09-18 19:06:43 DATA:  test-node-gpu.js result: performance: load: 35 total: 155
2021-09-18 19:06:43 INFO:  test-node-gpu.js test: first instance
2021-09-18 19:06:43 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:43 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:43 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.96,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-18 19:06:43 DATA:  test-node-gpu.js result: performance: load: 4 total: 340
2021-09-18 19:06:43 INFO:  test-node-gpu.js test: second instance
2021-09-18 19:06:44 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:44 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:44 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.96,"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-18 19:06:44 DATA:  test-node-gpu.js result: performance: load: 3 total: 230
2021-09-18 19:06:44 INFO:  test-node-gpu.js test: concurrent
2021-09-18 19:06:44 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:06:44 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:06:44 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:06:45 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:46 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:47 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:06:47 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:47 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:48 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:06:52 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:06:52 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 1 person: 1 {"score":0.91,"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":10}
2021-09-18 19:06:52 DATA:  test-node-gpu.js result: performance: load: 35 total: 3949
2021-09-18 19:06:52 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:06:52 DATA:  test-node-gpu.js result: face: 2 body: 1 hand: 0 gesture: 1 object: 1 person: 2 {"score":0.91,"age":23.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-18 19:06:52 DATA:  test-node-gpu.js result: performance: load: 7 total: 4514
2021-09-18 19:06:53 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:06:53 DATA:  test-node-gpu.js result: face: 3 body: 1 hand: 0 gesture: 1 object: 1 person: 3 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.47,"keypoints":10}
2021-09-18 19:06:53 DATA:  test-node-gpu.js result: performance: load: 7 total: 4975
2021-09-18 19:06:53 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:53 DATA:  test-node-gpu.js result: face: 4 body: 1 hand: 0 gesture: 1 object: 1 person: 4 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":10}
2021-09-18 19:06:53 DATA:  test-node-gpu.js result: performance: load: 35 total: 5373
2021-09-18 19:06:53 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:53 DATA:  test-node-gpu.js result: face: 5 body: 1 hand: 0 gesture: 1 object: 1 person: 5 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-18 19:06:53 DATA:  test-node-gpu.js result: performance: load: 7 total: 5730
2021-09-18 19:06:54 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:06:54 DATA:  test-node-gpu.js result: face: 6 body: 1 hand: 0 gesture: 1 object: 1 person: 6 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":10}
2021-09-18 19:06:54 DATA:  test-node-gpu.js result: performance: load: 7 total: 5956
2021-09-18 19:06:54 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:54 DATA:  test-node-gpu.js result: face: 7 body: 1 hand: 0 gesture: 1 object: 1 person: 7 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-18 19:06:54 DATA:  test-node-gpu.js result: performance: load: 35 total: 6115
2021-09-18 19:06:54 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:54 DATA:  test-node-gpu.js result: face: 8 body: 1 hand: 0 gesture: 1 object: 1 person: 8 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-18 19:06:54 DATA:  test-node-gpu.js result: performance: load: 7 total: 6200
2021-09-18 19:06:54 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:06:54 DATA:  test-node-gpu.js result: face: 9 body: 1 hand: 0 gesture: 1 object: 1 person: 9 {"score":0.91,"age":29.2,"gender":"male"} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-09-18 19:06:54 DATA:  test-node-gpu.js result: performance: load: 7 total: 6201
2021-09-18 19:06:54 STATE: test-node-gpu.js passeed: no memory leak
2021-09-18 19:06:54 STATE: test-node-gpu.js passeed: equal usage
2021-09-18 19:06:54 INFO:  test-node-gpu.js events: {"image":2,"detect":2,"warmup":2}
2021-09-18 19:06:54 INFO:  test-node-gpu.js test complete: 18686 ms
2021-09-18 19:06:54 INFO: 
2021-09-18 19:06:54 INFO:  test-node-wasm.js start
2021-09-18 19:06:54 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/
2021-09-18 19:06:54 STATE: test-node-wasm.js passed: create human
2021-09-18 19:06:54 INFO:  test-node-wasm.js human version: 2.2.2
2021-09-18 19:06:54 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v16.5.0
2021-09-18 19:06:54 INFO:  test-node-wasm.js tfjs version: 3.9.0
2021-09-18 19:06:56 STATE: test-node-wasm.js passed: set backend: wasm
2021-09-18 19:06:56 STATE: test-node-wasm.js tensors 1189
2021-09-18 19:06:56 STATE: test-node-wasm.js passed: load models
2021-09-18 19:06:56 STATE: test-node-wasm.js result: defined models: 14 loaded models: 6
2021-09-18 19:06:56 STATE: test-node-wasm.js passed: warmup: none default
2021-09-18 19:06:57 STATE: test-node-wasm.js event: image
2021-09-18 19:06:57 STATE: test-node-wasm.js event: detect
2021-09-18 19:06:57 STATE: test-node-wasm.js event: warmup
2021-09-18 19:06:57 STATE: test-node-wasm.js passed: warmup: face default
2021-09-18 19:06:57 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":23.6,"gender":"female"} {} {"score":0.47,"keypoints":4}
2021-09-18 19:06:57 DATA:  test-node-wasm.js result: performance: load: 1917 total: 1032
2021-09-18 19:07:01 STATE: test-node-wasm.js event: image
2021-09-18 19:07:02 STATE: test-node-wasm.js event: detect
2021-09-18 19:07:02 STATE: test-node-wasm.js event: warmup
2021-09-18 19:07:02 STATE: test-node-wasm.js passed: warmup: body default
2021-09-18 19:07:02 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:02 DATA:  test-node-wasm.js result: performance: load: 1917 total: 2626
2021-09-18 19:07:02 INFO:  test-node-wasm.js test default
2021-09-18 19:07:03 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:07:06 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:07:06 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"score":1,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:06 DATA:  test-node-wasm.js result: performance: load: 4 total: 2293
2021-09-18 19:07:06 INFO:  test-node-wasm.js test detectors
2021-09-18 19:07:07 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:07:09 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:07:09 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:09 DATA:  test-node-wasm.js result: performance: load: 15 total: 2300
2021-09-18 19:07:09 INFO:  test-node-wasm.js test body variants
2021-09-18 19:07:11 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:07:13 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg posenet
2021-09-18 19:07:13 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.96,"keypoints":16}
2021-09-18 19:07:13 DATA:  test-node-wasm.js result: performance: load: 316 total: 1938
2021-09-18 19:07:15 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:07:16 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg movenet
2021-09-18 19:07:16 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:16 DATA:  test-node-wasm.js result: performance: load: 316 total: 1751
2021-09-18 19:07:18 STATE: test-node-wasm.js passed: detect: random default
2021-09-18 19:07:18 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:18 DATA:  test-node-wasm.js result: performance: load: 316 total: 1734
2021-09-18 19:07:18 INFO:  test-node-wasm.js test: first instance
2021-09-18 19:07:19 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:07:21 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:07:21 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:21 DATA:  test-node-wasm.js result: performance: load: 6 total: 2225
2021-09-18 19:07:21 INFO:  test-node-wasm.js test: second instance
2021-09-18 19:07:22 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:07:24 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:07:24 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:24 DATA:  test-node-wasm.js result: performance: load: 3 total: 2260
2021-09-18 19:07:24 INFO:  test-node-wasm.js test: concurrent
2021-09-18 19:07:24 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:07:24 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:07:24 STATE: test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-09-18 19:07:26 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:07:27 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:07:29 STATE: test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-09-18 19:07:30 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:07:30 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:07:31 STATE: test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-09-18 19:07:47 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:07:47 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 1 object: 0 person: 1 {"score":0.93,"age":28.5,"gender":"female"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:47 DATA:  test-node-wasm.js result: performance: load: 316 total: 15299
2021-09-18 19:07:50 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:07:50 DATA:  test-node-wasm.js result: face: 2 body: 1 hand: 0 gesture: 1 object: 0 person: 2 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:50 DATA:  test-node-wasm.js result: performance: load: 6 total: 19352
2021-09-18 19:07:50 STATE: test-node-wasm.js passed: detect: samples/ai-face.jpg default
2021-09-18 19:07:50 DATA:  test-node-wasm.js result: face: 3 body: 1 hand: 0 gesture: 1 object: 0 person: 3 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:50 DATA:  test-node-wasm.js result: performance: load: 3 total: 19421
2021-09-18 19:07:52 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:07:52 DATA:  test-node-wasm.js result: face: 4 body: 1 hand: 0 gesture: 1 object: 0 person: 4 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:52 DATA:  test-node-wasm.js result: performance: load: 316 total: 21349
2021-09-18 19:07:52 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:07:52 DATA:  test-node-wasm.js result: face: 5 body: 1 hand: 0 gesture: 1 object: 0 person: 5 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:52 DATA:  test-node-wasm.js result: performance: load: 6 total: 21394
2021-09-18 19:07:53 STATE: test-node-wasm.js passed: detect: samples/ai-body.jpg default
2021-09-18 19:07:53 DATA:  test-node-wasm.js result: face: 6 body: 1 hand: 0 gesture: 1 object: 0 person: 6 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:53 DATA:  test-node-wasm.js result: performance: load: 3 total: 22600
2021-09-18 19:07:53 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:07:53 DATA:  test-node-wasm.js result: face: 7 body: 1 hand: 0 gesture: 1 object: 0 person: 7 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:53 DATA:  test-node-wasm.js result: performance: load: 316 total: 22621
2021-09-18 19:07:54 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:07:54 DATA:  test-node-wasm.js result: face: 8 body: 1 hand: 0 gesture: 1 object: 0 person: 8 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:54 DATA:  test-node-wasm.js result: performance: load: 6 total: 23178
2021-09-18 19:07:54 STATE: test-node-wasm.js passed: detect: samples/ai-upper.jpg default
2021-09-18 19:07:54 DATA:  test-node-wasm.js result: face: 9 body: 1 hand: 0 gesture: 1 object: 0 person: 9 {"score":0.93,"age":29.2,"gender":"male"} {} {"score":0.92,"keypoints":17}
2021-09-18 19:07:54 DATA:  test-node-wasm.js result: performance: load: 3 total: 23179
2021-09-18 19:07:54 STATE: test-node-wasm.js passeed: no memory leak
2021-09-18 19:07:54 STATE: test-node-wasm.js passeed: equal usage
2021-09-18 19:07:54 INFO:  test-node-wasm.js events: {"image":2,"detect":2,"warmup":2}
2021-09-18 19:07:54 INFO:  test-node-wasm.js test complete: 59343 ms
2021-09-18 19:07:54 INFO: 
2021-09-18 19:07:54 INFO:  status: {"passed":112,"failed":0}

1
typedoc/.nojekyll Normal file
View File

@ -0,0 +1 @@
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
:root {
--light-code-background: #FFFFFF;
--dark-code-background: #1E1E1E;
}
@media (prefers-color-scheme: light) { :root {
--code-background: var(--light-code-background);
} }
@media (prefers-color-scheme: dark) { :root {
--code-background: var(--dark-code-background);
} }
body.light {
--code-background: var(--light-code-background);
}
body.dark {
--code-background: var(--dark-code-background);
}
pre, code { background: var(--code-background); }

1043
typedoc/assets/icons.css Normal file

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

File diff suppressed because one or more lines are too long

52
typedoc/assets/main.js Normal file

File diff suppressed because one or more lines are too long

1384
typedoc/assets/style.css Normal file

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 480 B

View File

Before

Width:  |  Height:  |  Size: 855 B

After

Width:  |  Height:  |  Size: 855 B

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,497 +1,40 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Config | @vladmandic/human - v2.2.2</title>
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="Config.html">Config</a>
</li>
</ul>
<h1>Interface Config</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Configuration interface definition for <strong>Human</strong> library</p>
</div>
<p>Contains all configurable parameters</p>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">Config</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr>Sensitivity</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr>Base<wbr>Path</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipFrame" class="tsd-kind-icon">skip<wbr>Frame</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr>Path</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="async" class="tsd-anchor"></a>
<h3>async</h3>
<div class="tsd-signature tsd-kind-icon">async<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L199">config.ts:199</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Perform model loading and inference concurrently or sequentially</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="backend" class="tsd-anchor"></a>
<h3>backend</h3>
<div class="tsd-signature tsd-kind-icon">backend<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;cpu&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;wasm&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;webgl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;humangl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;tensorflow&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;webgpu&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L189">config.ts:189</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Backend used for TFJS operations</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="body" class="tsd-anchor"></a>
<h3>body</h3>
<div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="BodyConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L235">config.ts:235</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="cacheSensitivity" class="tsd-anchor"></a>
<h3>cache<wbr>Sensitivity</h3>
<div class="tsd-signature tsd-kind-icon">cache<wbr>Sensitivity<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L217">config.ts:217</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Cache sensitivity</p>
<ul>
<li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
<li>set to 0 to disable caching</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="debug" class="tsd-anchor"></a>
<h3>debug</h3>
<div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L196">config.ts:196</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Print debug statements to console</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="face" class="tsd-anchor"></a>
<h3>face</h3>
<div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="FaceConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L233">config.ts:233</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="filter" class="tsd-anchor"></a>
<h3>filter</h3>
<div class="tsd-signature tsd-kind-icon">filter<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="FilterConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FilterConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L228">config.ts:228</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Run input through image filters before inference</p>
<ul>
<li>image filters run with near-zero latency as they are executed on the GPU</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="gesture" class="tsd-anchor"></a>
<h3>gesture</h3>
<div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="GestureConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GestureConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L231">config.ts:231</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="hand" class="tsd-anchor"></a>
<h3>hand</h3>
<div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="HandConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">HandConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L237">config.ts:237</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="modelBasePath" class="tsd-anchor"></a>
<h3>model<wbr>Base<wbr>Path</h3>
<div class="tsd-signature tsd-kind-icon">model<wbr>Base<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L211">config.ts:211</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Base model path (typically starting with file://, http:// or https://) for all models</p>
<ul>
<li>individual modelPath values are relative to this path</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="object" class="tsd-anchor"></a>
<h3>object</h3>
<div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="ObjectConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L239">config.ts:239</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="segmentation" class="tsd-anchor"></a>
<h3>segmentation</h3>
<div class="tsd-signature tsd-kind-icon">segmentation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="SegmentationConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">SegmentationConfig</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L241">config.ts:241</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="skipFrame" class="tsd-anchor"></a>
<h3>skip<wbr>Frame</h3>
<div class="tsd-signature tsd-kind-icon">skip<wbr>Frame<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L223">config.ts:223</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Cache sensitivity</p>
<ul>
<li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
<li>set to 0 to disable caching</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="warmup" class="tsd-anchor"></a>
<h3>warmup</h3>
<div class="tsd-signature tsd-kind-icon">warmup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;none&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;face&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;full&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;body&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L205">config.ts:205</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>What to use for <code>human.warmup()</code></p>
<ul>
<li>warmup pre-initializes all models for faster inference but can take significant time on startup</li>
<li>only used for <code>webgl</code> and <code>humangl</code> backends</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="wasmPath" class="tsd-anchor"></a>
<h3>wasm<wbr>Path</h3>
<div class="tsd-signature tsd-kind-icon">wasm<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L193">config.ts:193</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Path to *.wasm files if backend is set to <code>wasm</code></p>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#async" class="tsd-kind-icon">async</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#backend" class="tsd-kind-icon">backend</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#body" class="tsd-kind-icon">body</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr>Sensitivity</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#debug" class="tsd-kind-icon">debug</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#face" class="tsd-kind-icon">face</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#filter" class="tsd-kind-icon">filter</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#gesture" class="tsd-kind-icon">gesture</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#hand" class="tsd-kind-icon">hand</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr>Base<wbr>Path</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#object" class="tsd-kind-icon">object</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#skipFrame" class="tsd-kind-icon">skip<wbr>Frame</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#warmup" class="tsd-kind-icon">warmup</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr>Path</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Config | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="Config.html">Config</a></li></ul><h1>Interface Config</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<p>Configuration interface definition for <strong>Human</strong> library</p>
</div><div><p>Contains all configurable parameters</p>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Config</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr/>Sensitivity</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr/>Base<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipFrame" class="tsd-kind-icon">skip<wbr/>Frame</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr/>Path</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="async" class="tsd-anchor"></a><h3>async</h3><div class="tsd-signature tsd-kind-icon">async<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L199">config.ts:199</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Perform model loading and inference concurrently or sequentially</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="backend" class="tsd-anchor"></a><h3>backend</h3><div class="tsd-signature tsd-kind-icon">backend<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;cpu&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;wasm&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;webgl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;humangl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;tensorflow&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;webgpu&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L189">config.ts:189</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Backend used for TFJS operations</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="body" class="tsd-anchor"></a><h3>body</h3><div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="BodyConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L235">config.ts:235</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="cacheSensitivity" class="tsd-anchor"></a><h3>cache<wbr/>Sensitivity</h3><div class="tsd-signature tsd-kind-icon">cache<wbr/>Sensitivity<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L217">config.ts:217</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Cache sensitivity</p>
<ul>
<li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
<li>set to 0 to disable caching</li>
</ul>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="debug" class="tsd-anchor"></a><h3>debug</h3><div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L196">config.ts:196</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Print debug statements to console</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="face" class="tsd-anchor"></a><h3>face</h3><div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="FaceConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L233">config.ts:233</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="filter" class="tsd-anchor"></a><h3>filter</h3><div class="tsd-signature tsd-kind-icon">filter<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="FilterConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">FilterConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L228">config.ts:228</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Run input through image filters before inference</p>
<ul>
<li>image filters run with near-zero latency as they are executed on the GPU</li>
</ul>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="gesture" class="tsd-anchor"></a><h3>gesture</h3><div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="GestureConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">GestureConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L231">config.ts:231</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="hand" class="tsd-anchor"></a><h3>hand</h3><div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="HandConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">HandConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L237">config.ts:237</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="modelBasePath" class="tsd-anchor"></a><h3>model<wbr/>Base<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Base<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L211">config.ts:211</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Base model path (typically starting with file://, http:// or https://) for all models</p>
<ul>
<li>individual modelPath values are relative to this path</li>
</ul>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="object" class="tsd-anchor"></a><h3>object</h3><div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="ObjectConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L239">config.ts:239</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="segmentation" class="tsd-anchor"></a><h3>segmentation</h3><div class="tsd-signature tsd-kind-icon">segmentation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="SegmentationConfig.html" class="tsd-signature-type" data-tsd-kind="Interface">SegmentationConfig</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L241">config.ts:241</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="skipFrame" class="tsd-anchor"></a><h3>skip<wbr/>Frame</h3><div class="tsd-signature tsd-kind-icon">skip<wbr/>Frame<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L223">config.ts:223</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Cache sensitivity</p>
<ul>
<li>values 0..1 where 0.01 means reset cache if input changed more than 1%</li>
<li>set to 0 to disable caching</li>
</ul>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="warmup" class="tsd-anchor"></a><h3>warmup</h3><div class="tsd-signature tsd-kind-icon">warmup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;none&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;face&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;full&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;body&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L205">config.ts:205</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>What to use for <code>human.warmup()</code></p>
<ul>
<li>warmup pre-initializes all models for faster inference but can take significant time on startup</li>
<li>only used for <code>webgl</code> and <code>humangl</code> backends</li>
</ul>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="wasmPath" class="tsd-anchor"></a><h3>wasm<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">wasm<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L193">config.ts:193</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Path to *.wasm files if backend is set to <code>wasm</code></p>
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="Config.html" class="tsd-kind-icon">Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#async" class="tsd-kind-icon">async</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#backend" class="tsd-kind-icon">backend</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#cacheSensitivity" class="tsd-kind-icon">cache<wbr/>Sensitivity</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#debug" class="tsd-kind-icon">debug</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#modelBasePath" class="tsd-kind-icon">model<wbr/>Base<wbr/>Path</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#segmentation" class="tsd-kind-icon">segmentation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#skipFrame" class="tsd-kind-icon">skip<wbr/>Frame</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#warmup" class="tsd-kind-icon">warmup</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Config.html#wasmPath" class="tsd-kind-icon">wasm<wbr/>Path</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,573 +1,50 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>FilterConfig | @vladmandic/human - v2.2.2</title>
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="FilterConfig.html">FilterConfig</a>
</li>
</ul>
<h1>Interface FilterConfig</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Run input through image filters before inference</p>
<ul>
<li>image filters run with near-zero latency as they are executed on the GPU</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">FilterConfig</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#height" class="tsd-kind-icon">height</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#return" class="tsd-kind-icon">return</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#width" class="tsd-kind-icon">width</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="blur" class="tsd-anchor"></a>
<h3>blur</h3>
<div class="tsd-signature tsd-kind-icon">blur<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L155">config.ts:155</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: 0 (no blur) to N (blur radius in pixels)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="brightness" class="tsd-anchor"></a>
<h3>brightness</h3>
<div class="tsd-signature tsd-kind-icon">brightness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L149">config.ts:149</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: -1 (darken) to 1 (lighten)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="contrast" class="tsd-anchor"></a>
<h3>contrast</h3>
<div class="tsd-signature tsd-kind-icon">contrast<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L151">config.ts:151</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: -1 (reduce contrast) to 1 (increase contrast)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="enabled" class="tsd-anchor"></a>
<h3>enabled</h3>
<div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L131">config.ts:131</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="flip" class="tsd-anchor"></a>
<h3>flip</h3>
<div class="tsd-signature tsd-kind-icon">flip<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L147">config.ts:147</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Flip input as mirror image</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="height" class="tsd-anchor"></a>
<h3>height</h3>
<div class="tsd-signature tsd-kind-icon">height<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L143">config.ts:143</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Resize input height</p>
<ul>
<li>if both width and height are set to 0, there is no resizing</li>
<li>if just one is set, second one is scaled automatically</li>
<li>if both are set, values are used as-is</li>
</ul>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="hue" class="tsd-anchor"></a>
<h3>hue</h3>
<div class="tsd-signature tsd-kind-icon">hue<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L159">config.ts:159</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: 0 (no change) to 360 (hue rotation in degrees)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="kodachrome" class="tsd-anchor"></a>
<h3>kodachrome</h3>
<div class="tsd-signature tsd-kind-icon">kodachrome<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L167">config.ts:167</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image kodachrome colors</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="negative" class="tsd-anchor"></a>
<h3>negative</h3>
<div class="tsd-signature tsd-kind-icon">negative<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L161">config.ts:161</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image negative</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="pixelate" class="tsd-anchor"></a>
<h3>pixelate</h3>
<div class="tsd-signature tsd-kind-icon">pixelate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L173">config.ts:173</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: 0 (no pixelate) to N (number of pixels to pixelate)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="polaroid" class="tsd-anchor"></a>
<h3>polaroid</h3>
<div class="tsd-signature tsd-kind-icon">polaroid<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L171">config.ts:171</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image polaroid camera effect</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="return" class="tsd-anchor"></a>
<h3>return</h3>
<div class="tsd-signature tsd-kind-icon">return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L145">config.ts:145</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Return processed canvas imagedata in result</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="saturation" class="tsd-anchor"></a>
<h3>saturation</h3>
<div class="tsd-signature tsd-kind-icon">saturation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L157">config.ts:157</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: -1 (reduce saturation) to 1 (increase saturation)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="sepia" class="tsd-anchor"></a>
<h3>sepia</h3>
<div class="tsd-signature tsd-kind-icon">sepia<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L163">config.ts:163</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image sepia colors</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="sharpness" class="tsd-anchor"></a>
<h3>sharpness</h3>
<div class="tsd-signature tsd-kind-icon">sharpness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L153">config.ts:153</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Range: 0 (no sharpening) to 1 (maximum sharpening)</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="technicolor" class="tsd-anchor"></a>
<h3>technicolor</h3>
<div class="tsd-signature tsd-kind-icon">technicolor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L169">config.ts:169</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image technicolor colors</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="vintage" class="tsd-anchor"></a>
<h3>vintage</h3>
<div class="tsd-signature tsd-kind-icon">vintage<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L165">config.ts:165</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Image vintage colors</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="width" class="tsd-anchor"></a>
<h3>width</h3>
<div class="tsd-signature tsd-kind-icon">width<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L137">config.ts:137</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Resize input width</p>
<ul>
<li>if both width and height are set to 0, there is no resizing</li>
<li>if just one is set, second one is scaled automatically</li>
<li>if both are set, values are used as-is</li>
</ul>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#height" class="tsd-kind-icon">height</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#return" class="tsd-kind-icon">return</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="FilterConfig.html#width" class="tsd-kind-icon">width</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>FilterConfig | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="FilterConfig.html">FilterConfig</a></li></ul><h1>Interface FilterConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<p>Run input through image filters before inference</p>
<ul>
<li>image filters run with near-zero latency as they are executed on the GPU</li>
</ul>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">FilterConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#return" class="tsd-kind-icon">return</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#width" class="tsd-kind-icon">width</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="blur" class="tsd-anchor"></a><h3>blur</h3><div class="tsd-signature tsd-kind-icon">blur<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L155">config.ts:155</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Range: 0 (no blur) to N (blur radius in pixels)</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="brightness" class="tsd-anchor"></a><h3>brightness</h3><div class="tsd-signature tsd-kind-icon">brightness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L149">config.ts:149</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Range: -1 (darken) to 1 (lighten)</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="contrast" class="tsd-anchor"></a><h3>contrast</h3><div class="tsd-signature tsd-kind-icon">contrast<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L151">config.ts:151</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Range: -1 (reduce contrast) to 1 (increase contrast)</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L131">config.ts:131</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="flip" class="tsd-anchor"></a><h3>flip</h3><div class="tsd-signature tsd-kind-icon">flip<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L147">config.ts:147</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Flip input as mirror image</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="height" class="tsd-anchor"></a><h3>height</h3><div class="tsd-signature tsd-kind-icon">height<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L143">config.ts:143</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Resize input height</p>
<ul>
<li>if both width and height are set to 0, there is no resizing</li>
<li>if just one is set, second one is scaled automatically</li>
<li>if both are set, values are used as-is</li>
</ul>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="hue" class="tsd-anchor"></a><h3>hue</h3><div class="tsd-signature tsd-kind-icon">hue<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L159">config.ts:159</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Range: 0 (no change) to 360 (hue rotation in degrees)</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="kodachrome" class="tsd-anchor"></a><h3>kodachrome</h3><div class="tsd-signature tsd-kind-icon">kodachrome<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L167">config.ts:167</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Image kodachrome colors</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="negative" class="tsd-anchor"></a><h3>negative</h3><div class="tsd-signature tsd-kind-icon">negative<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L161">config.ts:161</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Image negative</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="pixelate" class="tsd-anchor"></a><h3>pixelate</h3><div class="tsd-signature tsd-kind-icon">pixelate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L173">config.ts:173</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Range: 0 (no pixelate) to N (number of pixels to pixelate)</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="polaroid" class="tsd-anchor"></a><h3>polaroid</h3><div class="tsd-signature tsd-kind-icon">polaroid<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L171">config.ts:171</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Image polaroid camera effect</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="return" class="tsd-anchor"></a><h3>return</h3><div class="tsd-signature tsd-kind-icon">return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L145">config.ts:145</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Return processed canvas imagedata in result</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="saturation" class="tsd-anchor"></a><h3>saturation</h3><div class="tsd-signature tsd-kind-icon">saturation<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L157">config.ts:157</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Range: -1 (reduce saturation) to 1 (increase saturation)</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="sepia" class="tsd-anchor"></a><h3>sepia</h3><div class="tsd-signature tsd-kind-icon">sepia<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L163">config.ts:163</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Image sepia colors</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="sharpness" class="tsd-anchor"></a><h3>sharpness</h3><div class="tsd-signature tsd-kind-icon">sharpness<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L153">config.ts:153</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Range: 0 (no sharpening) to 1 (maximum sharpening)</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="technicolor" class="tsd-anchor"></a><h3>technicolor</h3><div class="tsd-signature tsd-kind-icon">technicolor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L169">config.ts:169</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Image technicolor colors</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="vintage" class="tsd-anchor"></a><h3>vintage</h3><div class="tsd-signature tsd-kind-icon">vintage<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L165">config.ts:165</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Image vintage colors</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="width" class="tsd-anchor"></a><h3>width</h3><div class="tsd-signature tsd-kind-icon">width<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L137">config.ts:137</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Resize input width</p>
<ul>
<li>if both width and height are set to 0, there is no resizing</li>
<li>if just one is set, second one is scaled automatically</li>
<li>if both are set, values are used as-is</li>
</ul>
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#blur" class="tsd-kind-icon">blur</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#brightness" class="tsd-kind-icon">brightness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#contrast" class="tsd-kind-icon">contrast</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#flip" class="tsd-kind-icon">flip</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#hue" class="tsd-kind-icon">hue</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#kodachrome" class="tsd-kind-icon">kodachrome</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#negative" class="tsd-kind-icon">negative</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#pixelate" class="tsd-kind-icon">pixelate</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#polaroid" class="tsd-kind-icon">polaroid</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#return" class="tsd-kind-icon">return</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#saturation" class="tsd-kind-icon">saturation</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sepia" class="tsd-kind-icon">sepia</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#sharpness" class="tsd-kind-icon">sharpness</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#technicolor" class="tsd-kind-icon">technicolor</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#vintage" class="tsd-kind-icon">vintage</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="FilterConfig.html#width" class="tsd-kind-icon">width</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

View File

@ -1,237 +1,3 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>GestureConfig | @vladmandic/human - v2.2.2</title>
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="GestureConfig.html">GestureConfig</a>
</li>
</ul>
<h1>Interface GestureConfig</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Controlls gesture detection</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">GestureConfig</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="enabled" class="tsd-anchor"></a>
<h3>enabled</h3>
<div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L178">config.ts:178</a></li>
</ul>
</aside>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>GestureConfig | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="GestureConfig.html">GestureConfig</a></li></ul><h1>Interface GestureConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<p>Controlls gesture detection</p>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">GestureConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L178">config.ts:178</a></li></ul></aside></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GestureConfig.html#enabled" class="tsd-kind-icon">enabled</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,395 +1,22 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Result | @vladmandic/human - v2.2.2</title>
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="Result.html">Result</a>
</li>
</ul>
<h1>Interface Result</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Result interface definition for <strong>Human</strong> library</p>
</div>
<p>Contains all possible detection results</p>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">Result</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#body" class="tsd-kind-icon">body</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#canvas" class="tsd-kind-icon">canvas</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#face" class="tsd-kind-icon">face</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#gesture" class="tsd-kind-icon">gesture</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#hand" class="tsd-kind-icon">hand</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#object" class="tsd-kind-icon">object</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#performance" class="tsd-kind-icon">performance</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#persons" class="tsd-kind-icon">persons</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#timestamp" class="tsd-kind-icon">timestamp</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="body" class="tsd-anchor"></a>
<h3>body</h3>
<div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <a href="BodyResult.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L179">result.ts:179</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><a href="BodyResult.html">BodyResult</a>: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="canvas" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> canvas</h3>
<div class="tsd-signature tsd-kind-icon">canvas<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L189">result.ts:189</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>optional processed canvas that can be used to draw input on screen</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="face" class="tsd-anchor"></a>
<h3>face</h3>
<div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <a href="FaceResult.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L177">result.ts:177</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><a href="FaceResult.html">FaceResult</a>: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="gesture" class="tsd-anchor"></a>
<h3>gesture</h3>
<div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <a href="../index.html#GestureResult" class="tsd-signature-type" data-tsd-kind="Type alias">GestureResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L183">result.ts:183</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><a href="../index.html#GestureResult">GestureResult</a>: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="hand" class="tsd-anchor"></a>
<h3>hand</h3>
<div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <a href="HandResult.html" class="tsd-signature-type" data-tsd-kind="Interface">HandResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L181">result.ts:181</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><a href="HandResult.html">HandResult</a>: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="object" class="tsd-anchor"></a>
<h3>object</h3>
<div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <a href="ObjectResult.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L185">result.ts:185</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>{@link ItemResult}: detection &amp; analysis results</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="performance" class="tsd-anchor"></a>
<h3>performance</h3>
<div class="tsd-signature tsd-kind-icon">performance<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L187">result.ts:187</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>global performance object with timing values for each operation</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="persons" class="tsd-anchor"></a>
<h3>persons</h3>
<div class="tsd-signature tsd-kind-icon">persons<span class="tsd-signature-symbol">:</span> <a href="PersonResult.html" class="tsd-signature-type" data-tsd-kind="Interface">PersonResult</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L193">result.ts:193</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>getter property that returns unified persons object</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="timestamp" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagReadonly">Readonly</span> timestamp</h3>
<div class="tsd-signature tsd-kind-icon">timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L191">result.ts:191</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>timestamp of detection representing the milliseconds elapsed since the UNIX epoch</p>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#body" class="tsd-kind-icon">body</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#canvas" class="tsd-kind-icon">canvas</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#face" class="tsd-kind-icon">face</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#gesture" class="tsd-kind-icon">gesture</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#hand" class="tsd-kind-icon">hand</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#object" class="tsd-kind-icon">object</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#performance" class="tsd-kind-icon">performance</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#persons" class="tsd-kind-icon">persons</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="Result.html#timestamp" class="tsd-kind-icon">timestamp</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Result | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="Result.html">Result</a></li></ul><h1>Interface Result</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<p>Result interface definition for <strong>Human</strong> library</p>
</div><div><p>Contains all possible detection results</p>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Result</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#canvas" class="tsd-kind-icon">canvas</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#performance" class="tsd-kind-icon">performance</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#persons" class="tsd-kind-icon">persons</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#timestamp" class="tsd-kind-icon">timestamp</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="body" class="tsd-anchor"></a><h3>body</h3><div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <a href="BodyResult.html" class="tsd-signature-type" data-tsd-kind="Interface">BodyResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L179">result.ts:179</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p><a href="BodyResult.html">BodyResult</a>: detection &amp; analysis results</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="canvas" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> canvas</h3><div class="tsd-signature tsd-kind-icon">canvas<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L189">result.ts:189</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>optional processed canvas that can be used to draw input on screen</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="face" class="tsd-anchor"></a><h3>face</h3><div class="tsd-signature tsd-kind-icon">face<span class="tsd-signature-symbol">:</span> <a href="FaceResult.html" class="tsd-signature-type" data-tsd-kind="Interface">FaceResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L177">result.ts:177</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p><a href="FaceResult.html">FaceResult</a>: detection &amp; analysis results</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="gesture" class="tsd-anchor"></a><h3>gesture</h3><div class="tsd-signature tsd-kind-icon">gesture<span class="tsd-signature-symbol">:</span> <a href="../index.html#GestureResult" class="tsd-signature-type" data-tsd-kind="Type alias">GestureResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L183">result.ts:183</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p><a href="../index.html#GestureResult">GestureResult</a>: detection &amp; analysis results</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="hand" class="tsd-anchor"></a><h3>hand</h3><div class="tsd-signature tsd-kind-icon">hand<span class="tsd-signature-symbol">:</span> <a href="HandResult.html" class="tsd-signature-type" data-tsd-kind="Interface">HandResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L181">result.ts:181</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p><a href="HandResult.html">HandResult</a>: detection &amp; analysis results</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="object" class="tsd-anchor"></a><h3>object</h3><div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <a href="ObjectResult.html" class="tsd-signature-type" data-tsd-kind="Interface">ObjectResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L185">result.ts:185</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p><a href="ObjectResult.html">ObjectResult</a>: detection &amp; analysis results</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="performance" class="tsd-anchor"></a><h3>performance</h3><div class="tsd-signature tsd-kind-icon">performance<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L187">result.ts:187</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>global performance object with timing values for each operation</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="persons" class="tsd-anchor"></a><h3>persons</h3><div class="tsd-signature tsd-kind-icon">persons<span class="tsd-signature-symbol">:</span> <a href="PersonResult.html" class="tsd-signature-type" data-tsd-kind="Interface">PersonResult</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L193">result.ts:193</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>getter property that returns unified persons object</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="timestamp" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagReadonly">Readonly</span> timestamp</h3><div class="tsd-signature tsd-kind-icon">timestamp<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/result.ts#L191">result.ts:191</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>timestamp of detection representing the milliseconds elapsed since the UNIX epoch</p>
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="Result.html" class="tsd-kind-icon">Result</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#body" class="tsd-kind-icon">body</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#canvas" class="tsd-kind-icon">canvas</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#face" class="tsd-kind-icon">face</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#gesture" class="tsd-kind-icon">gesture</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#hand" class="tsd-kind-icon">hand</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#object" class="tsd-kind-icon">object</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#performance" class="tsd-kind-icon">performance</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#persons" class="tsd-kind-icon">persons</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="Result.html#timestamp" class="tsd-kind-icon">timestamp</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

View File

@ -1,259 +1,11 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>SegmentationConfig | @vladmandic/human - v2.2.2</title>
<meta name="description" content="Documentation for @vladmandic/human - v2.2.2">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@vladmandic/human - v2.2.2</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">@vladmandic/human - v2.2.2</a>
</li>
<li>
<a href="SegmentationConfig.html">SegmentationConfig</a>
</li>
</ul>
<h1>Interface SegmentationConfig</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Controlls and configures all body segmentation module
removes background from input containing person
if segmentation is enabled it will run as preprocessing task before any other model
alternatively leave it disabled and use it on-demand using human.segmentation method which can
remove background or replace it with user-provided background</p>
</div>
<ul>
<li>enabled: true/false</li>
<li>modelPath: object detection model, can be absolute path or relative to modelBasePath</li>
</ul>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">SegmentationConfig</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr>Path</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="enabled" class="tsd-anchor"></a>
<h3>enabled</h3>
<div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L123">config.ts:123</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="modelPath" class="tsd-anchor"></a>
<h3>model<wbr>Path</h3>
<div class="tsd-signature tsd-kind-icon">model<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L124">config.ts:124</a></li>
</ul>
</aside>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-reference">
<a href="../index.html#default" class="tsd-kind-icon">default</a>
</li>
<li class=" tsd-kind-class">
<a href="../classes/Human.html" class="tsd-kind-icon">Human</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyConfig.html" class="tsd-kind-icon">Body<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="BodyResult.html" class="tsd-kind-icon">Body<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Config.html" class="tsd-kind-icon">Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="DrawOptions.html" class="tsd-kind-icon">Draw<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceConfig.html" class="tsd-kind-icon">Face<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDescriptionConfig.html" class="tsd-kind-icon">Face<wbr>Description<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceDetectorConfig.html" class="tsd-kind-icon">Face<wbr>Detector<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceEmotionConfig.html" class="tsd-kind-icon">Face<wbr>Emotion<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceIrisConfig.html" class="tsd-kind-icon">Face<wbr>Iris<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceMeshConfig.html" class="tsd-kind-icon">Face<wbr>Mesh<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="FaceResult.html" class="tsd-kind-icon">Face<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="FilterConfig.html" class="tsd-kind-icon">Filter<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="GestureConfig.html" class="tsd-kind-icon">Gesture<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandConfig.html" class="tsd-kind-icon">Hand<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="HandResult.html" class="tsd-kind-icon">Hand<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectConfig.html" class="tsd-kind-icon">Object<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="ObjectResult.html" class="tsd-kind-icon">Object<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="PersonResult.html" class="tsd-kind-icon">Person<wbr>Result</a>
</li>
<li class=" tsd-kind-interface">
<a href="Result.html" class="tsd-kind-icon">Result</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr>Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr>Path</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-type-alias">
<a href="../index.html#Error" class="tsd-kind-icon">Error</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Events" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#GestureResult" class="tsd-kind-icon">Gesture<wbr>Result</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#Input" class="tsd-kind-icon">Input</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#TensorFlow" class="tsd-kind-icon">Tensor<wbr>Flow</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#defaults" class="tsd-kind-icon">defaults</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#env" class="tsd-kind-icon">env</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>SegmentationConfig | @vladmandic/human - v2.2.2</title><meta name="description" content="Documentation for @vladmandic/human - v2.2.2"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vladmandic/human - v2.2.2</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../index.html">@vladmandic/human - v2.2.2</a></li><li><a href="SegmentationConfig.html">SegmentationConfig</a></li></ul><h1>Interface SegmentationConfig</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<p>Controlls and configures all body segmentation module
removes background from input containing person
if segmentation is enabled it will run as preprocessing task before any other model
alternatively leave it disabled and use it on-demand using human.segmentation method which can
remove background or replace it with user-provided background</p>
</div><div><ul>
<li>enabled: true/false</li>
<li>modelPath: object detection model, can be absolute path or relative to modelBasePath</li>
</ul>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">SegmentationConfig</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr/>Path</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="enabled" class="tsd-anchor"></a><h3>enabled</h3><div class="tsd-signature tsd-kind-icon">enabled<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L123">config.ts:123</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="modelPath" class="tsd-anchor"></a><h3>model<wbr/>Path</h3><div class="tsd-signature tsd-kind-icon">model<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/config.ts#L124">config.ts:124</a></li></ul></aside></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="SegmentationConfig.html" class="tsd-kind-icon">Segmentation<wbr/>Config</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#enabled" class="tsd-kind-icon">enabled</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="SegmentationConfig.html#modelPath" class="tsd-kind-icon">model<wbr/>Path</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

View File

@ -1,8 +1,5 @@
export declare function reset(instance: any): void;
/** Load method preloads all instance.configured models on-demand
* - Not explicitly required as any required model is load implicitly on it's first run
* @param userinstance.config?: {@link instance.config}
*/
/** Load method preloads all instance.configured models on-demand */
export declare function load(instance: any): Promise<void>;
export declare function validate(instance: any): Promise<void>;
//# sourceMappingURL=models.d.ts.map

View File

@ -1 +1 @@
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAgBA,wBAAgB,KAAK,CAAC,QAAQ,KAAA,QAkB7B;AAED;;;EAGE;AACF,wBAAsB,IAAI,CAAC,QAAQ,KAAA,iBA4ClC;AAED,wBAAsB,QAAQ,CAAC,QAAQ,KAAA,iBA4CtC"}
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAgBA,wBAAgB,KAAK,CAAC,QAAQ,KAAA,QAkB7B;AAED,oEAAoE;AACpE,wBAAsB,IAAI,CAAC,QAAQ,KAAA,iBA4ClC;AAED,wBAAsB,QAAQ,CAAC,QAAQ,KAAA,iBA4CtC"}

View File

@ -191,7 +191,7 @@ export interface Result {
hand: Array<HandResult>;
/** {@link GestureResult}: detection & analysis results */
gesture: Array<GestureResult>;
/** {@link ItemResult}: detection & analysis results */
/** {@link ObjectResult}: detection & analysis results */
object: Array<ObjectResult>;
/** global performance object with timing values for each operation */
performance: Record<string, unknown>;

View File

@ -1 +1 @@
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACrC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACpD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACpC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAA;CACH;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,CACjB,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EACxD,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAChC,CAAC;IACF,SAAS,EAAE,MAAM,CACf,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,EAC/C;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,GAAG,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,CAAA;KAAE,CACtM,CAAC;CACH;AAED;;;;;;;;;;;EAWE;AACF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,oBAAY,aAAa,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE5C;;;;;;;;;;;EAWE;AACF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,0DAA0D;IAC1D,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9B,uDAAuD;IACvD,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3B,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,yEAAyE;IACzE,MAAM,CAAC,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC9B"}
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACrC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACpD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACpC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAA;CACH;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,CACjB,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EACxD,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAChC,CAAC;IACF,SAAS,EAAE,MAAM,CACf,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,EAC/C;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,GAAG,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,CAAA;KAAE,CACtM,CAAC;CACH;AAED;;;;;;;;;;;EAWE;AACF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,oBAAY,aAAa,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE5C;;;;;;;;;;;EAWE;AACF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,uDAAuD;IACvD,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxB,0DAA0D;IAC1D,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9B,yDAAyD;IACzD,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3B,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,yEAAyE;IACzE,MAAM,CAAC,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC9B"}