Skip to content

JSON message formats in the pipeline

mihai-trascau edited this page May 4, 2013 · 4 revisions

This page describes the formats of the JSON messages that are passed through the pipeline.

Kinect skeleton measurement

{ "description" : "Example of JSON message for the kinect skeleton measurement",
"type" : "object",
"properties" : {
	"created_at" : {
		"title" : "Specifies the creation timestamp of the measurement",
		"type"	: "number",
		"required" : "true"
	},
	"context" : {
		"title" : "Specifies the context of the measurement",
		"type"	: "string",
		"required" : "true"
	},
	"sensor_type" : {
		"title" : "Specifies the type of sensor (normally 'kinect')",
		"type"	: "string",
		"required" : "true"
	},
	"sensor_id" : {
		"title" : "Specifies the id of the sensor",
		"type"	: "string",
		"required" : "true"
	},
	"sensor_position" : {
		"title" : "Specifies the position of the sensor wrt the room",
		"type"	: "object",
		"required" : "true",
		"properties" : {
			"X"	: { "title" : "Coordinate X of sensor in the room space", "type" : "number", "required" : "true" },
			"Y"	: { "title" : "Coordinate Y of sensor in the room space", "type" : "number", "required" : "true" },
			"Z"	: { "title" : "Coordinate Z of sensor in the room space", "type" : "number", "required" : "true" },
			"alpha"	: { "title" : "Angle alpha of sensor in the room space",  "type" : "number", "required" : "true" },
			"beta"	: { "title" : "Angle beta of sensor in the room space",   "type" : "number", "required" : "true" },
			"gamma"	: { "title" : "Angle gamma of sensor in the room space",  "type" : "number", "required" : "true" }
		}
	},
	"player" : {
		"title" : "Specifies the id of the player (XnUserID)",
		"type"	: "number",
		"required" : "true"
	},
	"type" : {
		"title" : "Specifies the measurement type",
		"type"	: "string",
		"required" : "true"
	},
	"skeleton_3D" : {
		"title" : "Specifies the 3D joints",
		"type"	: "object",
		"required" : "true",
		"properties" : {
			"head" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"neck" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"left_shoulder" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"right_shoulder" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"left_elbow" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"right_elbow" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"left_hand" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"right_hand" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"torso" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"left_hip" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"right_hip" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"left_knee" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"right_knee" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"left_foot" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			},
			"right_foot" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
				"Z" : { "type" : "number", "required" : "true"}
			}			
		}
	},
	"skeleton_2D" : {
		"title" : "Specifies the 2D joints",
		"type"	: "object",
		"required" : "true",
		"properties" : {
			"head_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"neck_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"left_shoulder_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"right_shoulder_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"left_elbow_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"right_elbow_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"left_hand_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"right_hand_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"torso_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"left_hip_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"right_hip_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"left_knee_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"right_knee_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"left_foot_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			},
			"right_foot_2D" : { "type" : "object", "required" : "true", "properties" : { 
				"X" : { "type" : "number", "required" : "true"},
				"Y" : { "type" : "number", "required" : "true"},
			}			
		}
	}
}}

Kinect image measurement (RGB or depth)

{ "description" : "Example of JSON message for the kinect image measurement",
"type" : "object",
"properties" : {
	"created_at" : {
		"title" : "Specifies the creation timestamp of the measurement",
		"type"	: "number",
		"required" : "true"
	},
	"context" : {
		"title" : "Specifies the context of the measurement",
		"type"	: "string",
		"required" : "true"
	},
	"sensor_type" : {
		"title" : "Specifies the type of sensor (normally \"kinect\")",
		"type"	: "string",
		"required" : "true"
	},
	"sensor_id" : {
		"title" : "Specifies the id of the sensor",
		"type"	: "string",
		"required" : "true"
	},
	"sensor_position" : {
		"title" : "Specifies the position of the sensor wrt the room",
		"type"	: "object",
		"required" : "true",
		"properties" : {
			"X"	: { "title" : "Coordinate X of sensor in the room space", "type" : "number", "required" : "true" },
			"Y"	: { "title" : "Coordinate Y of sensor in the room space", "type" : "number", "required" : "true" },
			"Z"	: { "title" : "Coordinate Z of sensor in the room space", "type" : "number", "required" : "true" },
			"alpha"	: { "title" : "Angle alpha of sensor in the room space",  "type" : "number", "required" : "true" },
			"beta"	: { "title" : "Angle beta of sensor in the room space",   "type" : "number", "required" : "true" },
			"gamma"	: { "title" : "Angle gamma of sensor in the room space",  "type" : "number", "required" : "true" }
		}
	},
	"type" : {
		"title" : "Specifies the measurement type",
		"type"	: "string",
		"enum" : [ "image_depth", "image_rgb" ],
		"required" : "true"
	},
	"image_depth" : {
		"title" : "Specifies a depth image measurement",
		"type"	: "object",
		"optional" : "true",
		"properties" : {
			"encoder_name" : { "title" : "Type of the encoder for the image measurement (only jpg for now)", 
					   "type"  : "string",
					   "enum"  : [ "jpg" ],
					   "required" : "true"
			},
			"image" : { "title" : "Encoded image content",
				    "type"  : "string",
				    "required" : "true"
			},
			"width" : { "title" : "Width of the encoded image",
				    "type"  : "number",
				    "required" : "true"
			},
			"height" : { "title" : "Height of the encoded image",
				    "type"  : "number",
				    "required" : "true"
			}
		}
	},
	"image_depth" : {
		"title" : "Specifies a RGB image measurement",
		"type"	: "object",
		"optional" : "true",
		"properties" : {
			"encoder_name" : { "title" : "Type of the encoder for the image measurement (only jpg for now)", 
					   "type"  : "string",
					   "enum"  : [ "jpg" ],
					   "required" : "true"
			},
			"image" : { "title" : "Encoded image content",
				    "type"  : "string",
				    "required" : "true"
			},
			"width" : { "title" : "Width of the encoded image",
				    "type"  : "number",
				    "required" : "true"
			},
			"height" : { "title" : "Height of the encoded image",
				    "type"  : "number",
				    "required" : "true"
			}
		}
	}
}}

Arduino board sensors measurement

{ "description" : "Example of JSON message for the Arduino board measurements",
"type" : "object",
"properties" : {
	
	"sensor_type" : {
		"title" : "Specifies the sensor type",
		"type" : "string",
		"required" : "true",
		"enum" : [ "arduino" ]
	},
	"sensor_id" : {
		"title" : "Specifies the sensor id",
		"type" : "number",
		"required" : "true",
	},
	"type" : {
		"title" : "Specifies the type of measurement (coming from the measurement payload)",
		"type" : "string",
		"required" : "true",
		"enum" : ["temperature", "luminosity", "sharp_data"]
	},	
	"data" : {
		"title" : "Specifies the measurement payload",
		"type" : "object",
		"required" : "true",
		"properties" : {
			"temperature" : {
				"title" : "Specifies the measured temperature value (SHT15)",
				"type" : "number",
				"optional" : "true"
			},
			"luminosity" : {
				"title" : "Specifies the measured luminosity value",
				"type" : "integer",
				"optional" : "true"
			},
			"sharp_data" : {
				"title" : "Specifies the measured ??? value",
				"type" : "integer",
				"optional" : "true"
			}
		}
	}	
}}