initial commit, functinal software
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"app": {
|
||||
"title": "Orisys App",
|
||||
"about_title": "About",
|
||||
"about_body": "Orisys customer desktop application\nVersion: {app_version}",
|
||||
"scaffold_hint": "Scaffold shell — acquisition coming later"
|
||||
},
|
||||
"menu": {
|
||||
"file": "File",
|
||||
"open_video": "Open video…",
|
||||
"reveal_config": "Reveal sensor config…",
|
||||
"view": "View",
|
||||
"theme": "Theme",
|
||||
"theme_dark": "Dark",
|
||||
"theme_light": "Light",
|
||||
"language": "Language",
|
||||
"lang_zh": "简体中文",
|
||||
"lang_en": "English",
|
||||
"calibration_panel": "Calibration panel",
|
||||
"finger_3d": "Finger 3D view",
|
||||
"show_fps": "Show FPS",
|
||||
"plot_settings": "Plot settings…",
|
||||
"help": "Help",
|
||||
"about": "About"
|
||||
},
|
||||
"dialog": {
|
||||
"plot_settings_title": "Plot settings",
|
||||
"plot_window": "Time window",
|
||||
"plot_window_tip": "Force plot time window (seconds)",
|
||||
"plot_fn_max": "FN max",
|
||||
"plot_fn_max_tip": "Normal force axis max (Newton mode)",
|
||||
"plot_shear_max": "Shear max",
|
||||
"plot_shear_max_tip": "Shear force axis ±max for FX/FY (Newton mode)",
|
||||
"reset_defaults": "Reset to defaults",
|
||||
"ok": "OK",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"toolbar": {
|
||||
"source": "Source",
|
||||
"source_camera": "Camera",
|
||||
"source_video": "Video file",
|
||||
"search_cameras": "Search",
|
||||
"cam_id": "Cam ID",
|
||||
"browse_video": "Browse…",
|
||||
"video_placeholder": "No video selected",
|
||||
"preview": "Preview",
|
||||
"preview_stop": "Stop preview",
|
||||
"run": "Run",
|
||||
"stop": "Stop",
|
||||
"reset": "Reset",
|
||||
"units": "Units",
|
||||
"units_newton": "Newton",
|
||||
"units_raw": "Raw"
|
||||
},
|
||||
"sensor": {
|
||||
"type": "Sensor type",
|
||||
"config": "Config",
|
||||
"thumb_placeholder": "Thumbnail"
|
||||
},
|
||||
"panels": {
|
||||
"arrow": "2D arrows",
|
||||
"view_arrows_pure": "Arrows",
|
||||
"view_arrows_stitched": "Arrows / Captured",
|
||||
"view_depth": "Depth map",
|
||||
"view_mode_tip": "Image display mode while running",
|
||||
"plots": "Force Charts",
|
||||
"cal": "Calibration",
|
||||
"mesh3d": "3D mesh",
|
||||
"mesh3d_hint": "Finger 3D view placeholder — Open3D mesh coming later"
|
||||
},
|
||||
"cal": {
|
||||
"weight": "Weight (N)",
|
||||
"duration": "Record duration",
|
||||
"record": "Record",
|
||||
"delete_row": "Delete row",
|
||||
"clear_channel": "Clear channel",
|
||||
"clear_all": "Clear all",
|
||||
"export": "Export…",
|
||||
"sn": "SN",
|
||||
"sn_placeholder": "Serial number (optional)",
|
||||
"live_raw": "Live raw FN={fn} FX={fx} FY={fy}",
|
||||
"col_weight": "Weight (N)",
|
||||
"col_raw": "Raw mean",
|
||||
"col_n": "n",
|
||||
"col_std": "σ",
|
||||
"col_actions": "",
|
||||
"recording": "Recording calibration samples…",
|
||||
"record_ok": "Recorded weight={weight} raw={raw}",
|
||||
"record_failed_few": "Recording failed — too few samples",
|
||||
"export_ok": "Exported {path}",
|
||||
"export_local": "Also wrote {path}",
|
||||
"export_warnings": "Skipped: {detail}",
|
||||
"export_failed": "Export failed: {error}"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Ready",
|
||||
"camera_none": "No cameras found",
|
||||
"camera_found": "Found {count} camera(s): {names}",
|
||||
"preview_started": "Preview started (camera {camera_id})",
|
||||
"preview_stopped": "Preview stopped",
|
||||
"preview_failed": "Preview failed: {error}",
|
||||
"connecting": "Connecting…",
|
||||
"run_started": "Running ({source})",
|
||||
"run_stopped": "Stopped",
|
||||
"run_failed": "Run failed: {error}",
|
||||
"video_ended": "Video ended",
|
||||
"camera_disconnected": "Camera disconnected",
|
||||
"reset_ok": "Tracker reset",
|
||||
"finger_run_unavailable": "Run is not available for this sensor type",
|
||||
"video_required": "Select a video file first",
|
||||
"config_missing": "Sensor config not found for {type}",
|
||||
"units_raw_fallback": "Calibration unavailable — showing raw units",
|
||||
"reveal_failed": "Could not reveal config: {error}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"app": {
|
||||
"title": "Orisys 应用",
|
||||
"about_title": "关于",
|
||||
"about_body": "Orisys 客户端桌面应用\n版本: {app_version}",
|
||||
"scaffold_hint": "脚手架界面 — 采集功能稍后加入"
|
||||
},
|
||||
"menu": {
|
||||
"file": "文件",
|
||||
"open_video": "打开视频…",
|
||||
"reveal_config": "在资源管理器中显示配置…",
|
||||
"view": "视图",
|
||||
"theme": "主题",
|
||||
"theme_dark": "深色",
|
||||
"theme_light": "浅色",
|
||||
"language": "语言",
|
||||
"lang_zh": "简体中文",
|
||||
"lang_en": "English",
|
||||
"calibration_panel": "标定面板",
|
||||
"finger_3d": "手指 3D 视图",
|
||||
"show_fps": "显示 FPS",
|
||||
"plot_settings": "绘图设置…",
|
||||
"help": "帮助",
|
||||
"about": "关于"
|
||||
},
|
||||
"dialog": {
|
||||
"plot_settings_title": "绘图设置",
|
||||
"plot_window": "时间窗口",
|
||||
"plot_window_tip": "力曲线时间窗口(秒)",
|
||||
"plot_fn_max": "FN 上限",
|
||||
"plot_fn_max_tip": "法向力纵轴上限(牛顿模式)",
|
||||
"plot_shear_max": "剪切上限",
|
||||
"plot_shear_max_tip": "剪切力 FX/FY 纵轴 ±上限(牛顿模式)",
|
||||
"reset_defaults": "恢复默认",
|
||||
"ok": "确定",
|
||||
"cancel": "取消"
|
||||
},
|
||||
"toolbar": {
|
||||
"source": "来源",
|
||||
"source_camera": "摄像机",
|
||||
"source_video": "视频文件",
|
||||
"search_cameras": "搜索",
|
||||
"cam_id": "摄像机",
|
||||
"browse_video": "浏览…",
|
||||
"video_placeholder": "未选择视频",
|
||||
"preview": "预览",
|
||||
"preview_stop": "停止预览",
|
||||
"run": "运行",
|
||||
"stop": "停止",
|
||||
"reset": "重置",
|
||||
"units": "单位",
|
||||
"units_newton": "牛顿",
|
||||
"units_raw": "原始"
|
||||
},
|
||||
"sensor": {
|
||||
"type": "传感器类型",
|
||||
"config": "配置",
|
||||
"thumb_placeholder": "缩略图"
|
||||
},
|
||||
"panels": {
|
||||
"arrow": "形变箭头",
|
||||
"view_arrows_pure": "箭头",
|
||||
"view_arrows_stitched": "箭头/采集图像",
|
||||
"view_depth": "深度图",
|
||||
"view_mode_tip": "运行时的图像显示模式",
|
||||
"plots": "力曲线图",
|
||||
"cal": "标定",
|
||||
"mesh3d": "三维网格",
|
||||
"mesh3d_hint": "手指三维视图占位 — Open3D 网格稍后加入"
|
||||
},
|
||||
"cal": {
|
||||
"weight": "砝码重量 (N)",
|
||||
"duration": "采集时长",
|
||||
"record": "记录",
|
||||
"delete_row": "删除行",
|
||||
"clear_channel": "清空当前通道",
|
||||
"clear_all": "清空全部",
|
||||
"export": "导出…",
|
||||
"sn": "序列号",
|
||||
"sn_placeholder": "序列号(可选)",
|
||||
"live_raw": "实时原始值 FN={fn} FX={fx} FY={fy}",
|
||||
"col_weight": "重量 (N)",
|
||||
"col_raw": "原始均值",
|
||||
"col_n": "n",
|
||||
"col_std": "σ",
|
||||
"col_actions": "",
|
||||
"recording": "正在采集标定样本…",
|
||||
"record_ok": "已记录 weight={weight} raw={raw}",
|
||||
"record_failed_few": "采集失败 — 样本过少",
|
||||
"export_ok": "已导出 {path}",
|
||||
"export_local": "同时写入 {path}",
|
||||
"export_warnings": "跳过: {detail}",
|
||||
"export_failed": "导出失败: {error}"
|
||||
},
|
||||
"status": {
|
||||
"ready": "就绪",
|
||||
"camera_none": "未发现摄像机",
|
||||
"camera_found": "发现 {count} 个摄像机: {names}",
|
||||
"preview_started": "预览已启动(摄像机 {camera_id})",
|
||||
"preview_stopped": "预览已停止",
|
||||
"preview_failed": "预览失败: {error}",
|
||||
"connecting": "正在连接…",
|
||||
"run_started": "运行中({source})",
|
||||
"run_stopped": "已停止",
|
||||
"run_failed": "启动失败: {error}",
|
||||
"video_ended": "视频已结束",
|
||||
"camera_disconnected": "摄像机已断开",
|
||||
"reset_ok": "追踪器已重置",
|
||||
"finger_run_unavailable": "此传感器类型暂不支持运行",
|
||||
"video_required": "请先选择视频文件",
|
||||
"config_missing": "未找到传感器配置: {type}",
|
||||
"units_raw_fallback": "无标定数据 — 显示原始单位",
|
||||
"reveal_failed": "无法打开配置位置: {error}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"language": "zh_CN",
|
||||
"theme": "dark",
|
||||
"window_geometry": null,
|
||||
"camera_id": "0",
|
||||
"source_mode": "camera",
|
||||
"video_path": "",
|
||||
"show_cal_panel": false,
|
||||
"show_finger_3d": true,
|
||||
"sensor_type": "box",
|
||||
"config_name": "",
|
||||
"units": "newton",
|
||||
"plot_window_sec": 4.0,
|
||||
"plot_fn_max": 20.0,
|
||||
"plot_shear_max": 20.0,
|
||||
"image_view_mode": "arrows_pure"
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"unit": "N",
|
||||
"channels": {
|
||||
"normal": {
|
||||
"method": "piecewise_linear",
|
||||
"raw_key": "fnormal",
|
||||
"extrapolate": true,
|
||||
"clamp_output_min": 0.0,
|
||||
"points": [
|
||||
[
|
||||
3167.3289065950753,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
3617.3242262492,
|
||||
1.0
|
||||
]
|
||||
]
|
||||
},
|
||||
"shear_x": {
|
||||
"method": "piecewise_linear",
|
||||
"raw_key": "fshearx",
|
||||
"extrapolate": true,
|
||||
"clamp_output_min": 0.0,
|
||||
"points": [
|
||||
[
|
||||
1471.613952418736,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
1743.8539805266817,
|
||||
1.0
|
||||
]
|
||||
],
|
||||
"signed": true
|
||||
},
|
||||
"shear_y": {
|
||||
"method": "piecewise_linear",
|
||||
"raw_key": "fsheary",
|
||||
"extrapolate": true,
|
||||
"clamp_output_min": 0.0,
|
||||
"points": [
|
||||
[
|
||||
3845.5798720537605,
|
||||
1.0
|
||||
],
|
||||
[
|
||||
3881.793802339737,
|
||||
0.0
|
||||
]
|
||||
],
|
||||
"signed": true
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"date": "2026-09-06T21:54:09+08:00",
|
||||
"sensor_type": "box",
|
||||
"sn": "a",
|
||||
"stitch_resolution": [
|
||||
365,
|
||||
365
|
||||
],
|
||||
"dis_mode": 3,
|
||||
"hhd_downsample": 3,
|
||||
"record_duration_s": 7.0,
|
||||
"config_ref": "D:\\repo\\orisys-app\\apps\\customer\\config\\sensors\\box\\sensor.json",
|
||||
"samples": {
|
||||
"fn": [
|
||||
{
|
||||
"weight_n": 0.0,
|
||||
"raw_mean": 3167.3289065950753,
|
||||
"n": 283,
|
||||
"std": 283.516893458341
|
||||
},
|
||||
{
|
||||
"weight_n": 1.0,
|
||||
"raw_mean": 3617.3242262492,
|
||||
"n": 293,
|
||||
"std": 271.21386400281835
|
||||
}
|
||||
],
|
||||
"fx": [
|
||||
{
|
||||
"weight_n": 0.0,
|
||||
"raw_mean": -1471.613952418736,
|
||||
"n": 280,
|
||||
"std": 311.9173147283949
|
||||
},
|
||||
{
|
||||
"weight_n": 1.0,
|
||||
"raw_mean": -1743.8539805266817,
|
||||
"n": 295,
|
||||
"std": 324.2175747527586
|
||||
}
|
||||
],
|
||||
"fy": [
|
||||
{
|
||||
"weight_n": 0.0,
|
||||
"raw_mean": 3881.793802339737,
|
||||
"n": 292,
|
||||
"std": 362.16000171157486
|
||||
},
|
||||
{
|
||||
"weight_n": 1.0,
|
||||
"raw_mean": 3845.5798720537605,
|
||||
"n": 295,
|
||||
"std": 390.42421990805127
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1920, 1080],
|
||||
"fps": 30,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [365, 365],
|
||||
"stitch_res_list": [365,263,123,63]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.05,
|
||||
"max_aspect_ratio": 50,
|
||||
"index": [1,2,3,6,7,8,11,12,13],
|
||||
"margin": 10,
|
||||
"nominal_ov_pos": 100,
|
||||
"n": [3,3],
|
||||
"row_tol": 0.6,
|
||||
"box_size": [250, 250],
|
||||
"blend":"numba",
|
||||
"blend_list": ["numpy", "numba","none"]
|
||||
},
|
||||
"tracker": {
|
||||
"adaptive": true,
|
||||
"lower_threshold": 12.0,
|
||||
"upper_threshold": 18.0,
|
||||
"loop_closure_interval": 1,
|
||||
"algorithm": "dis",
|
||||
"dis_preset": "medium",
|
||||
"dis_mode": 3,
|
||||
"algorithm_list": ["raft", "dis"],
|
||||
"hhd_downsample": 3
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold":5,
|
||||
"div_threshold":0.05,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 12
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
Place the ORY-FINGER runtime asset bundle files in this directory before
|
||||
building release wheels:
|
||||
|
||||
- `mesh.npz`
|
||||
- `camera_intrinsics.npz`
|
||||
- `world_to_cam.npy`
|
||||
|
||||
These binary assets are validated by the wheel build and are intentionally not
|
||||
generated by the package build step.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
Place visualization camera assets in this directory before building release
|
||||
wheels:
|
||||
|
||||
- `world_to_cam.npy`
|
||||
|
||||
The 3D dashboard uses this pose as the default view preset when available.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "finger",
|
||||
"sensor_json": "sensor.json",
|
||||
"assets_dir": "assets/30fps-0703",
|
||||
"viz_pose": "assets/visualization/world_to_cam.npy"
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "dd02-ov",
|
||||
"type": "single_camera",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1280, 720],
|
||||
"fps": 30,
|
||||
"resolution_stitch": [280, 300],
|
||||
"source_scale": 0.4,
|
||||
"old":[672, 728, 1,0.5],
|
||||
"work": [504, 546,1],
|
||||
"work2": [420, 450,0.8],
|
||||
"work3": [350, 375,4,0.7],
|
||||
"work4": [280, 300,4,0.4,0.2]
|
||||
},
|
||||
"tracker": {
|
||||
"adaptive": true,
|
||||
"lower_threshold": 12.0,
|
||||
"upper_threshold": 18.0,
|
||||
"loop_closure_interval": 1,
|
||||
"algorithm": "dis",
|
||||
"dis_preset": "medium",
|
||||
"dis_mode": 1,
|
||||
"algorithm_list": ["raft", "dis"],
|
||||
"hhd_downsample": 3
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold": 0.2,
|
||||
"div_threshold": 0.022,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5, 5],
|
||||
"denoise_sigma": 12
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1920, 1080],
|
||||
"fps": 30,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [365, 365],
|
||||
"stitch_res_list": [365,263,123,63]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.05,
|
||||
"max_aspect_ratio": 50,
|
||||
"index": [1,2,3,6,7,8,11,12,13],
|
||||
"margin": 10,
|
||||
"nominal_ov_pos": 100,
|
||||
"n": [3,3],
|
||||
"row_tol": 0.6,
|
||||
"box_size": [250, 250],
|
||||
"blend":"numba",
|
||||
"blend_list": ["numpy", "numba","none"]
|
||||
},
|
||||
"tracker": {
|
||||
"adaptive": true,
|
||||
"lower_threshold": 12.0,
|
||||
"upper_threshold": 18.0,
|
||||
"loop_closure_interval": 1,
|
||||
"algorithm": "dis",
|
||||
"dis_preset": "medium",
|
||||
"dis_mode": 3,
|
||||
"algorithm_list": ["raft", "dis"],
|
||||
"hhd_downsample": 3
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold":5,
|
||||
"div_threshold":0.05,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 12
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user