function OutputDetection( config ) {

	// OutputDetection inherits from abstract layer "NativeLayer".

	NativeLayer.call( this, config );

	/**
	 * OutputDetection has three output dimensions: [ width, height, depth ]
	 *
	 * @type { int }
	 */

	this.width = undefined;
	this.height = undefined;
	this.depth = 3;

	/**
	 * Store outputMap handler.
	 *
	 * @type { Object }
	 */

	this.outputHandler = undefined;

	/**
	 * Store rectangle parameters drawn on it.
	 * Each rectangle has a JSON parameter, the parameter is like:
	 * {
	 * 		x: x,
	 * 		y: y,
	 * 		width: width,
	 * 		height: height,
	 * }
	 *
	 * @type { Array }
	 */

	this.rectangleList = [];

	/**
	 * Label to define whether layer need an "output value" from backend model (tfjs, keras, or tf).
	 * True means that user do not need to add value for OutputDetection value when they are preprocessing multi-output for the model.
	 *
	 * @type { boolean }
	 */

	this.autoOutputDetect = true;

	this.layerType = "OutputDetection";

}
OutputDetection, output layer, can be initialized by TensorSpace user.

2D output, shape is the same as input, can draw rectangles on it, can be used to show object detection result.

@param config, user's configuration for OutputDetection.
@constructor