update sensor bench
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"name": "dd06-ov",
|
||||
"type": "single_camera",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"fps": 30,
|
||||
"resolution_stitch": [
|
||||
195,
|
||||
275
|
||||
],
|
||||
"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": 3,
|
||||
"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
|
||||
},
|
||||
"roi": {
|
||||
"type": "polygon",
|
||||
"image_size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"created_at": "2026-07-26T11:56:15",
|
||||
"points": [
|
||||
[
|
||||
242,
|
||||
1
|
||||
],
|
||||
[
|
||||
402,
|
||||
597
|
||||
],
|
||||
[
|
||||
799,
|
||||
606
|
||||
],
|
||||
[
|
||||
976,
|
||||
2
|
||||
]
|
||||
],
|
||||
"mask_path": "dd06-ov_mask.png",
|
||||
"metadata": {
|
||||
"source": "./data/dd06/0726.mp4"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"colors": {
|
||||
"window_bg": "#1e1f22",
|
||||
"panel_bg": "#121316",
|
||||
"arrow_canvas_hex": "#121316"
|
||||
},
|
||||
"arrow_draw": {
|
||||
"threshold": 2,
|
||||
"grid_spacing": 20,
|
||||
"arrow_scale": 0.5,
|
||||
"below_threshold_color_bgr": [160, 160, 160]
|
||||
},
|
||||
"plot": {
|
||||
"background": "#121316",
|
||||
"curve_colors": ["#8ab4f8", "#34a853", "#fbbc04"]
|
||||
},
|
||||
"mesh": {
|
||||
"background_rgb": [18, 19, 22]
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 MiB After Width: | Height: | Size: 814 KiB |
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "dd02-ov",
|
||||
"type": "single_camera",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1280, 720],
|
||||
"fps": 30,
|
||||
"resolution_stitch": [420, 450],
|
||||
"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": 3,
|
||||
"algorithm_list": ["raft", "dis"],
|
||||
"hhd_downsample": 5
|
||||
},
|
||||
"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,101 @@
|
||||
{
|
||||
"name": "dd06-ov",
|
||||
"type": "single_camera",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"fps": 30,
|
||||
"resolution_stitch": [
|
||||
195,
|
||||
275
|
||||
],
|
||||
"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": 3,
|
||||
"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
|
||||
},
|
||||
"roi": {
|
||||
"type": "polygon",
|
||||
"image_size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"points": [
|
||||
[
|
||||
628,
|
||||
532
|
||||
],
|
||||
[
|
||||
1145,
|
||||
694
|
||||
],
|
||||
[
|
||||
1161,
|
||||
8
|
||||
],
|
||||
[
|
||||
630,
|
||||
126
|
||||
]
|
||||
],
|
||||
"created_at": "2026-08-10T14:26:31",
|
||||
"mask_path": "dd06-ov-0810_mask.png",
|
||||
"metadata": {
|
||||
"source": ".\\data\\dd06\\2026-08-10-142316.webm"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"name": "dd06-ov",
|
||||
"type": "single_camera",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"fps": 30,
|
||||
"resolution_stitch": [
|
||||
195,
|
||||
275
|
||||
],
|
||||
"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": 3,
|
||||
"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
|
||||
},
|
||||
"roi": {
|
||||
"type": "polygon",
|
||||
"image_size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"created_at": "2026-07-26T11:56:15",
|
||||
"points": [
|
||||
[
|
||||
242,
|
||||
1
|
||||
],
|
||||
[
|
||||
402,
|
||||
597
|
||||
],
|
||||
[
|
||||
799,
|
||||
606
|
||||
],
|
||||
[
|
||||
976,
|
||||
2
|
||||
]
|
||||
],
|
||||
"mask_path": "dd06-ov_mask.png",
|
||||
"metadata": {
|
||||
"source": "./data/dd06/0726.mp4"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [854, 480],
|
||||
"fps": 30,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [123, 123],
|
||||
"stitch_res_list": [365,263,123,63]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.08,
|
||||
"max_aspect_ratio": 100,
|
||||
"index": [1,2,3,6,7,8,11,12,13],
|
||||
"margin": 4,
|
||||
"nominal_ov_pos": 44,
|
||||
"n": [3,3],
|
||||
"row_tol": 0.6,
|
||||
"box_size": [98, 98],
|
||||
"blend":"numpy",
|
||||
"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": 2,
|
||||
"algorithm_list": ["raft", "dis"],
|
||||
"hhd_downsample": 3
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold":1,
|
||||
"div_threshold":0.02,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 6
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1280, 720],
|
||||
"fps": 30,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [263, 263],
|
||||
"stitch_res_list": [365,263,123,63]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.04,
|
||||
"max_aspect_ratio": 25,
|
||||
"index": [1,2,3,6,7,8,11,12,13],
|
||||
"margin": 10,
|
||||
"nominal_ov_pos": 67,
|
||||
"n": [3,3],
|
||||
"row_tol": 0.6,
|
||||
"box_size": [180, 180],
|
||||
"blend":"numpy",
|
||||
"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": 1,
|
||||
"backend": "cpu"
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold":1,
|
||||
"div_threshold":0.02,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 10
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1280, 720],
|
||||
"fps": 15,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [263, 263],
|
||||
"stitch_res_list": [365,263,123,63]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.04,
|
||||
"max_aspect_ratio": 25,
|
||||
"index": [1,2,3,6,7,8,11,12,13],
|
||||
"margin": 10,
|
||||
"nominal_ov_pos": 67,
|
||||
"n": [3,3],
|
||||
"row_tol": 0.6,
|
||||
"box_size": [180, 180],
|
||||
"blend":"numpy",
|
||||
"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,
|
||||
"backend": "cpu"
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold":1,
|
||||
"div_threshold":0.02,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 10
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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": 5
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold": 0.2,
|
||||
"div_threshold": 0.022,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5, 5],
|
||||
"denoise_sigma": 12
|
||||
}
|
||||
}
|
||||
+44
-84
@@ -5,65 +5,26 @@
|
||||
"lang_zh": "中文",
|
||||
"lang_en": "English"
|
||||
},
|
||||
"panels": {
|
||||
"instructions": "Instructions",
|
||||
"options": "Sensor Component Types",
|
||||
"camera": "Camera (Orisys SDK)",
|
||||
"recording": "Recording",
|
||||
"raw": "Raw Image (sensor.frame)",
|
||||
"processed": "Processed Image (Sensor.get_img)",
|
||||
"force": "Force Curves"
|
||||
},
|
||||
"labels": {
|
||||
"sensor_type": "Sensor type",
|
||||
"elastomer": "Elastomer",
|
||||
"cmos": "CMOS",
|
||||
"marker": "Marker",
|
||||
"indentor": "Indenter",
|
||||
"platform": "Platform",
|
||||
"camera_index": "Camera index",
|
||||
"backend": "Backend",
|
||||
"fixed_mode": "Fixed mode: {mode}",
|
||||
"fixed_mode_unset": "Fixed mode: set config path",
|
||||
"fixed_mode_invalid": "Fixed mode: invalid config ({error})",
|
||||
"requested": "Requested",
|
||||
"actual": "Actual",
|
||||
"capture_fps": "Capture FPS",
|
||||
"render_fps": "Render FPS",
|
||||
"proc_ms": "Proc ms",
|
||||
"fn": "FN",
|
||||
"fx": "FX",
|
||||
"fy": "FY",
|
||||
"no_preview": "No preview",
|
||||
"processed_placeholder": "Start Preview to show Orisys output",
|
||||
"not_recording": "Not recording",
|
||||
"force_plot": "Force"
|
||||
"no_preview": "No preview"
|
||||
},
|
||||
"buttons": {
|
||||
"config": "Config…",
|
||||
"cal": "Cal…",
|
||||
"start_preview": "Start Preview",
|
||||
"stop_preview": "Stop Preview",
|
||||
"browse": "Browse…",
|
||||
"start_record": "Start Record",
|
||||
"stop_record": "Stop Record",
|
||||
"next": "Next",
|
||||
"revert": "Revert",
|
||||
"reset": "New Sample / Reset"
|
||||
"stop_record": "Stop Record"
|
||||
},
|
||||
"placeholders": {
|
||||
"config": "DDJX01 config JSON path or name",
|
||||
"cal": "Optional calibration .npy"
|
||||
"config": "Select an installed Orisys config, or browse a JSON file"
|
||||
},
|
||||
"dialogs": {
|
||||
"select_config": "Select config JSON",
|
||||
"select_cal": "Select calibration",
|
||||
"select_recordings": "Select recordings folder",
|
||||
"orisys_title": "Orisys",
|
||||
"orisys_required": "orisys SDK is required for preview.\n\n{detail}",
|
||||
"config_title": "Config",
|
||||
"config_required": "Select a DDJX01 config JSON first.",
|
||||
"config_invalid": "Config could not be loaded.",
|
||||
"capture_title": "Capture",
|
||||
"recording_title": "Recording",
|
||||
"no_frame": "No frame yet."
|
||||
@@ -76,48 +37,47 @@
|
||||
"preview_stopped": "Preview stopped.",
|
||||
"capture_error": "Capture error: {message}",
|
||||
"frame_info": "{raw_w}x{raw_h} raw / {proc_w}x{proc_h} processed @ {fps:.1f} FPS",
|
||||
"recording": "Recording… {name}\nOptions: sensor={sensor_type}, elastomer={elastomer}, cmos={cmos}, marker={marker}, indenter={indentor}, platform={platform}",
|
||||
"recording_frames": "Recording… {name}\nFrames: {count}",
|
||||
"saved": "Saved {count} frames → {path}",
|
||||
"workflow_done": "All steps completed. Click New Sample / Reset for the next unit."
|
||||
"saved": "Saved {count} frames → {path}"
|
||||
},
|
||||
"workflow": {
|
||||
"title": "Sensor Bench Inspection Workflow",
|
||||
"current_marker": "Current",
|
||||
"done_marker": "Done",
|
||||
"steps": {
|
||||
"power_on": {
|
||||
"title": "Power on and connect",
|
||||
"body": "Connect the sensor USB cable and wait until Windows recognizes the device."
|
||||
},
|
||||
"select_camera": {
|
||||
"title": "Start Orisys preview",
|
||||
"body": "Confirm camera index (usually 0) and DDJX01 config, then click Start Preview. Format is fixed by the Orisys config (1920x1080 @ 30)."
|
||||
},
|
||||
"set_options": {
|
||||
"title": "Set sensor options",
|
||||
"body": "Choose elastomer type, CMOS type, and marker type that match the physical unit under test."
|
||||
},
|
||||
"check_preview": {
|
||||
"title": "Check raw and processed preview",
|
||||
"body": "Confirm raw frame is ~1920x1080 and processed Orisys image is ~365x365. Inspect focus, lighting, and image cleanliness."
|
||||
},
|
||||
"record": {
|
||||
"title": "Record raw data",
|
||||
"body": "Choose a storage folder, start recording, exercise the sensor, then stop recording."
|
||||
},
|
||||
"review_curves": {
|
||||
"title": "Review performance curves",
|
||||
"body": "Watch capture/render FPS and force curves for drops or unstable exposure before signing off."
|
||||
},
|
||||
"sensitivity": {
|
||||
"title": "Sensitivity test",
|
||||
"body": "Choose a small indenter and apply a 2g weight, then watch for a clear force-curve change."
|
||||
},
|
||||
"max_load": {
|
||||
"title": "Maximum load test",
|
||||
"body": "Choose a flat plate indenter and apply weights from 10g to 500g to watch for curve changes. Use 10g to 500g for MINI and 2kg for BOX."
|
||||
}
|
||||
}
|
||||
"exhibition": {
|
||||
"title": "Sensor Bench Exhibition",
|
||||
"btn_search": "Search",
|
||||
"btn_camera": "Camera",
|
||||
"btn_config": "Config",
|
||||
"btn_start": "Start",
|
||||
"btn_starting": "Starting…",
|
||||
"btn_stop": "Pause",
|
||||
"btn_reset": "Reset",
|
||||
"btn_start_record": "Start Record",
|
||||
"btn_stop_record": "Stop Record",
|
||||
"show_log": "Show log panel",
|
||||
"view": "View",
|
||||
"view_pure_color": "Arrows on solid bg",
|
||||
"view_captured": "Arrows on captured",
|
||||
"view_processed": "Processed image",
|
||||
"view_raw": "Raw image",
|
||||
"sensor_type": "Sensor",
|
||||
"sensor_orisys": "ORY-BOX/ORY-MINI",
|
||||
"sensor_dd06": "ORY-X",
|
||||
"sensor_switched": "Switched sensor type: {sensor}",
|
||||
"placeholder_camera": "Camera index or video path",
|
||||
"dialog_video": "Select video file",
|
||||
"camera_found": "Found {count} camera(s): {names}",
|
||||
"camera_none": "No usable camera found. Click Search to rescan, or use Camera to pick a video file.",
|
||||
"plot_fn": "Normal Force FN",
|
||||
"plot_fx": "Shear Force FX",
|
||||
"plot_fy": "Shear Force FY",
|
||||
"reset_done": "Tracker reset.",
|
||||
"reset_need_start": "Start the sensor before resetting the tracker.",
|
||||
"reset_failed": "Reset failed: {message}",
|
||||
"force_fn_n": "Normal force (N)={value:.6f}",
|
||||
"recording_started": "Recording started: {name}",
|
||||
"hints": "Keys: Q quit | R reset tracker | S start record | E stop record | ESC fullscreen",
|
||||
"menu_help": "Help",
|
||||
"menu_about": "About",
|
||||
"about_title": "About Sensor Bench",
|
||||
"about_body": "Sensor Bench Exhibition\nVersion: {app_version}\nOrisys: {orisys_version}\n\nOrisys-Tech",
|
||||
"config_dir_tip": "Installed configs dir: {path}\nSelected: {selected}",
|
||||
"config_dir_missing": "Installed Orisys configs directory not found. Use Config… to browse a local JSON."
|
||||
}
|
||||
}
|
||||
|
||||
+44
-84
@@ -5,65 +5,26 @@
|
||||
"lang_zh": "中文",
|
||||
"lang_en": "English"
|
||||
},
|
||||
"panels": {
|
||||
"instructions": "操作步骤",
|
||||
"options": "传感器组件类型",
|
||||
"camera": "相机(Orisys SDK)",
|
||||
"recording": "录制",
|
||||
"raw": "原始图像(sensor.frame)",
|
||||
"processed": "处理后图像(Sensor.get_img)",
|
||||
"force": "力曲线"
|
||||
},
|
||||
"labels": {
|
||||
"sensor_type": "传感器类型",
|
||||
"elastomer": "弹性体",
|
||||
"cmos": "CMOS",
|
||||
"marker": "图案",
|
||||
"indentor": "压头",
|
||||
"platform": "平台",
|
||||
"camera_index": "相机索引",
|
||||
"backend": "后端",
|
||||
"fixed_mode": "固定模式:{mode}",
|
||||
"fixed_mode_unset": "固定模式:请设置配置路径",
|
||||
"fixed_mode_invalid": "固定模式:配置无效({error})",
|
||||
"requested": "请求",
|
||||
"actual": "实际",
|
||||
"capture_fps": "采集 FPS",
|
||||
"render_fps": "渲染 FPS",
|
||||
"proc_ms": "处理 ms",
|
||||
"fn": "FN",
|
||||
"fx": "FX",
|
||||
"fy": "FY",
|
||||
"no_preview": "暂无预览",
|
||||
"processed_placeholder": "点击开始预览以显示 Orisys 输出",
|
||||
"not_recording": "未在录制",
|
||||
"force_plot": "力"
|
||||
"no_preview": "暂无预览"
|
||||
},
|
||||
"buttons": {
|
||||
"config": "配置…",
|
||||
"cal": "标定…",
|
||||
"start_preview": "开始预览",
|
||||
"stop_preview": "停止预览",
|
||||
"browse": "浏览…",
|
||||
"start_record": "开始录制",
|
||||
"stop_record": "停止录制",
|
||||
"next": "下一步",
|
||||
"revert": "上一步",
|
||||
"reset": "新样品 / 重置"
|
||||
"stop_record": "停止录制"
|
||||
},
|
||||
"placeholders": {
|
||||
"config": "DDJX01 配置 JSON 路径或名称",
|
||||
"cal": "可选标定文件 .npy"
|
||||
"config": "从已安装 Orisys 配置中选择,或浏览 JSON"
|
||||
},
|
||||
"dialogs": {
|
||||
"select_config": "选择配置 JSON",
|
||||
"select_cal": "选择标定文件",
|
||||
"select_recordings": "选择录制文件夹",
|
||||
"orisys_title": "Orisys",
|
||||
"orisys_required": "预览需要 Orisys SDK。\n\n{detail}",
|
||||
"config_title": "配置",
|
||||
"config_required": "请先选择 DDJX01 配置 JSON。",
|
||||
"config_invalid": "无法加载配置。",
|
||||
"capture_title": "采集",
|
||||
"recording_title": "录制",
|
||||
"no_frame": "尚无可用帧。"
|
||||
@@ -76,48 +37,47 @@
|
||||
"preview_stopped": "预览已停止。",
|
||||
"capture_error": "采集错误:{message}",
|
||||
"frame_info": "{raw_w}x{raw_h} 原始 / {proc_w}x{proc_h} 处理 @ {fps:.1f} FPS",
|
||||
"recording": "正在录制… {name}\n选项:传感器={sensor_type},弹性体={elastomer},CMOS={cmos},标记={marker},压头={indentor},平台={platform}",
|
||||
"recording_frames": "正在录制… {name}\n帧数:{count}",
|
||||
"saved": "已保存 {count} 帧 → {path}",
|
||||
"workflow_done": "全部步骤已完成。可点击“新样品 / 重置”开始下一个样品。"
|
||||
"saved": "已保存 {count} 帧 → {path}"
|
||||
},
|
||||
"workflow": {
|
||||
"title": "传感器检测流程",
|
||||
"current_marker": "当前",
|
||||
"done_marker": "已完成",
|
||||
"steps": {
|
||||
"power_on": {
|
||||
"title": "开机并连接",
|
||||
"body": "连接传感器 USB 线缆,等待 Windows 识别设备。"
|
||||
},
|
||||
"select_camera": {
|
||||
"title": "启动 Orisys 预览",
|
||||
"body": "确认相机索引(通常为 0)和 DDJX01 配置,然后点击开始预览。格式由 Orisys 配置固定(1920x1080 @ 30)。"
|
||||
},
|
||||
"set_options": {
|
||||
"title": "设置传感器选项",
|
||||
"body": "选择与当前被测实物一致的弹性体类型、CMOS 类型和标记类型。"
|
||||
},
|
||||
"check_preview": {
|
||||
"title": "检查原始与处理后预览",
|
||||
"body": "确认原始画面约为 1920x1080,处理后 Orisys 图像约为 365x365。检查对焦、光照和画面清洁度。"
|
||||
},
|
||||
"record": {
|
||||
"title": "录制原始数据",
|
||||
"body": "选择存储文件夹,开始录制,操作传感器,然后停止录制。"
|
||||
},
|
||||
"review_curves": {
|
||||
"title": "查看性能曲线",
|
||||
"body": "观察采集/渲染 FPS 与力曲线,确认无明显掉帧或曝光不稳定后再签字确认。"
|
||||
},
|
||||
"sensitivity": {
|
||||
"title": "灵敏度测试",
|
||||
"body": "选择小压头,并加载 2g 砝码,观察力曲线是否有清晰变化。"
|
||||
},
|
||||
"max_load": {
|
||||
"title": "最大载荷测试",
|
||||
"body": "选择平板压头,并加载 10g 到 500g 的砝码观察曲线变化;MINI 使用 10g 到 500g,BOX 使用 2kg。"
|
||||
}
|
||||
}
|
||||
"exhibition": {
|
||||
"title": "Sensor Bench 展示端",
|
||||
"btn_search": "搜索",
|
||||
"btn_camera": "摄像机",
|
||||
"btn_config": "配置",
|
||||
"btn_start": "启动",
|
||||
"btn_starting": "启动中…",
|
||||
"btn_stop": "暂停",
|
||||
"btn_reset": "重置",
|
||||
"btn_start_record": "开始录像",
|
||||
"btn_stop_record": "结束录像",
|
||||
"show_log": "显示日志面板",
|
||||
"view": "画面",
|
||||
"view_pure_color": "纯色背景箭头",
|
||||
"view_captured": "采集图像箭头",
|
||||
"view_processed": "处理后图像",
|
||||
"view_raw": "原始图像",
|
||||
"sensor_type": "传感器",
|
||||
"sensor_orisys": "ORY-BOX/ORY-MINI",
|
||||
"sensor_dd06": "ORY-X",
|
||||
"sensor_switched": "已切换传感器类型:{sensor}",
|
||||
"placeholder_camera": "摄像头编号或视频路径",
|
||||
"dialog_video": "选择视频文件",
|
||||
"camera_found": "已发现 {count} 路摄像机:{names}",
|
||||
"camera_none": "未发现可用摄像机。可点击“搜索”重扫,或通过“摄像机”选择视频文件。",
|
||||
"plot_fn": "法向力 FN",
|
||||
"plot_fx": "切向力 FX",
|
||||
"plot_fy": "切向力 FY",
|
||||
"reset_done": "追踪器已重置。",
|
||||
"reset_need_start": "请先启动传感器后再重置追踪器。",
|
||||
"reset_failed": "重置失败:{message}",
|
||||
"force_fn_n": "法向力(N)={value:.6f}",
|
||||
"recording_started": "开始录像:{name}",
|
||||
"hints": "按键:Q 退出 | R 重置追踪器 | S 开始录像 | E 结束录像 | ESC 全屏",
|
||||
"menu_help": "帮助",
|
||||
"menu_about": "关于",
|
||||
"about_title": "关于 Sensor Bench",
|
||||
"about_body": "Sensor Bench 展示端\n版本:{app_version}\nOrisys:{orisys_version}\n\nOrisys-Tech",
|
||||
"config_dir_tip": "已安装配置目录:{path}\n当前:{selected}",
|
||||
"config_dir_missing": "未找到已安装的 Orisys 配置目录。可用“配置…”浏览本地 JSON。"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1280, 720],
|
||||
"fps": 30,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [263, 263],
|
||||
"stitch_res_list": [365,263,123,63]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.04,
|
||||
"max_aspect_ratio": 25,
|
||||
"index": [1,2,3,6,7,8,11,12,13],
|
||||
"margin": 10,
|
||||
"nominal_ov_pos": 67,
|
||||
"n": [3,3],
|
||||
"row_tol": 0.6,
|
||||
"box_size": [180, 180],
|
||||
"blend":"numpy",
|
||||
"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":1,
|
||||
"div_threshold":0.02,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 10
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
"sensor_types": [
|
||||
{"id": "BOX", "label": "BOX"},
|
||||
{"id": "MINI", "label": "MINI"}
|
||||
],
|
||||
"elastomer_types": [
|
||||
{"id": "shoreA20", "label": "冯总20度"},
|
||||
{"id": "shore0030", "label": "0度"},
|
||||
{"id": "solaris", "label": "铂金"}
|
||||
],
|
||||
"cmos_types": [
|
||||
{"id": "ov2710", "label": "OV2710"},
|
||||
{"id": "ov9745", "label": "OV9745"}
|
||||
],
|
||||
"marker_types": [
|
||||
{"id": "4color", "label": "4Color"}
|
||||
],
|
||||
"indentor_types": [
|
||||
{"id": "1mm_circle", "label": "1mm圆柱"},
|
||||
{"id": "1mm_ball", "label": "1mm球"}
|
||||
],
|
||||
"platoform_types": [
|
||||
{"id": "manual", "label": "手动"},
|
||||
{"id": "single_axis", "label": "单轴"},
|
||||
{"id": "six_axis", "label": "六轴"}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"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.04,
|
||||
"max_aspect_ratio": 100,
|
||||
"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": [220, 220]
|
||||
},
|
||||
"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":1,
|
||||
"div_threshold":0.02,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 15
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [854, 480],
|
||||
"fps": 30,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [123, 123],
|
||||
"stitch_res_list": [365,263,123,63]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.06,
|
||||
"max_aspect_ratio": 100,
|
||||
"index": [1,2,3,6,7,8,11,12,13],
|
||||
"margin": 4,
|
||||
"nominal_ov_pos": 44,
|
||||
"n": [3,3],
|
||||
"row_tol": 0.6,
|
||||
"box_size": [98, 98]
|
||||
},
|
||||
"tracker": {
|
||||
"adaptive": true,
|
||||
"lower_threshold": 12.0,
|
||||
"upper_threshold": 18.0,
|
||||
"loop_closure_interval": 1,
|
||||
"algorithm": "dis",
|
||||
"dis_preset": "medium",
|
||||
"dis_mode": 2,
|
||||
"algorithm_list": ["raft", "dis"],
|
||||
"hhd_downsample": 3
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold":1,
|
||||
"div_threshold":0.02,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 6
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1280, 720],
|
||||
"fps": 30,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [263, 263],
|
||||
"stitch_res_list": [365,263,123,63]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.04,
|
||||
"max_aspect_ratio": 25,
|
||||
"index": [1,2,3,6,7,8,11,12,13],
|
||||
"margin": 10,
|
||||
"nominal_ov_pos": 67,
|
||||
"n": [3,3],
|
||||
"row_tol": 0.6,
|
||||
"box_size": [180, 180]
|
||||
},
|
||||
"tracker": {
|
||||
"adaptive": true,
|
||||
"lower_threshold": 12.0,
|
||||
"upper_threshold": 18.0,
|
||||
"loop_closure_interval": 1,
|
||||
"algorithm": "dis",
|
||||
"dis_preset": "medium",
|
||||
"dis_mode": 2,
|
||||
"algorithm_list": ["raft", "dis"],
|
||||
"hhd_downsample": 3
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold":1,
|
||||
"div_threshold":0.02,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 10
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "prototype",
|
||||
"version": "1.0",
|
||||
"camera": {
|
||||
"resolution_raw": [1920, 1080],
|
||||
"fps": 30,
|
||||
"units": 15,
|
||||
"units_used": 9,
|
||||
"resolution_stitch": [384, 384]
|
||||
},
|
||||
"stitcher": {
|
||||
"min_area_frac": 0.01,
|
||||
"max_area_frac": 0.04,
|
||||
"max_aspect_ratio": 100,
|
||||
"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": [220, 220]
|
||||
},
|
||||
"tracker": {
|
||||
"adaptive": true,
|
||||
"lower_threshold": 12.0,
|
||||
"upper_threshold": 18.0,
|
||||
"loop_closure_interval": 1,
|
||||
"algorithm": "raft",
|
||||
"dis_preset": "medium",
|
||||
"dis_mode": 3,
|
||||
"algorithm_list": ["raft", "dis"],
|
||||
"hhd_downsample": 3
|
||||
},
|
||||
"contact": {
|
||||
"min_contour_area": 3000,
|
||||
"flow_threshold":1.5,
|
||||
"div_threshold":0.08,
|
||||
"expansion_threshold": 0.01,
|
||||
"kernel_size": [5,5],
|
||||
"denoise_sigma": 15
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user