first commit
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import { DepthProcessor } from '../src/depth/DepthProcessor.ts';
|
||||
|
||||
function texture(values) { return DepthProcessor.fromNormalizedDepth(new Uint8Array(values), values.length, 1); }
|
||||
const flat = texture(Array(100).fill(128));
|
||||
assert.deepEqual(DepthProcessor.evidenceRange(flat), [1, 1]);
|
||||
flat.dispose();
|
||||
const scene = texture([...Array(60).fill(50), ...Array(25).fill(170), ...Array(14).fill(190), 255]);
|
||||
const [start, end] = DepthProcessor.evidenceRange(scene);
|
||||
assert.ok(start < 170 / 255 && end <= 190 / 255, 'face-range depths must contribute below the old 0.8 cutoff; one near outlier must not set the gate');
|
||||
assert.ok(end > start, 'non-flat evidence range is ordered');
|
||||
scene.dispose();
|
||||
for (const nearCount of [10, 60]) {
|
||||
const bimodal = texture([...Array(100 - nearCount).fill(50), ...Array(nearCount).fill(240)]);
|
||||
const [low, high] = DepthProcessor.evidenceRange(bimodal);
|
||||
assert.ok(low < high && high <= 240 / 255, 'two distinct depth layers must not be treated as flat');
|
||||
bimodal.dispose();
|
||||
}
|
||||
console.log('Depth histogram: flat disabled, mid-depth foreground retained, sparse near outlier rejected.');
|
||||
Reference in New Issue
Block a user