{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.mpai.community/AIF/V2.0/AIW-AIM-metadata.schema.json",
  "$id": "https://schemas.mpai.community/OSD/V1.3/AIMs/VisualObjectIdentification.json",
  "title": "VisualObjectIdentification",
  "Identifier": {
    "ImplementerID": "/* String assigned by IIDRA */",
    "Specification": {
      "Standard": "MPAI-OSD",
      "AIW": "",
      "AIM": "VisualObjectIdentification",
      "Version": "V1.3"
    }
  },
  "Description": "This AIM provides the ID of the Instance of the Visual Spatial Object indicated by a human or avatar.",
  "Types": [
    {
      "Name": "BodyDescriptors_t",
      "Type": "uint8[]}"
    },
    {
      "Name": "VisualSceneGeometry_t",
      "Type": "uint8[]}"
    },
    {
      "Name": "VisualObject_t",
      "Type": "uint8[]"
    },
    {
      "Name": "InstanceID_t",
      "Type": "uint8[]"
    }
  ],
  "Ports": [
    {
      "Name": "BodyDescriptors",
      "Direction": "InputOutput",
      "RecordType": " BodyDescriptors_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualSceneGeometry",
      "Direction": "InputOutput",
      "RecordType": "VisualSceneGeometry_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualObject",
      "Direction": "InputOutput",
      "RecordType": "VisualObject_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualInstanceID",
      "Direction": "OutputInput",
      "RecordType": "InstanceID_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    }
  ],
  "SubAIMs": [
    {
      "Name": "VisualDirectionIdentification",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-OSD",
          "AIW": "",
          "AIM": "VisualDirectionIdentification",
          "Version": "V1.1"
        }
      }
    },
    {
      "Name": "VisualObjectExtraction",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-OSD",
          "AIW": "",
          "AIM": "VisualObjectExtraction",
          "Version": "V1.3"
        }
      }
    },
    {
      "Name": "ObjectInstanceIdentification",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-OSD",
          "AIW": "",
          "AIM": "VisualInstanceIdentification",
          "Version": "V1.3"
        }
      }
    }
  ],
  "Topology": [
    {
      "Output": {
        "AIMName": "",
        "PortName": "BodyDescriptors"
      },
      "Input": {
        "AIMName": "ObjectDirectionIdentification",
        "PortName": "BodyDescriptors"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "VisualSceneGeometry"
      },
      "Input": {
        "AIMName": "ObjectDirectionIdentification",
        "PortName": "VisualSceneGeometry1"
      }
    },


    {
      "Output": {
        "AIMName": "ObjectDirectionIdentification",
        "PortName": "PointOfView"
      },
      "Input": {
        "AIMName": "VisualObjectExtraction",
        "PortName": "PointOfView"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "VisualSceneGeometry2"
      },
      "Input": {
        "AIMName": "VisualObjectExtraction",
        "PortName": "VisualSceneGeometry2"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "VisualObject"
      },
      "Input": {
        "AIMName": "VisualObjectExtraction",
        "PortName": "VisualObject"
      }
    },


    {
      "Output": {
        "AIMName": "VisualObjectExtraction",
        "PortName": "VisualObject"
      },
      "Input": {
        "AIMName": "VisualInstanceIdentification",
        "PortName": "VisualObject"
      }
    },


    {
      "Output": {
        "AIMName": "VisualDirectionIdentification",
        "PortName": "VisualInstanceID"
      },
      "Input": {
        "AIMName": "",
        "PortName": "VisualInstanceID"
      }
    }
  ],
  "Implementations": [],
  "Documentation": [
    {
      "Type": "Tutorial",
      "URI": "https://mpai.community/standards/mpai-osd/"
    }
  ]
}