877 lines
24 KiB
JSON
877 lines
24 KiB
JSON
{
|
|
"schema": "multispec_radiometric_config_profiles_v4",
|
|
"saved_at": "2026-05-12 09:55:04",
|
|
"active_profile": "three_reference_patches_mode",
|
|
"global_scene_mode": {
|
|
"radiometric_config": {
|
|
"enabled": true,
|
|
"interval_s": 0.25,
|
|
"verbose": true,
|
|
"metering_mode": "global",
|
|
"spectral_control_mode": "shared",
|
|
"control_metric": "p50",
|
|
"target_value": 0.5,
|
|
"deadband": 0.035,
|
|
"p95_limit": 0.94,
|
|
"saturation_limit_pct": 0.5,
|
|
"alpha": 0.18,
|
|
"exp_step_gain": 0.55,
|
|
"prefer_exposure": true,
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 80000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 4.0,
|
|
"exp_apply_threshold_us": 80,
|
|
"gain_apply_threshold": 0.05,
|
|
"apply_same_spectral_to_both": true,
|
|
"spectral_roles": [
|
|
"re",
|
|
"nir"
|
|
],
|
|
"dark_limit_pct": 35.0,
|
|
"control_strategy": "ratio",
|
|
"ratio_alpha": 0.35,
|
|
"ratio_min": 0.65,
|
|
"ratio_max": 1.35,
|
|
"reduce_fast_factor": 0.8,
|
|
"factor_min": 0.55,
|
|
"factor_max": 1.28,
|
|
"gain_return_enabled": true,
|
|
"gain_reduce_on_saturation": true,
|
|
"gain_increase_required_cycles": 5,
|
|
"gain_decrease_required_cycles": 2,
|
|
"gain_step_up": 0.2,
|
|
"gain_step_down": 0.5,
|
|
"gain_hard_reset_on_saturation": false,
|
|
"exp_high_ratio_for_gain": 0.95,
|
|
"exp_low_ratio_for_gain_return": 0.75,
|
|
"role_limits": {
|
|
"rgb": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 80000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
},
|
|
"re": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 2500,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
},
|
|
"nir": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 3000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
}
|
|
},
|
|
"ready_required_cycles": 3,
|
|
"global_saturation_guard_enabled": true,
|
|
"global_guard_roi_pct": {
|
|
"x0": 0.05,
|
|
"y0": 0.05,
|
|
"x1": 0.95,
|
|
"y1": 0.95
|
|
},
|
|
"global_guard_sat_threshold": 0.985,
|
|
"global_guard_near_sat_threshold": 0.94,
|
|
"global_guard_sat_pct_soft": 0.05,
|
|
"global_guard_sat_pct_hard": 0.2,
|
|
"global_guard_sat_pct_extreme": 0.8,
|
|
"global_guard_blob_pct_soft": 0.015,
|
|
"global_guard_blob_pct_hard": 0.08,
|
|
"global_guard_blob_pct_extreme": 0.25,
|
|
"global_guard_min_blob_px": 48,
|
|
"global_guard_downsample_max_side": 320,
|
|
"global_guard_reduce_factor_soft": 0.82,
|
|
"global_guard_reduce_factor_hard": 0.6,
|
|
"global_guard_reduce_factor_extreme": 0.35,
|
|
"sun_guard_enabled": true,
|
|
"sun_guard_p99_threshold": 0.9,
|
|
"sun_guard_near_sat_pct_threshold": 0.8,
|
|
"sun_guard_freeze_increase_cycles": 2,
|
|
"sun_guard_allow_decrease": true,
|
|
"guard_force_apply_enabled": true,
|
|
"guard_force_apply_soft": true,
|
|
"guard_force_apply_hard": true,
|
|
"guard_force_apply_extreme": true,
|
|
"guard_force_apply_on_patch_saturation": true,
|
|
"guard_freeze_cycles_soft": 3,
|
|
"guard_freeze_cycles_hard": 5,
|
|
"guard_freeze_cycles_extreme": 8,
|
|
"guard_reapply_min_exp_on_emergency": true,
|
|
"guard_min_exp_margin_us": 80,
|
|
"global_roi_pct": {
|
|
"x0": 0.08,
|
|
"y0": 0.08,
|
|
"x1": 0.92,
|
|
"y1": 0.92
|
|
},
|
|
"global_roi_pct_by_role": {
|
|
"rgb": {
|
|
"x0": 0.08,
|
|
"y0": 0.08,
|
|
"x1": 0.92,
|
|
"y1": 0.92
|
|
},
|
|
"re": {
|
|
"x0": 0.08,
|
|
"y0": 0.08,
|
|
"x1": 0.92,
|
|
"y1": 0.92
|
|
},
|
|
"nir": {
|
|
"x0": 0.08,
|
|
"y0": 0.08,
|
|
"x1": 0.92,
|
|
"y1": 0.92
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"three_reference_patches_mode": {
|
|
"radiometric_config": {
|
|
"enabled": true,
|
|
"interval_s": 0.25,
|
|
"verbose": true,
|
|
"metering_mode": "reference_patches",
|
|
"spectral_control_mode": "shared",
|
|
"control_metric": "p50",
|
|
"target_value": 0.5,
|
|
"deadband": 0.035,
|
|
"p95_limit": 0.94,
|
|
"saturation_limit_pct": 0.5,
|
|
"alpha": 0.18,
|
|
"exp_step_gain": 0.55,
|
|
"prefer_exposure": true,
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 80000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 4.0,
|
|
"reference_patches": [
|
|
{
|
|
"name": "black_reference",
|
|
"type": "black",
|
|
"roles": [
|
|
"rgb",
|
|
"re",
|
|
"nir"
|
|
],
|
|
"roi_pct": {
|
|
"x0": 0.304688,
|
|
"y0": 0.8275,
|
|
"x1": 0.364063,
|
|
"y1": 0.9875
|
|
},
|
|
"target_value": 0.08,
|
|
"weight": 0.7,
|
|
"roi_pct_by_role": {
|
|
"rgb": {
|
|
"x0": 0.304688,
|
|
"y0": 0.8275,
|
|
"x1": 0.364063,
|
|
"y1": 0.9875
|
|
},
|
|
"re": {
|
|
"x0": 0.275,
|
|
"y0": 0.8225,
|
|
"x1": 0.334375,
|
|
"y1": 0.995
|
|
},
|
|
"nir": {
|
|
"x0": 0.3375,
|
|
"y0": 0.8325,
|
|
"x1": 0.4,
|
|
"y1": 0.9925
|
|
}
|
|
},
|
|
"roi_list_by_role": {
|
|
"rgb": [
|
|
{
|
|
"name": "rgb_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.304688,
|
|
"y0": 0.8275,
|
|
"x1": 0.364063,
|
|
"y1": 0.9875
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:53:26"
|
|
}
|
|
],
|
|
"re": [
|
|
{
|
|
"name": "re_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.275,
|
|
"y0": 0.8225,
|
|
"x1": 0.334375,
|
|
"y1": 0.995
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:15"
|
|
}
|
|
],
|
|
"nir": [
|
|
{
|
|
"name": "nir_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.3375,
|
|
"y0": 0.8325,
|
|
"x1": 0.4,
|
|
"y1": 0.9925
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:44"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "gray_reference",
|
|
"type": "gray",
|
|
"roles": [
|
|
"rgb",
|
|
"re",
|
|
"nir"
|
|
],
|
|
"roi_pct": {
|
|
"x0": 0.238281,
|
|
"y0": 0.82625,
|
|
"x1": 0.298438,
|
|
"y1": 0.9875
|
|
},
|
|
"target_value": 0.35,
|
|
"target_value_by_role": {
|
|
"rgb": 0.34,
|
|
"re": 0.24,
|
|
"nir": 0.3
|
|
},
|
|
"weight": 1.0,
|
|
"roi_pct_by_role": {
|
|
"rgb": {
|
|
"x0": 0.238281,
|
|
"y0": 0.82625,
|
|
"x1": 0.298438,
|
|
"y1": 0.9875
|
|
},
|
|
"re": {
|
|
"x0": 0.203125,
|
|
"y0": 0.82625,
|
|
"x1": 0.266406,
|
|
"y1": 0.995
|
|
},
|
|
"nir": {
|
|
"x0": 0.266406,
|
|
"y0": 0.83125,
|
|
"x1": 0.332031,
|
|
"y1": 0.99625
|
|
}
|
|
},
|
|
"roi_list_by_role": {
|
|
"rgb": [
|
|
{
|
|
"name": "rgb_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.238281,
|
|
"y0": 0.82625,
|
|
"x1": 0.298438,
|
|
"y1": 0.9875
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:53:18"
|
|
}
|
|
],
|
|
"re": [
|
|
{
|
|
"name": "re_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.203125,
|
|
"y0": 0.82625,
|
|
"x1": 0.266406,
|
|
"y1": 0.995
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:53:55"
|
|
}
|
|
],
|
|
"nir": [
|
|
{
|
|
"name": "nir_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.266406,
|
|
"y0": 0.83125,
|
|
"x1": 0.332031,
|
|
"y1": 0.99625
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:33"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "white_reference",
|
|
"type": "white",
|
|
"roles": [
|
|
"rgb",
|
|
"re",
|
|
"nir"
|
|
],
|
|
"roi_pct": {
|
|
"x0": 0.166406,
|
|
"y0": 0.82625,
|
|
"x1": 0.228906,
|
|
"y1": 0.99125
|
|
},
|
|
"target_value": 0.82,
|
|
"weight": 0.8,
|
|
"roi_pct_by_role": {
|
|
"rgb": {
|
|
"x0": 0.166406,
|
|
"y0": 0.82625,
|
|
"x1": 0.228906,
|
|
"y1": 0.99125
|
|
},
|
|
"re": {
|
|
"x0": 0.132812,
|
|
"y0": 0.82625,
|
|
"x1": 0.194531,
|
|
"y1": 0.995
|
|
},
|
|
"nir": {
|
|
"x0": 0.195312,
|
|
"y0": 0.83625,
|
|
"x1": 0.260156,
|
|
"y1": 0.99125
|
|
}
|
|
},
|
|
"roi_list_by_role": {
|
|
"rgb": [
|
|
{
|
|
"name": "rgb_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.166406,
|
|
"y0": 0.82625,
|
|
"x1": 0.228906,
|
|
"y1": 0.99125
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:53:36"
|
|
}
|
|
],
|
|
"re": [
|
|
{
|
|
"name": "re_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.132812,
|
|
"y0": 0.82625,
|
|
"x1": 0.194531,
|
|
"y1": 0.995
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:04"
|
|
}
|
|
],
|
|
"nir": [
|
|
{
|
|
"name": "nir_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.195312,
|
|
"y0": 0.83625,
|
|
"x1": 0.260156,
|
|
"y1": 0.99125
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:56"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"exp_apply_threshold_us": 80,
|
|
"gain_apply_threshold": 0.05,
|
|
"apply_same_spectral_to_both": true,
|
|
"spectral_roles": [
|
|
"re",
|
|
"nir"
|
|
],
|
|
"dark_limit_pct": 35.0,
|
|
"control_strategy": "ratio",
|
|
"ratio_alpha": 0.35,
|
|
"ratio_min": 0.65,
|
|
"ratio_max": 1.35,
|
|
"reduce_fast_factor": 0.8,
|
|
"factor_min": 0.55,
|
|
"factor_max": 1.28,
|
|
"gain_return_enabled": true,
|
|
"gain_reduce_on_saturation": true,
|
|
"gain_increase_required_cycles": 5,
|
|
"gain_decrease_required_cycles": 2,
|
|
"gain_step_up": 0.2,
|
|
"gain_step_down": 0.5,
|
|
"gain_hard_reset_on_saturation": false,
|
|
"exp_high_ratio_for_gain": 0.95,
|
|
"exp_low_ratio_for_gain_return": 0.75,
|
|
"role_limits": {
|
|
"rgb": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 80000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
},
|
|
"re": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 2500,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
},
|
|
"nir": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 3000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
}
|
|
},
|
|
"ready_required_cycles": 3,
|
|
"patch_control_mode": "gray_primary",
|
|
"patch_require_order": true,
|
|
"patch_min_separation": 0.08,
|
|
"patch_white_sat_limit_pct": 0.5,
|
|
"patch_white_p95_limit": 0.94,
|
|
"patch_black_dark_limit_pct": 80.0,
|
|
"patch_black_max_p50": 0.2,
|
|
"patch_gray_min_p50": 0.08,
|
|
"patch_gray_max_p50": 0.85,
|
|
"patch_roi_contract": "multi_roi_by_role_v1",
|
|
"patch_roi_reduce_method": "median_valid_rois",
|
|
"patch_roi_outlier_reject": true,
|
|
"patch_roi_max_p50_delta": 0.12,
|
|
"global_saturation_guard_enabled": true,
|
|
"global_guard_roi_pct": {
|
|
"x0": 0.05,
|
|
"y0": 0.05,
|
|
"x1": 0.95,
|
|
"y1": 0.95
|
|
},
|
|
"global_guard_sat_threshold": 0.985,
|
|
"global_guard_near_sat_threshold": 0.94,
|
|
"global_guard_sat_pct_soft": 0.05,
|
|
"global_guard_sat_pct_hard": 0.2,
|
|
"global_guard_sat_pct_extreme": 0.8,
|
|
"global_guard_blob_pct_soft": 0.015,
|
|
"global_guard_blob_pct_hard": 0.08,
|
|
"global_guard_blob_pct_extreme": 0.25,
|
|
"global_guard_min_blob_px": 48,
|
|
"global_guard_downsample_max_side": 320,
|
|
"global_guard_reduce_factor_soft": 0.82,
|
|
"global_guard_reduce_factor_hard": 0.6,
|
|
"global_guard_reduce_factor_extreme": 0.35,
|
|
"sun_guard_enabled": true,
|
|
"sun_guard_p99_threshold": 0.9,
|
|
"sun_guard_near_sat_pct_threshold": 0.8,
|
|
"sun_guard_freeze_increase_cycles": 2,
|
|
"sun_guard_allow_decrease": true,
|
|
"guard_force_apply_enabled": true,
|
|
"guard_force_apply_soft": true,
|
|
"guard_force_apply_hard": true,
|
|
"guard_force_apply_extreme": true,
|
|
"guard_force_apply_on_patch_saturation": true,
|
|
"guard_freeze_cycles_soft": 3,
|
|
"guard_freeze_cycles_hard": 5,
|
|
"guard_freeze_cycles_extreme": 8,
|
|
"guard_reapply_min_exp_on_emergency": true,
|
|
"guard_min_exp_margin_us": 80
|
|
}
|
|
},
|
|
"patch_normalization": {
|
|
"enabled": true,
|
|
"apply_when_metering_mode": "reference_patches",
|
|
"apply_stage": "after_fusion",
|
|
"method": "gray_scale_with_white_guard",
|
|
"space": "multispec_tensor",
|
|
"targets": {
|
|
"black": 0.06,
|
|
"gray": 0.4,
|
|
"white": 0.78
|
|
},
|
|
"white_guard_max": 0.92,
|
|
"scale_min": 0.35,
|
|
"scale_max": 2.5,
|
|
"clip_output": true,
|
|
"require_valid_gray": true,
|
|
"use_black_for_offset": false,
|
|
"save_patch_stats": true
|
|
},
|
|
"radiometric_config": {
|
|
"enabled": true,
|
|
"interval_s": 0.25,
|
|
"verbose": true,
|
|
"metering_mode": "reference_patches",
|
|
"spectral_control_mode": "shared",
|
|
"control_metric": "p50",
|
|
"target_value": 0.5,
|
|
"deadband": 0.035,
|
|
"p95_limit": 0.94,
|
|
"saturation_limit_pct": 0.5,
|
|
"alpha": 0.18,
|
|
"exp_step_gain": 0.55,
|
|
"prefer_exposure": true,
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 80000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 4.0,
|
|
"reference_patches": [
|
|
{
|
|
"name": "black_reference",
|
|
"type": "black",
|
|
"roles": [
|
|
"rgb",
|
|
"re",
|
|
"nir"
|
|
],
|
|
"roi_pct": {
|
|
"x0": 0.304688,
|
|
"y0": 0.8275,
|
|
"x1": 0.364063,
|
|
"y1": 0.9875
|
|
},
|
|
"target_value": 0.08,
|
|
"weight": 0.7,
|
|
"roi_pct_by_role": {
|
|
"rgb": {
|
|
"x0": 0.304688,
|
|
"y0": 0.8275,
|
|
"x1": 0.364063,
|
|
"y1": 0.9875
|
|
},
|
|
"re": {
|
|
"x0": 0.275,
|
|
"y0": 0.8225,
|
|
"x1": 0.334375,
|
|
"y1": 0.995
|
|
},
|
|
"nir": {
|
|
"x0": 0.3375,
|
|
"y0": 0.8325,
|
|
"x1": 0.4,
|
|
"y1": 0.9925
|
|
}
|
|
},
|
|
"roi_list_by_role": {
|
|
"rgb": [
|
|
{
|
|
"name": "rgb_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.304688,
|
|
"y0": 0.8275,
|
|
"x1": 0.364063,
|
|
"y1": 0.9875
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:53:26"
|
|
}
|
|
],
|
|
"re": [
|
|
{
|
|
"name": "re_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.275,
|
|
"y0": 0.8225,
|
|
"x1": 0.334375,
|
|
"y1": 0.995
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:15"
|
|
}
|
|
],
|
|
"nir": [
|
|
{
|
|
"name": "nir_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.3375,
|
|
"y0": 0.8325,
|
|
"x1": 0.4,
|
|
"y1": 0.9925
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:44"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "gray_reference",
|
|
"type": "gray",
|
|
"roles": [
|
|
"rgb",
|
|
"re",
|
|
"nir"
|
|
],
|
|
"roi_pct": {
|
|
"x0": 0.238281,
|
|
"y0": 0.82625,
|
|
"x1": 0.298438,
|
|
"y1": 0.9875
|
|
},
|
|
"target_value": 0.35,
|
|
"target_value_by_role": {
|
|
"rgb": 0.34,
|
|
"re": 0.24,
|
|
"nir": 0.3
|
|
},
|
|
"weight": 1.0,
|
|
"roi_pct_by_role": {
|
|
"rgb": {
|
|
"x0": 0.238281,
|
|
"y0": 0.82625,
|
|
"x1": 0.298438,
|
|
"y1": 0.9875
|
|
},
|
|
"re": {
|
|
"x0": 0.203125,
|
|
"y0": 0.82625,
|
|
"x1": 0.266406,
|
|
"y1": 0.995
|
|
},
|
|
"nir": {
|
|
"x0": 0.266406,
|
|
"y0": 0.83125,
|
|
"x1": 0.332031,
|
|
"y1": 0.99625
|
|
}
|
|
},
|
|
"roi_list_by_role": {
|
|
"rgb": [
|
|
{
|
|
"name": "rgb_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.238281,
|
|
"y0": 0.82625,
|
|
"x1": 0.298438,
|
|
"y1": 0.9875
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:53:18"
|
|
}
|
|
],
|
|
"re": [
|
|
{
|
|
"name": "re_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.203125,
|
|
"y0": 0.82625,
|
|
"x1": 0.266406,
|
|
"y1": 0.995
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:53:55"
|
|
}
|
|
],
|
|
"nir": [
|
|
{
|
|
"name": "nir_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.266406,
|
|
"y0": 0.83125,
|
|
"x1": 0.332031,
|
|
"y1": 0.99625
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:33"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "white_reference",
|
|
"type": "white",
|
|
"roles": [
|
|
"rgb",
|
|
"re",
|
|
"nir"
|
|
],
|
|
"roi_pct": {
|
|
"x0": 0.166406,
|
|
"y0": 0.82625,
|
|
"x1": 0.228906,
|
|
"y1": 0.99125
|
|
},
|
|
"target_value": 0.82,
|
|
"weight": 0.8,
|
|
"roi_pct_by_role": {
|
|
"rgb": {
|
|
"x0": 0.166406,
|
|
"y0": 0.82625,
|
|
"x1": 0.228906,
|
|
"y1": 0.99125
|
|
},
|
|
"re": {
|
|
"x0": 0.132812,
|
|
"y0": 0.82625,
|
|
"x1": 0.194531,
|
|
"y1": 0.995
|
|
},
|
|
"nir": {
|
|
"x0": 0.195312,
|
|
"y0": 0.83625,
|
|
"x1": 0.260156,
|
|
"y1": 0.99125
|
|
}
|
|
},
|
|
"roi_list_by_role": {
|
|
"rgb": [
|
|
{
|
|
"name": "rgb_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.166406,
|
|
"y0": 0.82625,
|
|
"x1": 0.228906,
|
|
"y1": 0.99125
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:53:36"
|
|
}
|
|
],
|
|
"re": [
|
|
{
|
|
"name": "re_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.132812,
|
|
"y0": 0.82625,
|
|
"x1": 0.194531,
|
|
"y1": 0.995
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:04"
|
|
}
|
|
],
|
|
"nir": [
|
|
{
|
|
"name": "nir_legacy_01",
|
|
"enabled": true,
|
|
"roi_pct": {
|
|
"x0": 0.195312,
|
|
"y0": 0.83625,
|
|
"x1": 0.260156,
|
|
"y1": 0.99125
|
|
},
|
|
"created_at": "2026-05-07 14:36:25",
|
|
"updated_at": "2026-05-12 09:54:56"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"exp_apply_threshold_us": 80,
|
|
"gain_apply_threshold": 0.05,
|
|
"apply_same_spectral_to_both": true,
|
|
"spectral_roles": [
|
|
"re",
|
|
"nir"
|
|
],
|
|
"dark_limit_pct": 35.0,
|
|
"control_strategy": "ratio",
|
|
"ratio_alpha": 0.35,
|
|
"ratio_min": 0.65,
|
|
"ratio_max": 1.35,
|
|
"reduce_fast_factor": 0.8,
|
|
"factor_min": 0.55,
|
|
"factor_max": 1.28,
|
|
"gain_return_enabled": true,
|
|
"gain_reduce_on_saturation": true,
|
|
"gain_increase_required_cycles": 5,
|
|
"gain_decrease_required_cycles": 2,
|
|
"gain_step_up": 0.2,
|
|
"gain_step_down": 0.5,
|
|
"gain_hard_reset_on_saturation": false,
|
|
"exp_high_ratio_for_gain": 0.95,
|
|
"exp_low_ratio_for_gain_return": 0.75,
|
|
"role_limits": {
|
|
"rgb": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 80000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
},
|
|
"re": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 2500,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
},
|
|
"nir": {
|
|
"exp_min_us": 100,
|
|
"exp_max_us": 3000,
|
|
"gain_min": 1.0,
|
|
"gain_max": 2.0
|
|
}
|
|
},
|
|
"ready_required_cycles": 3,
|
|
"patch_control_mode": "gray_primary",
|
|
"patch_require_order": true,
|
|
"patch_min_separation": 0.08,
|
|
"patch_white_sat_limit_pct": 0.5,
|
|
"patch_white_p95_limit": 0.94,
|
|
"patch_black_dark_limit_pct": 80.0,
|
|
"patch_black_max_p50": 0.2,
|
|
"patch_gray_min_p50": 0.08,
|
|
"patch_gray_max_p50": 0.85,
|
|
"patch_roi_contract": "multi_roi_by_role_v1",
|
|
"patch_roi_reduce_method": "median_valid_rois",
|
|
"patch_roi_outlier_reject": true,
|
|
"patch_roi_max_p50_delta": 0.12,
|
|
"global_saturation_guard_enabled": true,
|
|
"global_guard_roi_pct": {
|
|
"x0": 0.05,
|
|
"y0": 0.05,
|
|
"x1": 0.95,
|
|
"y1": 0.95
|
|
},
|
|
"global_guard_sat_threshold": 0.985,
|
|
"global_guard_near_sat_threshold": 0.94,
|
|
"global_guard_sat_pct_soft": 0.05,
|
|
"global_guard_sat_pct_hard": 0.2,
|
|
"global_guard_sat_pct_extreme": 0.8,
|
|
"global_guard_blob_pct_soft": 0.015,
|
|
"global_guard_blob_pct_hard": 0.08,
|
|
"global_guard_blob_pct_extreme": 0.25,
|
|
"global_guard_min_blob_px": 48,
|
|
"global_guard_downsample_max_side": 320,
|
|
"global_guard_reduce_factor_soft": 0.82,
|
|
"global_guard_reduce_factor_hard": 0.6,
|
|
"global_guard_reduce_factor_extreme": 0.35,
|
|
"sun_guard_enabled": true,
|
|
"sun_guard_p99_threshold": 0.9,
|
|
"sun_guard_near_sat_pct_threshold": 0.8,
|
|
"sun_guard_freeze_increase_cycles": 2,
|
|
"sun_guard_allow_decrease": true,
|
|
"guard_force_apply_enabled": true,
|
|
"guard_force_apply_soft": true,
|
|
"guard_force_apply_hard": true,
|
|
"guard_force_apply_extreme": true,
|
|
"guard_force_apply_on_patch_saturation": true,
|
|
"guard_freeze_cycles_soft": 3,
|
|
"guard_freeze_cycles_hard": 5,
|
|
"guard_freeze_cycles_extreme": 8,
|
|
"guard_reapply_min_exp_on_emergency": true,
|
|
"guard_min_exp_margin_us": 80
|
|
}
|
|
} |