{
  "candidates": [
    {
      "artifacts": {
        "canonical_geometry": {
          "basename": "corrected_photogrammetry_mesh.obj",
          "bytes": 874366,
          "sha256": "611a077d085feff2680a91ecdde474e61e09d49a0877abf291e18332a535a1f0"
        },
        "object_capture_geometry_sidecar": {
          "basename": "object_capture_mesh.geometry.json",
          "bytes": 1462,
          "sha256": "f957b32ac5f029f1de091507972779a73c5cdbd816c42c48843ddd0258eb2e93"
        },
        "postprocess_report": {
          "basename": "calibration_postprocess_report.json",
          "bytes": 45944,
          "sha256": "06e9a184681f171b6e22af1aba21497bae1475c903a564023e479437e967c9ee"
        }
      },
      "canonical_geometry": {
        "coordinate_frame": "calibration_canonical_metric",
        "primary_sample_definition": "deterministic triangle-area-uniform surface samples",
        "primary_surface_sample_count": 100000,
        "primary_surface_seed": 20260812,
        "serialized_face_count": 16449,
        "serialized_vertex_count": 8312,
        "unit_authority": {
          "extracted_obj_basename": "object_capture_mesh_m.obj",
          "meters_per_output_unit": 1.0,
          "numeric_unit": "meter",
          "schema": "org.iphonotype.object-capture-geometry/v1",
          "source_mesh_triangle_count": 35126,
          "source_mesh_vertex_count": 18433,
          "source_stage_meters_per_unit": 1.0,
          "source_to_output_scale": 1.0,
          "source_up_axis": "Y",
          "source_usdz_basename": "object_capture_mesh.usdz"
        },
        "units": "m"
      },
      "label": "iphone12",
      "metrics": {
        "cad_to_scan": {
          "count": 100000,
          "max_mm": 8.14926,
          "mean_mm": 1.54653,
          "median_mm": 0.844942,
          "p90_mm": 4.353506,
          "p95_mm": 4.607408,
          "rmse_mm": 2.159232
        },
        "primary_definition": "area_uniform_triangle_surface_to_surface",
        "scan_to_cad": {
          "count": 100000,
          "max_mm": 5.962126,
          "mean_mm": 1.139135,
          "median_mm": 0.752742,
          "p90_mm": 3.422925,
          "p95_mm": 4.263839,
          "rmse_mm": 1.60793
        },
        "symmetric_mean_mm": 1.342833,
        "thresholds": {
          "1mm": {
            "cad_completeness_pct": 58.54,
            "fscore_pct": 63.666892,
            "scan_precision_pct": 69.778
          },
          "2mm": {
            "cad_completeness_pct": 76.475,
            "fscore_pct": 81.407438,
            "scan_precision_pct": 87.02
          },
          "5mm": {
            "cad_completeness_pct": 98.542,
            "fscore_pct": 99.244457,
            "scan_precision_pct": 99.957
          }
        }
      },
      "registration_provenance": {
        "fixed_native_units_per_mm": 0.001,
        "fixed_transform_validation": {
          "fixed_native_units_per_mm": 0.001,
          "rotation_determinant": 1.0000000000000004,
          "rotation_orthogonality_max_abs_error": 4.440892098500626e-16
        },
        "free_scale_applied": false,
        "matched_point_count": 16,
        "matched_tag_count": 4,
        "matched_tag_ids": [
          12,
          13,
          26,
          27
        ],
        "maximum_reprojection_rmse_px": 4.0908235546025375,
        "metric_recovery_method": "apriltag36h11_multiview_metric_rigid",
        "metric_recovery_route": {
          "matched_point_count": 16,
          "matched_tag_count": 4,
          "minimum_views_per_corner": 28,
          "residual_p95_mm": 0.33925498919372904,
          "residual_rmse_mm": 0.2550315182491318,
          "route": "direct_multiview_apriltag"
        },
        "metric_scale_verified": true,
        "minimum_views_per_corner": 28,
        "postprocess_algorithm_version": "2.1.0",
        "postprocess_schema": "org.iphonotype.calibration-reconstruction-postprocess/v1",
        "registration_model": "metric-rigid",
        "reprojection_rmse_px_by_tag": {
          "12": 4.0908235546025375,
          "13": 3.642074412583892,
          "26": 3.5821714657872663,
          "27": 3.2415259182668303
        },
        "residual_p95_mm": 0.33925498919372904,
        "residual_rmse_mm": 0.2550315182491318,
        "unconstrained_scale_bias_pct": -0.1917018316759278
      },
      "trait_recovery": {
        "reason": "This strict scorer reports geometric error only; organ recovery requires the separate component-trait benchmark.",
        "status": "not_computed"
      }
    },
    {
      "artifacts": {
        "canonical_geometry": {
          "basename": "corrected_photogrammetry_mesh.obj",
          "bytes": 685542,
          "sha256": "54b6f7913a1cc13e687851cbe301087700eea4eae88c9e0b87acbdbacf4b0107"
        },
        "object_capture_geometry_sidecar": {
          "basename": "object_capture_mesh.geometry.json",
          "bytes": 1470,
          "sha256": "8b50f06336525b87c0dcc1adcb72ea91c45a692bb58465c2eabae43b831c17fe"
        },
        "postprocess_report": {
          "basename": "calibration_postprocess_report.json",
          "bytes": 47929,
          "sha256": "1710b3a6e72e649f2e9604a3745c3144b23ecd72523ef5e493f26c83ff42ac5b"
        }
      },
      "canonical_geometry": {
        "coordinate_frame": "calibration_canonical_metric",
        "primary_sample_definition": "deterministic triangle-area-uniform surface samples",
        "primary_surface_sample_count": 100000,
        "primary_surface_seed": 20260812,
        "serialized_face_count": 12899,
        "serialized_vertex_count": 6542,
        "unit_authority": {
          "extracted_obj_basename": "object_capture_mesh_m.obj",
          "meters_per_output_unit": 1.0,
          "numeric_unit": "meter",
          "schema": "org.iphonotype.object-capture-geometry/v1",
          "source_mesh_triangle_count": 37455,
          "source_mesh_vertex_count": 20135,
          "source_stage_meters_per_unit": 1.0,
          "source_to_output_scale": 1.0,
          "source_up_axis": "Y",
          "source_usdz_basename": "object_capture_mesh.usdz"
        },
        "units": "m"
      },
      "label": "iphone15",
      "metrics": {
        "cad_to_scan": {
          "count": 100000,
          "max_mm": 8.366576,
          "mean_mm": 1.787907,
          "median_mm": 1.181896,
          "p90_mm": 4.540514,
          "p95_mm": 5.069548,
          "rmse_mm": 2.350601
        },
        "primary_definition": "area_uniform_triangle_surface_to_surface",
        "scan_to_cad": {
          "count": 100000,
          "max_mm": 6.240067,
          "mean_mm": 1.39945,
          "median_mm": 1.051659,
          "p90_mm": 3.601892,
          "p95_mm": 4.152751,
          "rmse_mm": 1.788289
        },
        "symmetric_mean_mm": 1.593679,
        "thresholds": {
          "1mm": {
            "cad_completeness_pct": 41.888,
            "fscore_pct": 44.331172,
            "scan_precision_pct": 47.077
          },
          "2mm": {
            "cad_completeness_pct": 71.955,
            "fscore_pct": 77.206547,
            "scan_precision_pct": 83.285
          },
          "5mm": {
            "cad_completeness_pct": 94.483,
            "fscore_pct": 97.15239,
            "scan_precision_pct": 99.977
          }
        }
      },
      "registration_provenance": {
        "fixed_native_units_per_mm": 0.001,
        "fixed_transform_validation": {
          "fixed_native_units_per_mm": 0.001,
          "rotation_determinant": 1.0000000000000004,
          "rotation_orthogonality_max_abs_error": 6.661338147750939e-16
        },
        "free_scale_applied": false,
        "matched_point_count": 16,
        "matched_tag_count": 4,
        "matched_tag_ids": [
          12,
          13,
          26,
          27
        ],
        "maximum_reprojection_rmse_px": 4.937388312707796,
        "metric_recovery_method": "apriltag36h11_multiview_metric_rigid",
        "metric_recovery_route": {
          "matched_point_count": 16,
          "matched_tag_count": 4,
          "minimum_views_per_corner": 28,
          "residual_p95_mm": 0.8130152335319701,
          "residual_rmse_mm": 0.6044602102534972,
          "route": "direct_multiview_apriltag"
        },
        "metric_scale_verified": true,
        "minimum_views_per_corner": 28,
        "postprocess_algorithm_version": "2.1.0",
        "postprocess_schema": "org.iphonotype.calibration-reconstruction-postprocess/v1",
        "registration_model": "metric-rigid",
        "reprojection_rmse_px_by_tag": {
          "12": 4.937388312707796,
          "13": 4.017979337959376,
          "26": 3.586384120095011,
          "27": 4.369994524934573
        },
        "residual_p95_mm": 0.8130152335319701,
        "residual_rmse_mm": 0.6044602102534972,
        "unconstrained_scale_bias_pct": 0.9216383090904001
      },
      "trait_recovery": {
        "reason": "This strict scorer reports geometric error only; organ recovery requires the separate component-trait benchmark.",
        "status": "not_computed"
      }
    },
    {
      "artifacts": {
        "canonical_geometry": {
          "basename": "corrected_photogrammetry_mesh.obj",
          "bytes": 527277,
          "sha256": "9c5707e2b53ffbce54574c70a23952d1af3451c577596e7b032f81e636f2116d"
        },
        "object_capture_geometry_sidecar": {
          "basename": "object_capture_mesh.geometry.json",
          "bytes": 1438,
          "sha256": "1585c4c5fc39e3538a7b80a5c552f1115e86d03fd84e0bb906d4bf4551ae36a1"
        },
        "postprocess_report": {
          "basename": "calibration_postprocess_report.json",
          "bytes": 48201,
          "sha256": "2b4293c085f5f54ea70381af539a9860664a207fe9a2d151a4334022850d8307"
        }
      },
      "canonical_geometry": {
        "coordinate_frame": "calibration_canonical_metric",
        "primary_sample_definition": "deterministic triangle-area-uniform surface samples",
        "primary_surface_sample_count": 100000,
        "primary_surface_seed": 20260812,
        "serialized_face_count": 9948,
        "serialized_vertex_count": 5047,
        "unit_authority": {
          "extracted_obj_basename": "object_capture_mesh_m.obj",
          "meters_per_output_unit": 1.0,
          "numeric_unit": "meter",
          "schema": "org.iphonotype.object-capture-geometry/v1",
          "source_mesh_triangle_count": 34307,
          "source_mesh_vertex_count": 18024,
          "source_stage_meters_per_unit": 1.0,
          "source_to_output_scale": 1.0,
          "source_up_axis": "Y",
          "source_usdz_basename": "object_capture_mesh.usdz"
        },
        "units": "m"
      },
      "label": "iphone17",
      "metrics": {
        "cad_to_scan": {
          "count": 100000,
          "max_mm": 8.403511,
          "mean_mm": 2.241916,
          "median_mm": 1.540587,
          "p90_mm": 5.343212,
          "p95_mm": 5.719246,
          "rmse_mm": 2.852159
        },
        "primary_definition": "area_uniform_triangle_surface_to_surface",
        "scan_to_cad": {
          "count": 100000,
          "max_mm": 6.639927,
          "mean_mm": 1.497688,
          "median_mm": 1.337167,
          "p90_mm": 2.687669,
          "p95_mm": 3.123167,
          "rmse_mm": 1.716243
        },
        "symmetric_mean_mm": 1.869802,
        "thresholds": {
          "1mm": {
            "cad_completeness_pct": 27.75,
            "fscore_pct": 29.71824,
            "scan_precision_pct": 31.987
          },
          "2mm": {
            "cad_completeness_pct": 61.869,
            "fscore_pct": 67.820958,
            "scan_precision_pct": 75.04
          },
          "5mm": {
            "cad_completeness_pct": 85.446,
            "fscore_pct": 92.136605,
            "scan_precision_pct": 99.964
          }
        }
      },
      "registration_provenance": {
        "fixed_native_units_per_mm": 0.001,
        "fixed_transform_validation": {
          "fixed_native_units_per_mm": 0.001,
          "rotation_determinant": 0.9999999999999999,
          "rotation_orthogonality_max_abs_error": 1.4017781825651003e-16
        },
        "free_scale_applied": false,
        "matched_point_count": 16,
        "matched_tag_count": 4,
        "matched_tag_ids": [
          12,
          13,
          26,
          27
        ],
        "maximum_reprojection_rmse_px": 5.320205030272734,
        "metric_recovery_method": "apriltag36h11_multiview_metric_rigid",
        "metric_recovery_route": {
          "matched_point_count": 16,
          "matched_tag_count": 4,
          "minimum_views_per_corner": 44,
          "residual_p95_mm": 1.856305349121111,
          "residual_rmse_mm": 1.5277605301124566,
          "route": "direct_multiview_apriltag"
        },
        "metric_scale_verified": true,
        "minimum_views_per_corner": 44,
        "postprocess_algorithm_version": "2.1.0",
        "postprocess_schema": "org.iphonotype.calibration-reconstruction-postprocess/v1",
        "registration_model": "metric-rigid",
        "reprojection_rmse_px_by_tag": {
          "12": 5.320205030272734,
          "13": 4.186726437953325,
          "26": 4.924858359400328,
          "27": 4.660267845489847
        },
        "residual_p95_mm": 1.856305349121111,
        "residual_rmse_mm": 1.5277605301124566,
        "unconstrained_scale_bias_pct": 2.5837520518682933
      },
      "trait_recovery": {
        "reason": "This strict scorer reports geometric error only; organ recovery requires the separate component-trait benchmark.",
        "status": "not_computed"
      }
    }
  ],
  "cohort_validation": {
    "all_four_target_tags_required": true,
    "all_metric_scale_verified": true,
    "candidate_count": 3,
    "postprocess_algorithm_version": "2.1.0",
    "registration_routes": [
      "apriltag36h11_multiview_metric_rigid"
    ]
  },
  "comparison_contract": {
    "distance": "exact Euclidean nearest-neighbour via scipy.spatial.cKDTree",
    "global_scale_fitted": false,
    "icp_performed_by_scorer": false,
    "input_frame": "calibration_canonical_metric",
    "primary_sampling": {
      "candidate_seed": 20260812,
      "method": "triangle-area-uniform barycentric sampling with numpy PCG64",
      "reference_seed": 20260811,
      "same_candidate_seed_for_every_device": true,
      "sample_count_per_surface": 100000
    },
    "publication_gates": {
      "allowed_metric_rigid_routes": [
        "apriltag36h11_multiview_metric_rigid",
        "verified_tag_frame_camera_trajectory_bridge_metric_rigid"
      ],
      "canonical_transform_scale_native_units_per_mm": 0.001,
      "geometry_extraction_scale": 1.0,
      "maximum_apriltag_rigid_fit_p95_mm": 3.0,
      "maximum_apriltag_rigid_fit_rmse_mm": 2.0,
      "maximum_tag_reprojection_rmse_px": 8.0,
      "minimum_views_per_corner": 2,
      "native_object_capture_meters_per_unit": 1.0,
      "required_apriltag_ids": [
        12,
        13,
        26,
        27
      ],
      "trajectory_bridge": {
        "allowed_free_scale_diagnostic_range": [
          0.9,
          1.1
        ],
        "free_scale_applied": false,
        "maximum_inlier_p95_mm": 3.0,
        "maximum_inlier_rmse_mm": 2.0,
        "minimum_baseline_mm": 80.0,
        "minimum_camera_matches": 8,
        "minimum_inlier_fraction": 0.7,
        "required_artifact_hashes": [
          "source_tag_report",
          "source_camera_poses",
          "target_camera_poses"
        ]
      }
    },
    "registration_performed_by_scorer": false,
    "scoring_units": "millimeters",
    "similarity_rescaling": false,
    "transform_applied_by_scorer": "identity",
    "whole_target_icp": false
  },
  "limitations": [
    "The CAD is a nominal corrected scan-visible reference, not a CMM measurement of the printed specimen.",
    "Primary nearest-neighbour results use fixed-seed finite surface samples and therefore retain small Monte Carlo sampling uncertainty.",
    "Metrics represent complete capture-and-reconstruction pipelines, not sensor-only error.",
    "No volume bias is reported because the reference is a non-Boolean scan-surface assembly."
  ],
  "publication_safety": {
    "absolute_input_paths_included": false,
    "artifact_identity": "basename, byte count, and SHA-256 only"
  },
  "reference_supported_organ_recovery_plan": {
    "downstream_implementation": "benchmark_calibration_target_traits.py canonical-input route",
    "execution_status": "pending_common_downstream_run",
    "expected_counts_from_manifest": {
      "compound_leaves": 4,
      "fruits": 5,
      "leaflets": 44
    },
    "global_similarity_rescaling": false,
    "global_transform": "identity; use the same canonical vertices scored above",
    "headline_definition": "Count an expected CAD organ as reference-supported only when its fixed-frame CAD surface has at least 18% coverage within 2 mm and at least six canonical scan vertices within 5 mm.",
    "interpretation": "This is expected-organ support, not blind instance segmentation. Nearby organs can share support, and unexpected extra organs are not discovered.",
    "label_source": "target_manifest.reference_parts and module_id; CAD-conditioned labels are preserved",
    "local_fit_policy": "Per-organ local similarity may remain a clearly labelled CAD-conditioned pose/size diagnostic, but it must not determine the fixed-frame presence coverage or headline recovery count.",
    "presence_thresholds": {
      "assignment_distance_mm": 5.0,
      "minimum_assigned_scan_vertices": 6,
      "minimum_reference_coverage_pct": 18.0,
      "reference_coverage_distance_mm": 2.0,
      "strong_support_minimum_coverage_pct": 45.0
    },
    "whole_target_icp": false
  },
  "schema": "org.iphonotype.metric-canonical-mesh-comparison/v2",
  "status": "complete",
  "target": {
    "coordinate_frame": "canonical_export_z_up",
    "expected_apriltag_ids": [
      12,
      13,
      26,
      27
    ],
    "id": "PF-T31-00001059-C694BB02",
    "manifest": {
      "basename": "pf-t31-00001059-c694bb02_FULL_BORE_v1_target_manifest.json",
      "bytes": 5030714,
      "sha256": "33d4a7c65ed646eb4ac6be7ae9acd04fcb319e2eb2f7971da5f2128f63c97ee0"
    },
    "nominal_bounds_mm": {
      "max": [
        75.0,
        75.0,
        162.468455
      ],
      "min": [
        -75.0,
        -75.0,
        0.0
      ],
      "span": [
        150.0,
        150.0,
        162.468455
      ]
    },
    "physical_metrology": "not_available_combined_print_assembly_reconstruction_error",
    "reference": {
      "basename": "pf-t31-00001059-c694bb02_FULL_BORE_v1_as-built-reference.stl",
      "bytes": 2781184,
      "primary_sample_definition": "deterministic triangle-area-uniform barycentric samples",
      "primary_surface_sample_count": 100000,
      "sha256": "05cf18cf56a905a9cb18853ef8bc2fda7506986340b02a7dadff85a961fae38a",
      "triangle_count": 55622,
      "units": "mm"
    },
    "volume_bias_eligible": false
  },
  "tool": {
    "name": "score_metric_canonical_calibration_meshes.py",
    "version": "1.2.0"
  }
}
