ykcheungab
73b1fa7fa4
docs: correct the _perf path references after the bench moved
...
The `_perf/` measurement bench was gitignored and had never been committed, so
23 of the 27 scripts cited by the perf documents were already lost. The 11
surviving files (4 scripts, cfg_dm1.json, 5 result JSONs, the 53 MB MJPG clip)
have been moved to D:\orisys_ws\docs\performance\perf-measurements\ and the
scripts patched to resolve their defaults next to themselves. The directory has
been removed from this repo.
These three files said the scripts were deleted, which was only half true:
they are moved, and the four surviving ones still run. Repointed:
- src/orisys/sensor.py: the FILTER_PRESETS comment now names the real location
(comment only; FILTER_PRESETS itself is unchanged).
- docs/filters.md and examples/filters/README.md: the same correction for the
latency/noise measurement provenance.
No behaviour change.
2026-09-27 21:49:26 +08:00
ykcheungab
d5b938738e
docs: point perf references at the workspace docs tree; ignore .scratch/
...
orisys-sdk-perf-plan.md moved to D:\orisys_ws\docs\performance\ as part of the
2026-09-27 workspace cleanup. docs/filters.md and examples/filters/README.md now
name the new location; the _perf/ measurement scripts they also cited are deleted
(the document keeps every measured number).
Also ignore .scratch/, the new per-task scratch directory (see
D:\orisys_ws\AGENTS.md).
2026-09-27 21:14:20 +08:00
ykcheungab
e2ac36269c
added ruff code reivew
2026-09-27 19:21:55 +08:00
ykcheungab
11962cdc34
配置没写的滤波键等于"关",不再回落到会滤波的默认值 - What: DEFAULT_FORCE_MEDIAN_WINDOW 3 -> 1、DEFAULT_FLOW_EMA_ALPHA 0.5 -> 1.0(DEFAULT_FORCE_LOWPASS_HZ 本就是 0.0),并把注释改成"配置文件没写的键就是关,而不是我们觉得合理的那一档"——原因写在注释里:否则设备会去滤一个没人要求滤的测量,而文件里没有任何线索;实测的延迟/降噪数据保留在注释中,作为 balanced/low_noise 预设的依据。docs/filters.md 第 2 节增加"缺省 = 关"这一条并说明没有 filters 段的配置什么都不滤,预设表里 balanced 的用途由"默认建议"改为"建议起步档"(它不再是默认值)。examples/filters/README.md 补一句"整段删掉等价于 off"。tests/test_filter_presets.py 新增 test_a_config_with_no_filters_block_filters_nothing:把 box bundle 的 filters 段整段删掉后构造真实 Sensor,断言 filters_state() 报 ema 1.0 / median 1 / cutoff 0.0 且 any_stage_applied 为 False。 - Why: 上一版只把"非法值"改成回落到关,但"键根本不写"仍会走 DEFAULT_* 从而把 EMA 0.5 + 中值 3 打开——这与"配置自描述、文件说什么就跑什么、出厂默认全关"矛盾,且现实里存在大量没有 filters 段的手写配置(例如 _perf/cfg_res_280x300.json),它们会在无人察觉的情况下继续滤波。缺省开是这条链上最后一个隐藏默认值。 - Verification: 删掉 filters 段后实测 filters_state() = (1.0, 1, 0.0) 且 any_stage_applied=False,出厂 box/mini/finger 三份同样为全关;pytest tests/test_filter_presets.py + tests/test_calibration.py → 33 passed;SDK 全量 336 passed / 15 skipped(唯一失败仍是需要 1200 帧而样例只有 577 帧的 longrun 测试);app 侧 studio 85 项与 shared 142 项测试、ui_check 554 项检查在升级后的 0.5.2 下全绿。 - Not in this change: 出厂 bundle 的三个显式值未动(本来就全关);_perf 的两个校验脚本不在仓库内,已就地补上显式 filters 段(balanced)以保持"开 vs 关"对照仍有意义;app 侧 wrapper/齿轮/CSV 17 列未动。
2026-09-14 10:53:33 +08:00
ykcheungab
7f8e5d0975
四个滤波预设落成机器可读的配置文件,并加上防漂移测试 - What: 新增 examples/filters/filters_{off,low_latency,balanced,low_noise}.json —— 每个都是完整可整块替换的 filters 段(五键齐全:flow_ema_alpha / force_median_window / force_lowpass_cutoff_hz / force_lowpass_order / force_lowpass_sample_rate_hz),数值即 FILTER_PRESETS 展开后的结果;examples/filters/README.md 说明这四份副本的存在与用途;新增 tests/test_filter_presets.py(12 项):预设名恰为四个、每个示例文件 == 默认块叠加该预设(改预设或改文件都会红)、每份都是含三个开关键的真实 filters 段、三个出厂 bundle(box/mini/finger)的 filters 段仍为全关、且用 external-frame 模式构造真实 Sensor 核对 filters_state() 报的也是全关(文件与设备必须一致)。 - Why: 之前的实现计划里写的是"四个 sensor_<preset>.json 整机配置",但整机配置要按传感器各复制一份、且必然随 bundle 漂移;README 里内嵌的 JSON 又无法被测试覆盖,等于把"建议用哪档滤波"这句话留在了一处会过时的散文里。改成"filters 片段 + 断言与 FILTER_PRESETS 逐值一致的测试",既不谎称是完整配置,也不会静默过时。 - Verification: pytest tests/test_filter_presets.py → 12 passed;SDK 全量 335 passed / 15 skipped(唯一失败仍是需要 1200 帧而样例只有 577 帧的 longrun 测试)。 - Not in this change: 未生成按传感器复制的整机配置;docs/filters.md 的预设表未纳入测试(只有这四个文件与代码常量对齐);app 侧未动。
2026-09-14 10:44:07 +08:00
ykcheungab
b956d071ea
滤波说明落到文档与 examples:三级位置/性质、四个预设、可追溯性清单 - What: 新增 docs/filters.md(json.load 不支持注释,故建议以"代码预设 + 文档 + 可复制配置"承载:三级滤波的作用位置与性质对照——flow_ema_alpha 在 compute_flow/HHD 之前、改变测量故两次录制不可比,中值与低通是读数滤波;取值规则:每级按值开关、非法值一律关、filters.enabled 仅作废弃别名、显式键优先于预设;FILTER_PRESETS 四个档位的延迟与用途表;configure()/filters_state() 用法;force_triplets() 两个 buffer 的语义与尖峰实测 10/999;可追溯性五条清单)与 examples/filters/README.md(off/low_latency/balanced/low_noise 四段可直接整块替换的 filters 配置、preset 等价写法、"从预设出发只改一个键"的写法、复制后用 filters_state() 核对生效值的片段)。 - Why: 用户提出"在 json 里加 comment 说明建议的滤波,或在 examples 里写",查证 configs.py 使用 json.load 且环境无 json5/commentjson,加注释会导致加载失败;因此把建议做成可执行预设并在文档与 examples 中给出可复制版本。 - Verification: 文档中的四个预设与 FILTER_PRESETS 逐值一致;示例片段与 sensors/*/sensor.json 的 filters 段结构一致;filters_state()/force_triplets() 的行为已用 external-frame 模式实测(预设解析结果与尖峰 10/999 对照)。 - Not in this change: 未生成四个独立的 sensor_<preset>.json 整机配置文件(README 里给的是整块 filters 段);calibration.py 指纹尚未改读 filters_state();venv 内 SDK 未升级;app 侧 wrapper/齿轮与 CSV 17 列未动。
2026-09-14 10:36:00 +08:00
ykcheungab
514874e2f4
added 5 sensors multi-stream support, 5 finger reach > 100 fps stable using .mp4 video
2026-09-13 12:18:27 +08:00
ykcheungab
35af74f639
exclude docs from wheel; harden bundle item handling; single-source version
2026-09-12 16:19:34 +08:00
ykcheungab
9537cf91a1
added preflight check
2026-09-12 15:49:28 +08:00
ykcheungab
96f4428230
added calibration data handling functions
2026-09-10 21:47:36 +08:00
ykcheungab
ad680b77dc
0.5.1
2026-09-02 21:47:51 +08:00
zhangyijian
bc059e3539
Merge pull request 'Hotfix/mems cam open' ( #20 ) from hotfix/mems_cam_open into dev
...
Reviewed-on: #20
2026-09-02 21:38:48 +08:00
ykcheungab
5be2d9759a
hotfix/camera not connected error
2026-09-02 21:37:40 +08:00
ykcheungab
36e0c22de6
fix input flag convention mismatch
2026-08-26 20:26:05 +08:00
ykcheungab
8a4be5f8f2
update to 0.5.0
2026-08-26 20:20:37 +08:00
ykcheungab
68910e63c1
fix finger gui cannot choose camera
2026-08-26 20:19:55 +08:00
ykcheungab
577e3fe528
update pip install .copy manifest for developments
2026-08-26 20:04:40 +08:00
ykcheungab
32d4164471
update examples to fix path issues
2026-08-26 19:38:47 +08:00
ykcheungab
d59e1cb7fb
fix path errors
2026-08-26 19:22:37 +08:00
ykcheungab
8a7760f12b
refractor capture to a module
2026-08-23 15:53:02 +08:00
ykcheungab
1ceb0d9ca4
organize settings to dedicated sensors folder, json + assets
2026-08-23 12:21:24 +08:00
ykcheungab
44bcc19426
update docs and downstream sync
2026-08-18 11:00:57 +08:00
ykcheungab
2e09c9360e
included low pass filter in package and add to plot_data example
2026-08-17 22:11:17 +08:00
ykcheungab
d7c5845646
finished docker manylinux compliation for pypi
2026-08-03 17:07:54 +08:00
ykcheungab
3117ddd5b9
organize exampels according to products
2026-08-03 15:52:15 +08:00
ykcheungab
8b2f76c76f
prepare for dd03 shipping
2026-08-03 14:20:30 +08:00
zhangyijian
044fe02107
update dd06 display
2026-07-26 18:14:47 +08:00
ykcheungab
2e3d0a0609
added dd06 test support, organized 2d viewer and 3d viewer code organization.
2026-07-26 17:03:44 +08:00
ykcheungab
11a747a771
added camera search and select, auto preference saving and version tag to 0.4.2
2026-07-15 15:08:59 +08:00
ykcheungab
87ac152907
update csv export and added fixed mesh axis drawing
2026-07-15 14:25:03 +08:00
ykcheungab
a9c26fd1fb
Merge branch 'feature/finger_docs' into dev
2026-07-14 20:07:43 +08:00
ykcheungab
30f9deb5b2
dd02 setting tune + change Class name from UVUnrollFrameProcessor to FrameUnwarper
2026-07-14 20:00:40 +08:00
zhangyijian
d58fa1caa2
moved examples/app_paths.py into gui
2026-07-12 19:54:32 +08:00
zhangyijian
4b38dbb6b6
cleanup example profile code
2026-07-12 19:35:04 +08:00
ykcheungab
c2fb0b12b5
AI 更新文档
2026-07-09 14:03:45 +08:00
ykcheungab
9317bb3942
update examples read.me
2026-06-30 09:55:41 +08:00
ykcheungab
e855651500
try to fix wsl open3d crash
2026-06-29 10:50:29 +08:00
ykcheungab
4cc1027cc8
fix open 3d cannot work in linux
2026-06-29 10:47:46 +08:00
ykcheungab
04a4df3303
add back GUI 2D display with optional raw / pure color background
2026-06-21 18:01:13 +08:00
ykcheungab
7feae9550e
update exe GUI build
2026-06-21 12:01:34 +08:00
ykcheungab
258948bcb7
added mesh surface arrows
2026-06-19 21:22:28 +08:00
ykcheungab
2e5c047d1e
1. tuned arrow mesh drawing
...
2. centralixzed arrow config in layout.py
3. seperate mesh render and display resolution to speed up (~40 fps)
2026-06-19 14:28:28 +08:00
ykcheungab
3fd9b839a9
GUI for finger v1
2026-06-18 22:18:19 +08:00
ykcheungab
f19f092b64
split example visualizaiton pipeline
2026-06-18 13:47:16 +08:00
ykcheungab
fbee1c37ed
tuned pipeline to 60 fps
2026-06-14 20:58:46 +08:00
ykcheungab
30bebcd439
integrated finger process pipeline on remapped 2d image
2026-06-14 17:48:30 +08:00
ykcheungab
a8cb4203fd
update patch generation 3d
2026-05-14 20:56:37 +08:00
ykcheungab
9cd7f75c88
refractor HHD
2026-05-10 19:04:20 +08:00
ykcheungab
d38ce82059
clean up folder
2026-05-10 17:41:39 +08:00