{ "scope": "bottom_view_candidate", "coordinate_policy": "relative_origin_from_leftmost_vertical_line_top_point", "primitive_counts": { "line": 3, "circle": 0, "arc": 0, "spline": 0, "total": 3 }, "line_direction_counts": { "horizontal": 2, "vertical": 1, "diagonal": 0, "unknown": 0 }, "relative_line_coordinates": { "ok": true, "origin_rule": "leftmost_vertical_line_top_point", "origin": { "x": 45.99011440710511, "y": 218.64921037477686, "source_handles": [ "195" ], "line": { "start": [ 45.99011440710511, 168.64921037477686 ], "end": [ 45.99011440710511, 218.64921037477686 ], "length": 50, "angle_deg": 90 } }, "line_count": 4, "bucket_size": 1, "relative_midpoints": [ { "index": 3, "source_handles": [ "195" ], "x": 0, "y": -25, "x_bucket": 0, "y_bucket": -25, "midpoint_key": "X0|Y-25" }, { "index": 4, "source_handles": [ "196" ], "x": 0, "y": -75, "x_bucket": 0, "y_bucket": -75, "midpoint_key": "X0|Y-75" }, { "index": 1, "source_handles": [ "163" ], "x": 3.5000000000000036, "y": 0, "x_bucket": 4, "y_bucket": 0, "midpoint_key": "X4|Y0" }, { "index": 2, "source_handles": [ "166" ], "x": 3.5000000000000036, "y": -99.99999999999999, "x_bucket": 4, "y_bucket": -100, "midpoint_key": "X4|Y-100" } ], "relative_midpoint_histogram": { "x0|y-25": 1, "x0|y-75": 1, "x4|y-100": 1, "x4|y0": 1 }, "lines": [ { "index": 3, "source_handles": [ "195" ], "direction_class": "vertical", "angle_deg": 90, "length": 50, "length_bucket": 50, "relative_start": [ 0, -50 ], "relative_end": [ 0, 0 ], "relative_midpoint": [ 0, -25 ], "relative_mid_x": 0, "relative_mid_y": -25, "relative_mid_x_bucket": 0, "relative_mid_y_bucket": -25, "midpoint_key": "X0|Y-25", "feature_key": "vertical|L50|X0|Y-25" }, { "index": 4, "source_handles": [ "196" ], "direction_class": "vertical", "angle_deg": 90, "length": 49.999999999999986, "length_bucket": 50, "relative_start": [ 0, -99.99999999999999 ], "relative_end": [ 0, -50 ], "relative_midpoint": [ 0, -75 ], "relative_mid_x": 0, "relative_mid_y": -75, "relative_mid_x_bucket": 0, "relative_mid_y_bucket": -75, "midpoint_key": "X0|Y-75", "feature_key": "vertical|L50|X0|Y-75" }, { "index": 1, "source_handles": [ "163" ], "direction_class": "horizontal", "angle_deg": 0, "length": 7.000000000000007, "length_bucket": 7, "relative_start": [ 7.000000000000007, 0 ], "relative_end": [ 0, 0 ], "relative_midpoint": [ 3.5000000000000036, 0 ], "relative_mid_x": 3.5000000000000036, "relative_mid_y": 0, "relative_mid_x_bucket": 4, "relative_mid_y_bucket": 0, "midpoint_key": "X4|Y0", "feature_key": "horizontal|L7|X4|Y0" }, { "index": 2, "source_handles": [ "166" ], "direction_class": "horizontal", "angle_deg": 0, "length": 7.000000000000007, "length_bucket": 7, "relative_start": [ 0, -99.99999999999999 ], "relative_end": [ 7.000000000000007, -99.99999999999999 ], "relative_midpoint": [ 3.5000000000000036, -99.99999999999999 ], "relative_mid_x": 3.5000000000000036, "relative_mid_y": -99.99999999999999, "relative_mid_x_bucket": 4, "relative_mid_y_bucket": -100, "midpoint_key": "X4|Y-100", "feature_key": "horizontal|L7|X4|Y-100" } ], "feature_histogram": { "horizontal|l7|x4|y-100": 1, "horizontal|l7|x4|y0": 1, "vertical|l50|x0|y-25": 1, "vertical|l50|x0|y-75": 1 } }, "line_length_histogram": { "7": 2, "100": 1 }, "line_length_stats": { "count": 3, "min": 7.000000000000007, "max": 99.99999999999999, "sum": 114, "avg": 38 }, "circle_radius_histogram": {}, "circle_radius_stats": { "count": 0 }, "arc_radius_histogram": {}, "arc_radius_stats": { "count": 0 }, "arc_sweep_angle_histogram": {}, "arc_length_histogram": {}, "matching_primary_fields": [ "kind", "length", "radius", "diameter", "arc_length", "sweep_angle", "direction_class", "angle_deg", "relative_start", "relative_end", "relative_midpoint" ], "matching_excluded_primary_fields": [ "start", "end", "center", "absolute_start", "absolute_end" ], "normalization_summary": { "scope": "bottom_view_candidate", "raw_geometry_count": 4, "normalized_primitive_count": 4, "normalized_line_count": 4, "merged_line_count": 3, "overlap_group_count": 0, "angle_tolerance_deg": 1, "collinear_distance_tolerance": 0.05, "gap_tolerance": 0.05, "merge_policy": "strong_only_same_style_collinear_interval_union" }, "source_handle_count": 4, "raw_geometry_count": 4 }