{
  "kind": "controlled simulation; not hardware measurement",
  "run_date": "2026-11-05",
  "common": {
    "resolution": 640,
    "grid_res": 0.2,
    "texture": "uniform",
    "noise": 0,
    "photo_light_error": 0,
    "photo_polar": 50
  },
  "cases": {
    "sphere": {
      "label": "球面压痕",
      "figure": "reports\\assets\\tricolor-article\\11_preset_sphere.png",
      "metrics": {
        "border": {
          "n": 10063,
          "coverage": 0.9864719145181845,
          "rmse_mm": 0.01106818099529351,
          "mae_mm": 0.003358764073233732,
          "median_abs_mm": 0.0005074773315948839,
          "p95_abs_mm": 0.01650641834059935,
          "bias_mm": 0.001460000196634926
        },
        "shape": {
          "n": 10063,
          "coverage": 0.9864719145181845,
          "rmse_mm": 0.010974280413947057,
          "mae_mm": 0.004074973592862382,
          "median_abs_mm": 0.0015805159427762817,
          "p95_abs_mm": 0.01754988559069708,
          "bias_mm": 2.7361155729607357e-18
        },
        "normals": {
          "n": 10063,
          "mean_deg": 0.09583182192109764,
          "median_deg": 0.0,
          "p95_deg": 0.07103054709359802
        }
      },
      "diagnostics": {
        "light_condition": 1.1866660785931713,
        "light_matrix": [
          [
            0.766044443118978,
            0.0,
            -0.6427876096865394
          ],
          [
            -0.3830222215594889,
            0.6634139481689385,
            -0.6427876096865395
          ],
          [
            -0.38302222155948934,
            -0.6634139481689383,
            -0.6427876096865394
          ]
        ],
        "true_light_matrix": [
          [
            0.766044443118978,
            0.0,
            -0.6427876096865394
          ],
          [
            -0.3830222215594889,
            0.6634139481689385,
            -0.6427876096865395
          ],
          [
            -0.38302222155948934,
            -0.6634139481689383,
            -0.6427876096865394
          ]
        ],
        "coverage": 0.9864719145181845,
        "normal_count": 10063,
        "image_size": [
          640,
          480
        ],
        "gray_albedo": true,
        "normal_smoothing_sigma_grid": 1.0,
        "border_anchor_weight": 20.0,
        "shape_evaluation_offset_mm": 0.023646766535755728,
        "shape_gt_aligned": false,
        "mirror_used": false,
        "stereo_used": false,
        "fusion_used": false
      },
      "params": {
        "resolution": 640,
        "focal_px": 800.0,
        "cx_offset": 0.0,
        "cy_offset": 0.0,
        "k1": -0.08,
        "k2": 0.02,
        "p1": 0.0005,
        "p2": 0.0,
        "layout": "single",
        "mirror_distance": 10.0,
        "mirror2_distance": 10.0,
        "mirror_center_z": 40.0,
        "mirror_half_height": 20.0,
        "mirror_half_width": 12.0,
        "mirror_tilt": 0.0,
        "mirror2_tilt": 0.0,
        "surface_z0": 60.0,
        "deformation": "sphere",
        "deform_center_a": 0.0,
        "deform_center_b": 0.0,
        "coin_radius": 7.6,
        "coin_depth": 0.45,
        "coin_relief": 0.055,
        "coin_rim": 0.1,
        "finger_radius": 8.0,
        "finger_dome": 0.38,
        "finger_ridge_amp": 0.075,
        "finger_pitch": 0.55,
        "finger_whorl": 0.28,
        "dent_radius": 6.0,
        "dent_depth": 0.6,
        "dent_shape": "cosine",
        "dent_ellipticity": 1.0,
        "dent_angle": 0.0,
        "sphere_depth": 0.8,
        "sphere_radius": 5.0,
        "sphere_blend": 0.6,
        "bump_amplitude": -0.8,
        "bump_sigma_a": 3.0,
        "bump_sigma_b": 3.0,
        "finger_amplitude": 0.12,
        "finger_base_depth": 0.4,
        "finger_wavelength": 1.2,
        "finger_angle": 25.0,
        "finger_sigma": 3.5,
        "random_amplitude": 0.3,
        "random_sigma": 25.0,
        "random_seed": 3,
        "tilt_slope_a": 0.02,
        "tilt_slope_b": -0.01,
        "texture": "uniform",
        "texture_scale": 8.0,
        "texture_seed": 7,
        "texture_level": 0.55,
        "checker_squares": 20,
        "ambient": 0.3,
        "key_intensity": 0.85,
        "fill_intensity": 0.3,
        "noise": 0.0,
        "noise_seed": 0,
        "background": "dark",
        "grid_res": 0.2,
        "match_window_mm": 0.45,
        "score_min": 0.5,
        "texture_min": 0.004,
        "delta_max": 1.5,
        "calibration": "oracle",
        "calib_poses": 12,
        "calib_noise": 0.2,
        "flat_ref": false,
        "photo_polar": 50,
        "photo_light_error": 0.0,
        "cc_mode": "synthetic",
        "cc_k1": -0.03,
        "cc_k2": 0.0,
        "cc_k3": 0.0,
        "cc_tilt_x": 1.7,
        "cc_tilt_y": 0.12,
        "cc_roll": 0.4,
        "cc_distance": 29.0,
        "cc_focal": 453.0,
        "cc_principal_dx": 0.0,
        "cc_principal_dy": 0.0,
        "cc_terms": 3,
        "cc_blur": 1.1,
        "cc_noise": 2.0,
        "cc_vignette": 0.25,
        "cc_fold_deg": 30.0,
        "cc_measured_k1": -0.009,
        "dense_enabled": false,
        "dense_source": "dis",
        "dense_resolution": 640,
        "dense_texture": "dense_random",
        "dense_texture_seed": 23,
        "dense_grid_res": 0.1,
        "dense_geometry": "studio",
        "dense_color_mode": "rgb",
        "dense_adaptive": true,
        "dense_adaptive_steps": 4,
        "dense_psf_sigma": 0.8,
        "dense_dis_preset": "FAST",
        "density_sigma": 2.0,
        "dense_guided_radius": 4,
        "dense_guided_eps": 0.001,
        "dense_calibration_mode": "pixel",
        "morph_source": "simulation",
        "morph_method": "appearance",
        "morph_observation_id": "real_snapshot_20261027",
        "morph_flow_backend": "dis",
        "morph_density_mode": "normalized_density",
        "morph_fb_threshold": 1.0,
        "morph_texture_std_min": 2.0,
        "morph_saturation": 250.0,
        "morph_appearance_small": 2.0,
        "morph_appearance_large": 55.0,
        "morph_density_sigma": 2.0,
        "morph_calibration_id": "none",
        "morph_optics": "diffuse_directional",
        "morph_width": 960,
        "morph_texture_seed": 23,
        "morph_relief_scale": 1.0,
        "morph_gel_model": "kinematic_gel",
        "morph_gel_radial": 0.15,
        "morph_gel_shear": 0.0,
        "morph_gel_twist": 0.0,
        "morph_gel_boundary": "fixed_frame",
        "morph_gel_load": 1.0,
        "morph_gel_grid": 129,
        "morph_object_kind": "thread",
        "morph_object_depth": 0.3,
        "morph_object_radius": 4.0,
        "morph_object_pitch": 1.5,
        "morph_object_angle": 0.0,
        "mc_object": "coin",
        "mc_depth_mm": 0.06,
        "mc_radius_mm": 6.0,
        "mc_relief_mm": 0.025,
        "mc_center_x_mm": 2.0,
        "mc_center_y_mm": 0.0,
        "mc_resolution": 384,
        "mc_noise_sigma": 0.001,
        "mc_max_depth_mm": 0.15,
        "mt_optical_mode": "compensated",
        "mt_mode": "press",
        "mt_value": 0.05,
        "mt_series": "none",
        "mt_resolution": 384,
        "mt_supersampling": 3,
        "mt_roi_mm": 18.0,
        "mt_lower_pitch_mm": 0.3,
        "mt_upper_pitch_mm": 0.35,
        "mt_aperture_fraction": 0.7,
        "mt_angle_deg": 0.5,
        "mt_mask_thickness_mm": 0.02,
        "mt_air_distance_mm": 11.275,
        "mt_gamma": 1.25,
        "mt_psf_sigma_px": 0.7,
        "mt_envelope_sigma_mm": 0.08,
        "mt_acrylic_mm": 1.0,
        "mt_pdms_mm": 3.0,
        "mt_acrylic_index": 1.49,
        "mt_pdms_index": 1.41,
        "mt_poisson": 0.49,
        "mt_active_width_mm": 24.0,
        "sg_gray_mm": 0.3,
        "sg_support_mm": 5.7,
        "sg_gray_modulus": 0.5,
        "sg_support_modulus": 3.0,
        "sg_mark_gain": 1.0,
        "sg_kernel_mm": 0.0,
        "sg_object": "hertz",
        "sg_normal_N": 0.5,
        "sg_shear_x_N": 0.05,
        "sg_shear_y_N": 0.0,
        "sg_twist_Nmm": 0.1,
        "sg_radius_mm": 3.0,
        "sg_center_x_mm": 0.0,
        "sg_center_y_mm": 0.0,
        "sg_mark_diameter_mm": 0.2,
        "sg_mark_pitch_mm": 1.2,
        "sg_ring_mm": 0.0,
        "sg_k1": -0.03,
        "sg_tilt_deg": 1.7,
        "sg_psf_px": 0.8,
        "sg_noise_DN": 1.0,
        "sg_compensation": "harmonic",
        "sg_seed": 17
      }
    },
    "dent": {
      "label": "平滑凹坑",
      "figure": "reports\\assets\\tricolor-article\\12_preset_dent.png",
      "metrics": {
        "border": {
          "n": 10063,
          "coverage": 0.9864719145181845,
          "rmse_mm": 0.004713657911359623,
          "mae_mm": 0.0025551002874518113,
          "median_abs_mm": 0.001006782045795832,
          "p95_abs_mm": 0.013076953957909547,
          "bias_mm": 0.0002728083226212421
        },
        "shape": {
          "n": 10063,
          "coverage": 0.9864719145181845,
          "rmse_mm": 0.004820634131143978,
          "mae_mm": 0.002864610494098459,
          "median_abs_mm": 0.0014581817474805941,
          "p95_abs_mm": 0.013254174321793712,
          "bias_mm": -3.798015266095698e-18
        },
        "normals": {
          "n": 10063,
          "mean_deg": 0.02720029290327304,
          "median_deg": 0.0,
          "p95_deg": 0.1761009322726126
        }
      },
      "diagnostics": {
        "light_condition": 1.1866660785931713,
        "light_matrix": [
          [
            0.766044443118978,
            0.0,
            -0.6427876096865394
          ],
          [
            -0.3830222215594889,
            0.6634139481689385,
            -0.6427876096865395
          ],
          [
            -0.38302222155948934,
            -0.6634139481689383,
            -0.6427876096865394
          ]
        ],
        "true_light_matrix": [
          [
            0.766044443118978,
            0.0,
            -0.6427876096865394
          ],
          [
            -0.3830222215594889,
            0.6634139481689385,
            -0.6427876096865395
          ],
          [
            -0.38302222155948934,
            -0.6634139481689383,
            -0.6427876096865394
          ]
        ],
        "coverage": 0.9864719145181845,
        "normal_count": 10063,
        "image_size": [
          640,
          480
        ],
        "gray_albedo": true,
        "normal_smoothing_sigma_grid": 1.0,
        "border_anchor_weight": 20.0,
        "shape_evaluation_offset_mm": 0.05012975143569403,
        "shape_gt_aligned": false,
        "mirror_used": false,
        "stereo_used": false,
        "fusion_used": false
      },
      "params": {
        "resolution": 640,
        "focal_px": 800.0,
        "cx_offset": 0.0,
        "cy_offset": 0.0,
        "k1": -0.08,
        "k2": 0.02,
        "p1": 0.0005,
        "p2": 0.0,
        "layout": "single",
        "mirror_distance": 10.0,
        "mirror2_distance": 10.0,
        "mirror_center_z": 40.0,
        "mirror_half_height": 20.0,
        "mirror_half_width": 12.0,
        "mirror_tilt": 0.0,
        "mirror2_tilt": 0.0,
        "surface_z0": 60.0,
        "deformation": "dent",
        "deform_center_a": 0.0,
        "deform_center_b": 0.0,
        "coin_radius": 7.6,
        "coin_depth": 0.45,
        "coin_relief": 0.055,
        "coin_rim": 0.1,
        "finger_radius": 8.0,
        "finger_dome": 0.38,
        "finger_ridge_amp": 0.075,
        "finger_pitch": 0.55,
        "finger_whorl": 0.28,
        "dent_radius": 6.0,
        "dent_depth": 0.6,
        "dent_shape": "cosine",
        "dent_ellipticity": 1.0,
        "dent_angle": 0.0,
        "sphere_depth": 0.8,
        "sphere_radius": 5.0,
        "sphere_blend": 0.6,
        "bump_amplitude": -0.8,
        "bump_sigma_a": 3.0,
        "bump_sigma_b": 3.0,
        "finger_amplitude": 0.12,
        "finger_base_depth": 0.4,
        "finger_wavelength": 1.2,
        "finger_angle": 25.0,
        "finger_sigma": 3.5,
        "random_amplitude": 0.3,
        "random_sigma": 25.0,
        "random_seed": 3,
        "tilt_slope_a": 0.02,
        "tilt_slope_b": -0.01,
        "texture": "uniform",
        "texture_scale": 8.0,
        "texture_seed": 7,
        "texture_level": 0.55,
        "checker_squares": 20,
        "ambient": 0.3,
        "key_intensity": 0.85,
        "fill_intensity": 0.3,
        "noise": 0.0,
        "noise_seed": 0,
        "background": "dark",
        "grid_res": 0.2,
        "match_window_mm": 0.45,
        "score_min": 0.5,
        "texture_min": 0.004,
        "delta_max": 1.5,
        "calibration": "oracle",
        "calib_poses": 12,
        "calib_noise": 0.2,
        "flat_ref": false,
        "photo_polar": 50,
        "photo_light_error": 0.0,
        "cc_mode": "synthetic",
        "cc_k1": -0.03,
        "cc_k2": 0.0,
        "cc_k3": 0.0,
        "cc_tilt_x": 1.7,
        "cc_tilt_y": 0.12,
        "cc_roll": 0.4,
        "cc_distance": 29.0,
        "cc_focal": 453.0,
        "cc_principal_dx": 0.0,
        "cc_principal_dy": 0.0,
        "cc_terms": 3,
        "cc_blur": 1.1,
        "cc_noise": 2.0,
        "cc_vignette": 0.25,
        "cc_fold_deg": 30.0,
        "cc_measured_k1": -0.009,
        "dense_enabled": false,
        "dense_source": "dis",
        "dense_resolution": 640,
        "dense_texture": "dense_random",
        "dense_texture_seed": 23,
        "dense_grid_res": 0.1,
        "dense_geometry": "studio",
        "dense_color_mode": "rgb",
        "dense_adaptive": true,
        "dense_adaptive_steps": 4,
        "dense_psf_sigma": 0.8,
        "dense_dis_preset": "FAST",
        "density_sigma": 2.0,
        "dense_guided_radius": 4,
        "dense_guided_eps": 0.001,
        "dense_calibration_mode": "pixel",
        "morph_source": "simulation",
        "morph_method": "appearance",
        "morph_observation_id": "real_snapshot_20261027",
        "morph_flow_backend": "dis",
        "morph_density_mode": "normalized_density",
        "morph_fb_threshold": 1.0,
        "morph_texture_std_min": 2.0,
        "morph_saturation": 250.0,
        "morph_appearance_small": 2.0,
        "morph_appearance_large": 55.0,
        "morph_density_sigma": 2.0,
        "morph_calibration_id": "none",
        "morph_optics": "diffuse_directional",
        "morph_width": 960,
        "morph_texture_seed": 23,
        "morph_relief_scale": 1.0,
        "morph_gel_model": "kinematic_gel",
        "morph_gel_radial": 0.15,
        "morph_gel_shear": 0.0,
        "morph_gel_twist": 0.0,
        "morph_gel_boundary": "fixed_frame",
        "morph_gel_load": 1.0,
        "morph_gel_grid": 129,
        "morph_object_kind": "thread",
        "morph_object_depth": 0.3,
        "morph_object_radius": 4.0,
        "morph_object_pitch": 1.5,
        "morph_object_angle": 0.0,
        "mc_object": "coin",
        "mc_depth_mm": 0.06,
        "mc_radius_mm": 6.0,
        "mc_relief_mm": 0.025,
        "mc_center_x_mm": 2.0,
        "mc_center_y_mm": 0.0,
        "mc_resolution": 384,
        "mc_noise_sigma": 0.001,
        "mc_max_depth_mm": 0.15,
        "mt_optical_mode": "compensated",
        "mt_mode": "press",
        "mt_value": 0.05,
        "mt_series": "none",
        "mt_resolution": 384,
        "mt_supersampling": 3,
        "mt_roi_mm": 18.0,
        "mt_lower_pitch_mm": 0.3,
        "mt_upper_pitch_mm": 0.35,
        "mt_aperture_fraction": 0.7,
        "mt_angle_deg": 0.5,
        "mt_mask_thickness_mm": 0.02,
        "mt_air_distance_mm": 11.275,
        "mt_gamma": 1.25,
        "mt_psf_sigma_px": 0.7,
        "mt_envelope_sigma_mm": 0.08,
        "mt_acrylic_mm": 1.0,
        "mt_pdms_mm": 3.0,
        "mt_acrylic_index": 1.49,
        "mt_pdms_index": 1.41,
        "mt_poisson": 0.49,
        "mt_active_width_mm": 24.0,
        "sg_gray_mm": 0.3,
        "sg_support_mm": 5.7,
        "sg_gray_modulus": 0.5,
        "sg_support_modulus": 3.0,
        "sg_mark_gain": 1.0,
        "sg_kernel_mm": 0.0,
        "sg_object": "hertz",
        "sg_normal_N": 0.5,
        "sg_shear_x_N": 0.05,
        "sg_shear_y_N": 0.0,
        "sg_twist_Nmm": 0.1,
        "sg_radius_mm": 3.0,
        "sg_center_x_mm": 0.0,
        "sg_center_y_mm": 0.0,
        "sg_mark_diameter_mm": 0.2,
        "sg_mark_pitch_mm": 1.2,
        "sg_ring_mm": 0.0,
        "sg_k1": -0.03,
        "sg_tilt_deg": 1.7,
        "sg_psf_px": 0.8,
        "sg_noise_DN": 1.0,
        "sg_compensation": "harmonic",
        "sg_seed": 17
      }
    },
    "fingerprint": {
      "label": "指纹直栅",
      "figure": "reports\\assets\\tricolor-article\\13_preset_fingerprint.png",
      "metrics": {
        "border": {
          "n": 10063,
          "coverage": 0.9864719145181845,
          "rmse_mm": 0.01560404703810255,
          "mae_mm": 0.009146884472382986,
          "median_abs_mm": 0.003915265682316052,
          "p95_abs_mm": 0.03747800730691415,
          "bias_mm": 0.004092563704521947
        },
        "shape": {
          "n": 10063,
          "coverage": 0.9864719145181845,
          "rmse_mm": 0.015179731249300844,
          "mae_mm": 0.009107944605831291,
          "median_abs_mm": 0.004539631539800124,
          "p95_abs_mm": 0.03679335155453718,
          "bias_mm": -7.149205206768373e-18
        },
        "normals": {
          "n": 10063,
          "mean_deg": 0.6033511283102949,
          "median_deg": 0.1612536836637251,
          "p95_deg": 2.9516099337893253
        }
      },
      "diagnostics": {
        "light_condition": 1.1866660785931713,
        "light_matrix": [
          [
            0.766044443118978,
            0.0,
            -0.6427876096865394
          ],
          [
            -0.3830222215594889,
            0.6634139481689385,
            -0.6427876096865395
          ],
          [
            -0.38302222155948934,
            -0.6634139481689383,
            -0.6427876096865394
          ]
        ],
        "true_light_matrix": [
          [
            0.766044443118978,
            0.0,
            -0.6427876096865394
          ],
          [
            -0.3830222215594889,
            0.6634139481689385,
            -0.6427876096865395
          ],
          [
            -0.38302222155948934,
            -0.6634139481689383,
            -0.6427876096865394
          ]
        ],
        "coverage": 0.9864719145181845,
        "normal_count": 10063,
        "image_size": [
          640,
          480
        ],
        "gray_albedo": true,
        "normal_smoothing_sigma_grid": 1.0,
        "border_anchor_weight": 20.0,
        "shape_evaluation_offset_mm": 0.075816843264757,
        "shape_gt_aligned": false,
        "mirror_used": false,
        "stereo_used": false,
        "fusion_used": false
      },
      "params": {
        "resolution": 640,
        "focal_px": 800.0,
        "cx_offset": 0.0,
        "cy_offset": 0.0,
        "k1": -0.08,
        "k2": 0.02,
        "p1": 0.0005,
        "p2": 0.0,
        "layout": "single",
        "mirror_distance": 10.0,
        "mirror2_distance": 10.0,
        "mirror_center_z": 40.0,
        "mirror_half_height": 20.0,
        "mirror_half_width": 12.0,
        "mirror_tilt": 0.0,
        "mirror2_tilt": 0.0,
        "surface_z0": 60.0,
        "deformation": "fingerprint",
        "deform_center_a": 0.0,
        "deform_center_b": 0.0,
        "coin_radius": 7.6,
        "coin_depth": 0.45,
        "coin_relief": 0.055,
        "coin_rim": 0.1,
        "finger_radius": 8.0,
        "finger_dome": 0.38,
        "finger_ridge_amp": 0.075,
        "finger_pitch": 0.55,
        "finger_whorl": 0.28,
        "dent_radius": 6.0,
        "dent_depth": 0.6,
        "dent_shape": "cosine",
        "dent_ellipticity": 1.0,
        "dent_angle": 0.0,
        "sphere_depth": 0.8,
        "sphere_radius": 5.0,
        "sphere_blend": 0.6,
        "bump_amplitude": -0.8,
        "bump_sigma_a": 3.0,
        "bump_sigma_b": 3.0,
        "finger_amplitude": 0.12,
        "finger_base_depth": 0.4,
        "finger_wavelength": 1.2,
        "finger_angle": 25.0,
        "finger_sigma": 3.5,
        "random_amplitude": 0.3,
        "random_sigma": 25.0,
        "random_seed": 3,
        "tilt_slope_a": 0.02,
        "tilt_slope_b": -0.01,
        "texture": "uniform",
        "texture_scale": 8.0,
        "texture_seed": 7,
        "texture_level": 0.55,
        "checker_squares": 20,
        "ambient": 0.3,
        "key_intensity": 0.85,
        "fill_intensity": 0.3,
        "noise": 0.0,
        "noise_seed": 0,
        "background": "dark",
        "grid_res": 0.2,
        "match_window_mm": 0.45,
        "score_min": 0.5,
        "texture_min": 0.004,
        "delta_max": 1.5,
        "calibration": "oracle",
        "calib_poses": 12,
        "calib_noise": 0.2,
        "flat_ref": false,
        "photo_polar": 50,
        "photo_light_error": 0.0,
        "cc_mode": "synthetic",
        "cc_k1": -0.03,
        "cc_k2": 0.0,
        "cc_k3": 0.0,
        "cc_tilt_x": 1.7,
        "cc_tilt_y": 0.12,
        "cc_roll": 0.4,
        "cc_distance": 29.0,
        "cc_focal": 453.0,
        "cc_principal_dx": 0.0,
        "cc_principal_dy": 0.0,
        "cc_terms": 3,
        "cc_blur": 1.1,
        "cc_noise": 2.0,
        "cc_vignette": 0.25,
        "cc_fold_deg": 30.0,
        "cc_measured_k1": -0.009,
        "dense_enabled": false,
        "dense_source": "dis",
        "dense_resolution": 640,
        "dense_texture": "dense_random",
        "dense_texture_seed": 23,
        "dense_grid_res": 0.1,
        "dense_geometry": "studio",
        "dense_color_mode": "rgb",
        "dense_adaptive": true,
        "dense_adaptive_steps": 4,
        "dense_psf_sigma": 0.8,
        "dense_dis_preset": "FAST",
        "density_sigma": 2.0,
        "dense_guided_radius": 4,
        "dense_guided_eps": 0.001,
        "dense_calibration_mode": "pixel",
        "morph_source": "simulation",
        "morph_method": "appearance",
        "morph_observation_id": "real_snapshot_20261027",
        "morph_flow_backend": "dis",
        "morph_density_mode": "normalized_density",
        "morph_fb_threshold": 1.0,
        "morph_texture_std_min": 2.0,
        "morph_saturation": 250.0,
        "morph_appearance_small": 2.0,
        "morph_appearance_large": 55.0,
        "morph_density_sigma": 2.0,
        "morph_calibration_id": "none",
        "morph_optics": "diffuse_directional",
        "morph_width": 960,
        "morph_texture_seed": 23,
        "morph_relief_scale": 1.0,
        "morph_gel_model": "kinematic_gel",
        "morph_gel_radial": 0.15,
        "morph_gel_shear": 0.0,
        "morph_gel_twist": 0.0,
        "morph_gel_boundary": "fixed_frame",
        "morph_gel_load": 1.0,
        "morph_gel_grid": 129,
        "morph_object_kind": "thread",
        "morph_object_depth": 0.3,
        "morph_object_radius": 4.0,
        "morph_object_pitch": 1.5,
        "morph_object_angle": 0.0,
        "mc_object": "coin",
        "mc_depth_mm": 0.06,
        "mc_radius_mm": 6.0,
        "mc_relief_mm": 0.025,
        "mc_center_x_mm": 2.0,
        "mc_center_y_mm": 0.0,
        "mc_resolution": 384,
        "mc_noise_sigma": 0.001,
        "mc_max_depth_mm": 0.15,
        "mt_optical_mode": "compensated",
        "mt_mode": "press",
        "mt_value": 0.05,
        "mt_series": "none",
        "mt_resolution": 384,
        "mt_supersampling": 3,
        "mt_roi_mm": 18.0,
        "mt_lower_pitch_mm": 0.3,
        "mt_upper_pitch_mm": 0.35,
        "mt_aperture_fraction": 0.7,
        "mt_angle_deg": 0.5,
        "mt_mask_thickness_mm": 0.02,
        "mt_air_distance_mm": 11.275,
        "mt_gamma": 1.25,
        "mt_psf_sigma_px": 0.7,
        "mt_envelope_sigma_mm": 0.08,
        "mt_acrylic_mm": 1.0,
        "mt_pdms_mm": 3.0,
        "mt_acrylic_index": 1.49,
        "mt_pdms_index": 1.41,
        "mt_poisson": 0.49,
        "mt_active_width_mm": 24.0,
        "sg_gray_mm": 0.3,
        "sg_support_mm": 5.7,
        "sg_gray_modulus": 0.5,
        "sg_support_modulus": 3.0,
        "sg_mark_gain": 1.0,
        "sg_kernel_mm": 0.0,
        "sg_object": "hertz",
        "sg_normal_N": 0.5,
        "sg_shear_x_N": 0.05,
        "sg_shear_y_N": 0.0,
        "sg_twist_Nmm": 0.1,
        "sg_radius_mm": 3.0,
        "sg_center_x_mm": 0.0,
        "sg_center_y_mm": 0.0,
        "sg_mark_diameter_mm": 0.2,
        "sg_mark_pitch_mm": 1.2,
        "sg_ring_mm": 0.0,
        "sg_k1": -0.03,
        "sg_tilt_deg": 1.7,
        "sg_psf_px": 0.8,
        "sg_noise_DN": 1.0,
        "sg_compensation": "harmonic",
        "sg_seed": 17
      }
    },
    "coin": {
      "label": "硬币压印",
      "figure": "reports\\assets\\tricolor-article\\14_preset_coin.png",
      "metrics": {
        "border": {
          "n": 10030,
          "coverage": 0.9832369375551416,
          "rmse_mm": 0.1736663192271137,
          "mae_mm": 0.12112108397497325,
          "median_abs_mm": 0.02605985428226728,
          "p95_abs_mm": 0.2831531469692292,
          "bias_mm": 0.11402421342500467
        },
        "shape": {
          "n": 10030,
          "coverage": 0.9832369375551416,
          "rmse_mm": 0.1308900106629624,
          "mae_mm": 0.12845582378148934,
          "median_abs_mm": 0.1282207658352552,
          "p95_abs_mm": 0.1703188706968365,
          "bias_mm": 2.8336699332406786e-18
        },
        "normals": {
          "n": 10030,
          "mean_deg": 3.06336029915698,
          "median_deg": 0.0,
          "p95_deg": 21.738410237161467
        }
      },
      "diagnostics": {
        "light_condition": 1.1866660785931713,
        "light_matrix": [
          [
            0.766044443118978,
            0.0,
            -0.6427876096865394
          ],
          [
            -0.3830222215594889,
            0.6634139481689385,
            -0.6427876096865395
          ],
          [
            -0.38302222155948934,
            -0.6634139481689383,
            -0.6427876096865394
          ]
        ],
        "true_light_matrix": [
          [
            0.766044443118978,
            0.0,
            -0.6427876096865394
          ],
          [
            -0.3830222215594889,
            0.6634139481689385,
            -0.6427876096865395
          ],
          [
            -0.38302222155948934,
            -0.6634139481689383,
            -0.6427876096865394
          ]
        ],
        "coverage": 0.9832369375551416,
        "normal_count": 10030,
        "image_size": [
          640,
          480
        ],
        "gray_albedo": true,
        "normal_smoothing_sigma_grid": 1.0,
        "border_anchor_weight": 20.0,
        "shape_evaluation_offset_mm": 0.21752817153096163,
        "shape_gt_aligned": false,
        "mirror_used": false,
        "stereo_used": false,
        "fusion_used": false
      },
      "params": {
        "resolution": 640,
        "focal_px": 800.0,
        "cx_offset": 0.0,
        "cy_offset": 0.0,
        "k1": -0.08,
        "k2": 0.02,
        "p1": 0.0005,
        "p2": 0.0,
        "layout": "single",
        "mirror_distance": 10.0,
        "mirror2_distance": 10.0,
        "mirror_center_z": 40.0,
        "mirror_half_height": 20.0,
        "mirror_half_width": 12.0,
        "mirror_tilt": 0.0,
        "mirror2_tilt": 0.0,
        "surface_z0": 60.0,
        "deformation": "coin",
        "deform_center_a": 0.0,
        "deform_center_b": 0.0,
        "coin_radius": 7.6,
        "coin_depth": 0.45,
        "coin_relief": 0.055,
        "coin_rim": 0.1,
        "finger_radius": 8.0,
        "finger_dome": 0.38,
        "finger_ridge_amp": 0.075,
        "finger_pitch": 0.55,
        "finger_whorl": 0.28,
        "dent_radius": 6.0,
        "dent_depth": 0.6,
        "dent_shape": "cosine",
        "dent_ellipticity": 1.0,
        "dent_angle": 0.0,
        "sphere_depth": 0.8,
        "sphere_radius": 5.0,
        "sphere_blend": 0.6,
        "bump_amplitude": -0.8,
        "bump_sigma_a": 3.0,
        "bump_sigma_b": 3.0,
        "finger_amplitude": 0.12,
        "finger_base_depth": 0.4,
        "finger_wavelength": 1.2,
        "finger_angle": 25.0,
        "finger_sigma": 3.5,
        "random_amplitude": 0.3,
        "random_sigma": 25.0,
        "random_seed": 3,
        "tilt_slope_a": 0.02,
        "tilt_slope_b": -0.01,
        "texture": "uniform",
        "texture_scale": 8.0,
        "texture_seed": 7,
        "texture_level": 0.55,
        "checker_squares": 20,
        "ambient": 0.3,
        "key_intensity": 0.85,
        "fill_intensity": 0.3,
        "noise": 0.0,
        "noise_seed": 0,
        "background": "dark",
        "grid_res": 0.2,
        "match_window_mm": 0.45,
        "score_min": 0.5,
        "texture_min": 0.004,
        "delta_max": 1.5,
        "calibration": "oracle",
        "calib_poses": 12,
        "calib_noise": 0.2,
        "flat_ref": false,
        "photo_polar": 50,
        "photo_light_error": 0.0,
        "cc_mode": "synthetic",
        "cc_k1": -0.03,
        "cc_k2": 0.0,
        "cc_k3": 0.0,
        "cc_tilt_x": 1.7,
        "cc_tilt_y": 0.12,
        "cc_roll": 0.4,
        "cc_distance": 29.0,
        "cc_focal": 453.0,
        "cc_principal_dx": 0.0,
        "cc_principal_dy": 0.0,
        "cc_terms": 3,
        "cc_blur": 1.1,
        "cc_noise": 2.0,
        "cc_vignette": 0.25,
        "cc_fold_deg": 30.0,
        "cc_measured_k1": -0.009,
        "dense_enabled": false,
        "dense_source": "dis",
        "dense_resolution": 640,
        "dense_texture": "dense_random",
        "dense_texture_seed": 23,
        "dense_grid_res": 0.1,
        "dense_geometry": "studio",
        "dense_color_mode": "rgb",
        "dense_adaptive": true,
        "dense_adaptive_steps": 4,
        "dense_psf_sigma": 0.8,
        "dense_dis_preset": "FAST",
        "density_sigma": 2.0,
        "dense_guided_radius": 4,
        "dense_guided_eps": 0.001,
        "dense_calibration_mode": "pixel",
        "morph_source": "simulation",
        "morph_method": "appearance",
        "morph_observation_id": "real_snapshot_20261027",
        "morph_flow_backend": "dis",
        "morph_density_mode": "normalized_density",
        "morph_fb_threshold": 1.0,
        "morph_texture_std_min": 2.0,
        "morph_saturation": 250.0,
        "morph_appearance_small": 2.0,
        "morph_appearance_large": 55.0,
        "morph_density_sigma": 2.0,
        "morph_calibration_id": "none",
        "morph_optics": "diffuse_directional",
        "morph_width": 960,
        "morph_texture_seed": 23,
        "morph_relief_scale": 1.0,
        "morph_gel_model": "kinematic_gel",
        "morph_gel_radial": 0.15,
        "morph_gel_shear": 0.0,
        "morph_gel_twist": 0.0,
        "morph_gel_boundary": "fixed_frame",
        "morph_gel_load": 1.0,
        "morph_gel_grid": 129,
        "morph_object_kind": "thread",
        "morph_object_depth": 0.3,
        "morph_object_radius": 4.0,
        "morph_object_pitch": 1.5,
        "morph_object_angle": 0.0,
        "mc_object": "coin",
        "mc_depth_mm": 0.06,
        "mc_radius_mm": 6.0,
        "mc_relief_mm": 0.025,
        "mc_center_x_mm": 2.0,
        "mc_center_y_mm": 0.0,
        "mc_resolution": 384,
        "mc_noise_sigma": 0.001,
        "mc_max_depth_mm": 0.15,
        "mt_optical_mode": "compensated",
        "mt_mode": "press",
        "mt_value": 0.05,
        "mt_series": "none",
        "mt_resolution": 384,
        "mt_supersampling": 3,
        "mt_roi_mm": 18.0,
        "mt_lower_pitch_mm": 0.3,
        "mt_upper_pitch_mm": 0.35,
        "mt_aperture_fraction": 0.7,
        "mt_angle_deg": 0.5,
        "mt_mask_thickness_mm": 0.02,
        "mt_air_distance_mm": 11.275,
        "mt_gamma": 1.25,
        "mt_psf_sigma_px": 0.7,
        "mt_envelope_sigma_mm": 0.08,
        "mt_acrylic_mm": 1.0,
        "mt_pdms_mm": 3.0,
        "mt_acrylic_index": 1.49,
        "mt_pdms_index": 1.41,
        "mt_poisson": 0.49,
        "mt_active_width_mm": 24.0,
        "sg_gray_mm": 0.3,
        "sg_support_mm": 5.7,
        "sg_gray_modulus": 0.5,
        "sg_support_modulus": 3.0,
        "sg_mark_gain": 1.0,
        "sg_kernel_mm": 0.0,
        "sg_object": "hertz",
        "sg_normal_N": 0.5,
        "sg_shear_x_N": 0.05,
        "sg_shear_y_N": 0.0,
        "sg_twist_Nmm": 0.1,
        "sg_radius_mm": 3.0,
        "sg_center_x_mm": 0.0,
        "sg_center_y_mm": 0.0,
        "sg_mark_diameter_mm": 0.2,
        "sg_mark_pitch_mm": 1.2,
        "sg_ring_mm": 0.0,
        "sg_k1": -0.03,
        "sg_tilt_deg": 1.7,
        "sg_psf_px": 0.8,
        "sg_noise_DN": 1.0,
        "sg_compensation": "harmonic",
        "sg_seed": 17
      }
    }
  },
  "elapsed_s": 7.863057613372803
}