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.
Last updated