Watcher
Watcher objects are plain object descriptors providing Lampix with the required information to start watching areas based on the behaviors described.
Properties
name
(string): Literal string describing the Python class to instantiate and define the watcher's behavior (e.g'NeuralNetworkClassifier'
,'MovementBasedSegmenter'
etc.).shape
(Object): Plain object with two properties,type
andshape
that defines the surface area for the watcher.type
(string): Defines shape type, and controls what the expected structure ofshape.data
will be. Accepted values:'rectangle'
'polygon'
data
(Object): Actual descriptor object for the contour of the watcher.If
shape.type
is'rectangle'
, the expected data structure is:posX
(number): top left X coordinate of rectangleposY
(number): top left Y coordinate of rectanglewidth
(number)height
(number)
If
shape.type
is'polygon'
, a list of points is expected, with each point having the following data structure:x
(number): X coordinate of pointy
(number): Y coordinate of point
onClassification
(Function): Callback used by Lampix to send information about recognized objects as a list with with recognized objects of the following structure:classTag
(string): Recognized class of the described object.objectId?
(number, Optional): ID representing the object. Useful when determining whether Lampix considers an object as new.outline?
(Array, Optional): Object with a property ofpoints
that describes the contour of the object as a polygon:metadata?
(string, Optional): Watcher specific information
onLocation
(Function): Callback used only by watchers that locate first, then classify. Called with a list of located objects that with a similar structure to the one above, exceptclassTag
is not mentioned since it has not been determined at the time of this call.params?
(Object): Plain object with arbitrary props that can differ from watcher to watcher. See standard watchers
Notes
The only required property is classTag
. Certain watchers that do not support more than one object at a time (e.g NeuralNetworkClassifier
), will always provide a list with one recognized object that only has the classTag
property. This is by design, to ensure consistency in the data format returned by the standard watchers.
Example
Tips
In the example above, you can use shape: lampix.helpers.rectangle(0, 0, window.innerWidth, window.innerHeight)
to achieve the same result.
Last updated