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
|
0beb36a1af
|
滤波预设与生效值出口:FILTER_PRESETS + filters_state() + force_triplets() - What: 新增 FILTER_PRESETS(off/low_latency/balanced/low_noise,数值取自 _perf 的延迟表,low_noise 含 10 Hz 低通)与 available_filter_presets() 供 UI 取用;配置可写 filters.preset 且显式键优先于预设值;新增 Sensor.filters_state()(preset + measurement 组 flow_ema_alpha/flow_ema_applied/hhd_downsample/dis_mode + readout 组中值与低通的窗口/截止/阶数/采样率/是否 auto/是否生效 + sample_rate_source + any_stage_applied + source="sensor.filters_state")作为唯一"生效值"出口;新增 Sensor.force_triplets() 一次返回 {filtered:{raw,newton}, unfiltered:{raw,newton}},并在 _apply_force_filter 中于链后、标定前保存 _force_filtered_raw(修正:此前滤波后的 raw 计数没有保存,force_triplets 的 filtered.raw 实际返回的是输入);reset() 清空未滤波缓存。 - Why: 用户要求配置自描述(A)并把"生效值"作为审计唯一依据(B),同时要保留滤波前数据以便"两个 buffer、两个单位都保留";顺带证实并修掉了 filtered.raw 指向输入这一标签错误。 - Verification: external-frame 模式逐预设构造真实 Sensor 打印 filters_state:off/low_latency/balanced/low_noise 分别为 (ema 1.0 off, median 1 off, lp 0.0 off) / (1.0 off, 3 on, 0.0 off) / (0.5 on, 3 on, 0.0 off) / (0.3 on, 3 on, 10.0 on);注入 10,10,10,999,10,10 观察力三元组,filtered.raw 在尖峰帧为 10.0、unfiltered.raw 为 999.0,证明中值生效且未滤波 buffer 完整;compileall 通过。 - Not in this change: calibration.py 指纹尚未改读 filters_state(),examples/filters 与 docs/filters.md 未加,venv 里的 SDK 未升级(app 行为不变,仍硬编码 10 Hz 低通),app 侧 wrapper/齿轮/CSV 17 列未动。
|
2026-09-14 10:35:51 +08:00 |
|
ykcheungab
|
1adb1c30f0
|
滤波配置自描述:去掉覆盖式总开关,每级按自己的值生效 - What: sensor.py 删除 filters.enabled 这个覆盖层——flow_ema_alpha / force_median_window / force_lowpass_cutoff_hz 现在各自按值生效(0<α<1 才滤、≤1 关中值、≤0 关低通),非法值一律回落到"关"而不再回落到"默认开"(原实现里非法取值的 except 分支会把 cutoff 变回 10 Hz);enabled 仅作废弃别名保留(显式 false = 三级全关)并在 verbose 时提示弃用,true 不再有覆盖作用;_filters_enabled 改为派生量(任一级在滤才为真)供旧调用方查询。三份 sensors/{box,mini,finger}/sensor.json 的 filters 段改为自描述且默认全关(flow_ema_alpha 1.0 / force_median_window 1 / force_lowpass_cutoff_hz 0.0 / order 2 / sample_rate "auto")。 - Why: 用户问"flow_ema_alpha 是不是受 filter_enabled 控制、这样合适吗",查证后确认三级都被同一总开关覆盖,且出厂配置写 enabled:false 却仍列着 0.5/3,导致文件说的与设备实际跑的不一致(审计/指纹会误报);同时 flow_ema_alpha 位于 HHD 之前、改变的是测量本身,与中值/低通这类读数滤波性质不同,不应被一个开关捆绑。 - Verification: 用 SDK 的 external-frame 模式逐个 bundle 构造真实 Sensor 并读取解析结果:box/mini/finger 均为 ema=1.0、median=1、cutoff=0.0、lowpass_on=False、any_stage=False;三份 JSON 解析通过;compileall 通过;SDK 内 _filters_enabled 仅剩派生定义一处引用。 - Not in this change: 未动采集路径与 read_info/force_triplets(第 2 步),未动 calibration.py 指纹(第 2 步),未升级 venv 里的 SDK(第 5 步)——因此 app 当前行为不变(它仍在运行时硬编码 lowpass_cutoff_hz=10,压过本配置),"默认关"要到 app 改用 FilterSettings.apply_to(sensor) 后才在界面体现。
|
2026-09-14 10:26:39 +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
|
0d5d8ff70d
|
update filter, flow ema 0.5 + med 3
|
2026-09-12 19:36:36 +08:00 |
|
ykcheungab
|
5f78115429
|
fix pypi cannot check after upload
|
2026-09-12 17:43:40 +08:00 |
|
ykcheungab
|
488c8b0bc1
|
fixed testpypi upload
|
2026-09-12 17:34:46 +08:00 |
|
ykcheungab
|
94f38bc389
|
fix github release
|
2026-09-12 17:01:35 +08:00 |
|
ykcheungab
|
174bceabc4
|
automate publishing: release github + release pypi
|
2026-09-12 16:50:55 +08:00 |
|
ykcheungab
|
388f34ca85
|
faster linux build
|
2026-09-12 16:36:59 +08:00 |
|
ykcheungab
|
35af74f639
|
exclude docs from wheel; harden bundle item handling; single-source version
|
2026-09-12 16:19:34 +08:00 |
|
ykcheungab
|
57bef85e32
|
fix preflight
|
2026-09-12 16:00:40 +08:00 |
|
ykcheungab
|
9537cf91a1
|
added preflight check
|
2026-09-12 15:49:28 +08:00 |
|
zhangyijian
|
9c23ba3d50
|
Merge pull request 'Feature/cal json v2' (#21) from feature/cal_json_v2 into dev
Reviewed-on: #21
|
2026-09-10 21:48:55 +08:00 |
|
ykcheungab
|
96f4428230
|
added calibration data handling functions
|
2026-09-10 21:47:36 +08:00 |
|
ykcheungab
|
9cbba08d68
|
tuned sensitivity to max. by default
|
2026-09-03 15:23:51 +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
|
32823a7666
|
test if optical flow integration error: not significant for Mems
|
2026-09-01 21:27:10 +08:00 |
|
zhangyijian
|
26168852ef
|
Merge pull request 'fix input flag convention mismatch' (#18) from feature/force_cal into dev
Reviewed-on: #18
|
2026-08-26 20:27:35 +08:00 |
|
ykcheungab
|
36e0c22de6
|
fix input flag convention mismatch
|
2026-08-26 20:26:05 +08:00 |
|
zhangyijian
|
a387b8b693
|
Merge pull request 'Feature/force cal' (#17) from feature/force_cal into dev
Reviewed-on: #17
|
2026-08-26 20:22:27 +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 |
|
zhangyijian
|
2cb152b76e
|
Merge pull request 'refractor stitcher class into module' (#16) from refractor/stitcher into dev
Reviewed-on: #16
|
2026-08-23 16:25:27 +08:00 |
|
ykcheungab
|
ab97efe039
|
refractor stitcher class into module
|
2026-08-23 16:24:53 +08:00 |
|
zhangyijian
|
135857b6de
|
Merge pull request 'refractor capture to a module' (#15) from refractor/capture into dev
Reviewed-on: #15
|
2026-08-23 15:53:55 +08:00 |
|
ykcheungab
|
8a7760f12b
|
refractor capture to a module
|
2026-08-23 15:53:02 +08:00 |
|
zhangyijian
|
4583dc3a40
|
Merge pull request 'Refractor/config package' (#14) from refractor/config_package into dev
Reviewed-on: http://100.106.67.31:3000/orisys-tech/orisys-sdk/pulls/14
|
2026-08-23 12:25:28 +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 |
|
zhangyijian
|
93b4517ebf
|
Merge pull request 'reorganized build directory' (#13) from feature/single_build_entry into dev
Reviewed-on: http://100.106.67.31:3000/orisys-tech/orisys-sdk/pulls/13
|
2026-08-03 22:17:48 +08:00 |
|
ykcheungab
|
9a69f01278
|
reorganized build directory
|
2026-08-03 22:14:19 +08:00 |
|
zhangyijian
|
4acdce4456
|
Merge pull request 'Feature/build docker manylinux pypi' (#12) from feature/build_docker_manylinux_pypi into dev
Reviewed-on: http://100.106.67.31:3000/orisys-tech/orisys-sdk/pulls/12
|
2026-08-03 17:12:52 +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
|
8d1772300f
|
Merge pull request 'update dd06 display' (#11) from test/dd06_viewer into dev
Reviewed-on: http://100.106.67.31:3000/orisys-tech/orisys-sdk/pulls/11
|
2026-07-26 18:15:59 +08:00 |
|
zhangyijian
|
044fe02107
|
update dd06 display
|
2026-07-26 18:14:47 +08:00 |
|
zhangyijian
|
b154a3acbb
|
Merge pull request 'added dd06 test support, organized 2d viewer and 3d viewer code organization.' (#10) from test/dd06 into dev
Reviewed-on: http://100.106.67.31:3000/orisys-tech/orisys-sdk/pulls/10
|
2026-07-26 17:05:12 +08:00 |
|
ykcheungab
|
2e3d0a0609
|
added dd06 test support, organized 2d viewer and 3d viewer code organization.
|
2026-07-26 17:03:44 +08:00 |
|
zhangyijian
|
28e6c7c8a9
|
Merge pull request 'Fix/stitching blend' (#9) from fix/stitching_blend into dev
Reviewed-on: http://100.106.67.31:3000/orisys-tech/orisys-sdk/pulls/9
|
2026-07-18 15:41:38 +08:00 |
|
ykcheungab
|
ee3ef3e961
|
fix numba stiching blend error and add numpy blend fallback
|
2026-07-18 15:38:21 +08:00 |
|
ykcheungab
|
62bc8dbff8
|
remove large tools file for pattern generation from git
|
2026-07-15 20:59:50 +08:00 |
|
zhangyijian
|
0e7fd2eeaf
|
Merge pull request 'added camera search and select, auto preference saving and version tag to 0.4.2' (#8) from feature/usbcam_search into dev
Reviewed-on: http://100.106.67.31:3000/orisys-tech/orisys-sdk/pulls/8
|
2026-07-15 15:10:58 +08:00 |
|