FaceGesturesModule

hasEyebrowsFrowned
hasEyebrowsFrowned(face: Face): BoolSignal hasEyebrowsFrowned(face: Face, config: { observationPeriod: ?number, threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has frowned eyebrows. When specified:
  • config.threshold overrides the default threshold; the default value is 1.0.
  • config.backlash overrides the default backlash. Backlash is used to suppress unstable behavior when the eyebrow position is close to threshold.
  • config.observationPeriod sets the period over which median eyebrow positions are tracked, in milliseconds.
There is no explicit underlying driver signal for this face gesture.
hasEyebrowsRaised
hasEyebrowsRaised(face: Face): BoolSignal hasEyebrowsRaised(face: Face, config: { observationPeriod: ?number, threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has raised eyebrows. When specified:
  • config.threshold overrides the default threshold; the default value is 1.0.
  • config.backlash overrides the default backlash. Backlash is used to suppress unstable behavior when the eyebrow position is close to threshold.
  • config.observationPeriod sets the period over which median eyebrow positions are tracked, in milliseconds.
There is no explicit underlying driver signal for this face gesture.
hasLeftEyeClosed
hasLeftEyeClosed(face: Face): BoolSignal hasLeftEyeClosed(face: Face, config: { threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has its left eye open. When specified:
  • config.threshold overrides the default threshold for eye openness.
  • config.backlash sets the default backlash. Backlash is used to minimize state jitter while the openness is near the threshold value.
A signal goes ON when Face.leftEye.openness reaches config.threshold and goes OFF at config.threshold + config.backlash.
hasMouthOpen
hasMouthOpen(face: Face): BoolSignal hasMouthOpen(face: Face, config: { threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has an open mouth. When specified:
  • config.threshold overrides the default threshold for mouth openness.
  • config.backlash overrides the default backlash. Backlash is used to suppress unstable behavior when the mouth openness is close to threshold.
A signal goes ON when Face.mouth.openness reaches config.threshold and goes OFF at config.threshold - config.backlash.
hasRightEyeClosed
hasRightEyeClosed(face: Face): BoolSignal hasRightEyeClosed(face: Face, config: { threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has its right eye open. When specified:
  • config.threshold overrides the default threshold for eye openness.
  • config.backlash sets the default backlash. Backlash is used to minimize state jitter while the openness is near the threshold value.
A signal goes ON when Face.rightEye.openness reaches config.threshold and goes OFF at config.threshold + config.backlash.
isHappy
isHappy(face: Face): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is a happy face.
isKissing
isKissing(face: Face): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is a kissing face.
isLeanedBack
isLeanedBack(face: Face): BoolSignal isLeanedBack(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is leaning back. When specified:
  • config.angle overrides the default angular threshold, in radians.
  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.
A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.
isLeanedForward
isLeanedForward(face: Face): BoolSignal isLeanedForward(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is leaning forward. When specified:
  • config.angle overrides the default angular threshold, in radians.
  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.
A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.
isLeanedLeft
isLeanedLeft(face: Face): BoolSignal isLeanedLeft(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is leaning to the left. When specified:
  • config.angle overrides the default angular threshold, in radians.
  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.
A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.
isLeanedRight
isLeanedRight(face: Face): BoolSignal isLeanedRight(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is leaning to the right. When specified:
  • config.angle overrides the default angular threshold, in radians.
  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.
A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.
isSmiling
isSmiling(face: Face): BoolSignal isSmiling(face: Face, config: { lipMix: ?number, threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified face is smiling. A smile is detected when a weighted sum of lip curvatures (mouth.upperLipCurvature and mouth.lowerLipCurvature) reaches a threshold. When specified:
  • config.lipMix sets the proportion of the upper and lower lip curvatures in the sum. 0.0 is lower lip only, 1.0 is upper lip only.
  • config.threshold overrides the default threshold value for the curvature mix.
  • config.backlash overrides the default backlash. Backlash is used to suppress unstable behavior when the mixed curvature value is close to threshold.
A signal goes ON when mouth.upperLipCurvature * config.lipMix + mouth.lowerLipCurvature * (1 - config.lipMix) reaches config.threshold and goes OFF at config.threshold - config.backlash.
isSurprised
isSurprised(face: Face): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is a surprised face.
isTurnedLeft
isTurnedLeft(face: Face): BoolSignal isTurnedLeft(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal
Returns a BoolSignal that indicates whether the specified Face object is turned to the left. When specified:
  • config.angle overrides the default angular threshold, in radians.
  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.
A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.
isTurnedRight
isTurnedRight(face: Face): BoolSignal isTurnedRight(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal
Returns a BoolSignal that indicates whether the specified Face object is turned to the right. When specified:
  • config.angle overrides the default angular threshold, in radians.
  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.
A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.
onBlink
onBlink(face: Face): EventSource onBlink(face: Face, config: { threshold: ?number, backlash: ?number }): EventSource
Returns an EventSource that fires when both eyes are closed. An eye is considered closed when its openness falls below a certain configurable threshold. When specified:
  • config.threshold overrides the default threshold for determining eye openness.
  • config.backlash sets the default backlash. Backlash is used to minimize state jitter while the openness is near the threshold value.
onNod
onNod(face: Face): EventSource onNod(face: Face, config: { angle: ?number, period: ?number, swings: ?number }): EventSource
Returns an EventSource that fires immediately after a face nod is detected. A face nod is a series of consecutive head swing down and up, the first movement is downwards. A swing is detected if the head rotates around the X axis by the specified threshold angle within the specified period of time. The threshold, the period and the number of swings can be configured. When specified:
  • config.angle sets the minimum rotation for one swing, in radians.
  • config.period sets the maximum time limit for one swing, in milliseconds.
  • config.swings sets the count of consecutive alternating swings after which the gesture is detected.
onShake
onShake(face: Face): EventSource onShake(face: Face, config: { angle: ?number, period: ?number, swings: ?number }): EventSource
Returns an EventSource that fires immediately after a face shake is detected. A face shake is a series of consecutive head swings right and left. A swing is detected if the head rotates around the Y axis by the specified threshold angle within the specified period of time. The threshold, the period and the number of swings can be configured. When specified:
  • config.angle sets the minimum rotation for one swing, in radians.
  • config.period sets the maximum time limit for one swing, in milliseconds.
  • config.swings sets the count of consecutive alternating swings after which the gesture is detected.