{
    "types": {
        "box_row": [
            "T[float]",
            "T[float]",
            "T[float]",
            "T[float]",
            "T[float]",
            "T[integer]"
        ],
        "tracked_box_row": [
            "T[float]",
            "T[float]",
            "T[float]",
            "T[float]",
            "T[integer]",
            "T[float]",
            "T[integer]"
        ],
        "boxes": {
            "data": [
                "T[box_row] | T[tracked_box_row]"
            ]
        },
        "point": "T[float_pair]",
        "contour": [
            "T[point]"
        ],
        "masks": {
            "data": [
                [
                    [
                        "T[number]"
                    ]
                ]
            ],
            "xy": [
                "T[contour]"
            ],
            "xyn": [
                "T[contour]"
            ]
        }
    },
    "enums": {},
    "structure": {
        "orig_shape": [
            "T[integer]",
            "T[integer]"
        ],
        "path": "T[string]",
        "names": "T[object]",
        "boxes": "T[boxes]",
        "masks": "T[masks] | T[null]"
    },
    "notes": {
        "scope": "Relevant public prediction fields of Results, not a JSON serialization or a complete inventory of object attributes. Batched prediction returns a list; stream=True returns a generator.",
        "box_columns": "x1, y1, x2, y2, confidence, class; tracking inserts track_id between y2 and confidence. IDs are numeric entries in the tensor, not separate integer arrays.",
        "coordinates": "boxes.data uses original-image pixel corners; orig_shape is (height, width). Class index meanings come from names.",
        "empty": "boxes.data has zero rows for no detections.",
        "masks": "Default mask grid follows the preprocessed inference image, which may include letterbox padding. retina_masks=True uses original-image dimensions. masks.xy and masks.xyn map contours to original pixel and normalized coordinates respectively; they are not the binary mask grid. No predictions sets masks=None.",
        "id": "ultralytics-segment-results",
        "models": [
            "YOLO11-seg",
            "YOLO26-seg"
        ],
        "serialization": "Python object / tensors",
        "producer": "YOLO.predict(...): one Results object per image",
        "sources": [
            {
                "url": "https://github.com/ultralytics/ultralytics/blob/8a55f07e379d0d0f66cc23d09e35f54588fd1435/ultralytics/engine/results.py",
                "revision": "8a55f07e379d0d0f66cc23d09e35f54588fd1435"
            },
            {
                "url": "https://github.com/ultralytics/ultralytics/blob/8a55f07e379d0d0f66cc23d09e35f54588fd1435/ultralytics/utils/__init__.py",
                "revision": "8a55f07e379d0d0f66cc23d09e35f54588fd1435"
            },
            {
                "url": "https://github.com/ultralytics/ultralytics/blob/8a55f07e379d0d0f66cc23d09e35f54588fd1435/ultralytics/models/yolo/segment/predict.py",
                "revision": "8a55f07e379d0d0f66cc23d09e35f54588fd1435"
            }
        ],
        "representation": "Arrays describe tensor/ndarray dimensions, and objects describe public attributes. Actual values remain Python objects, tensors and arrays, not JSON. names is a dictionary mapping integer class indices to strings.",
        "numeric_storage": "Box tensors store floating-point entries, including class and tracking IDs. Those ID columns are declared integer because that is their expected safe cast target. Storage precision depends on the producer/runtime; consumers must preserve ID values during conversion."
    }
}
