Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.
added in API level 8

GestureUtils

public final class GestureUtils
extends Object

java.lang.Object
   ↳ android.gesture.GestureUtils


Utility functions for gesture processing & analysis, including methods for:

  • feature extraction (e.g., samplers and those for calculating bounding boxes and gesture path lengths);
  • geometric transformation (e.g., translation, rotation and scaling);
  • gesture similarity comparison (e.g., calculating Euclidean or Cosine distances between two gestures).

Summary

Public methods

static OrientedBoundingBox computeOrientedBoundingBox(ArrayList<GesturePoint> originalPoints)

Computes an oriented, minimum bounding box of a set of points.

static OrientedBoundingBox computeOrientedBoundingBox(float[] originalPoints)

Computes an oriented, minimum bounding box of a set of points.

static float[] spatialSampling(Gesture gesture, int bitmapSize)

Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap.

static float[] spatialSampling(Gesture gesture, int bitmapSize, boolean keepAspectRatio)

Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap.

static float[] temporalSampling(GestureStroke stroke, int numPoints)

Samples a stroke temporally into a given number of evenly-distributed points.

Inherited methods

Public methods

computeOrientedBoundingBox

added in API level 8
public static OrientedBoundingBox computeOrientedBoundingBox (ArrayList<GesturePoint> originalPoints)

Computes an oriented, minimum bounding box of a set of points.

Returns
OrientedBoundingBox an oriented bounding box

computeOrientedBoundingBox

added in API level 8
public static OrientedBoundingBox computeOrientedBoundingBox (float[] originalPoints)

Computes an oriented, minimum bounding box of a set of points.

Returns
OrientedBoundingBox an oriented bounding box

spatialSampling

added in API level 8
public static float[] spatialSampling (Gesture gesture, 
                int bitmapSize)

Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap. Scales the gesture to fit the size of the bitmap. The scaling does not necessarily keep the aspect ratio of the gesture.

Parameters
gesture Gesture: the gesture to be sampled

bitmapSize int: the size of the bitmap

Returns
float[] a bitmapSize x bitmapSize grayscale bitmap that is represented as a 1D array. The float at index i represents the grayscale value at pixel [i%bitmapSize, i/bitmapSize]

spatialSampling

added in API level 8
public static float[] spatialSampling (Gesture gesture, 
                int bitmapSize, 
                boolean keepAspectRatio)

Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap. Scales the gesture to fit the size of the bitmap.

Parameters
gesture Gesture: the gesture to be sampled

bitmapSize int: the size of the bitmap

keepAspectRatio boolean: if the scaling should keep the gesture's aspect ratio

Returns
float[] a bitmapSize x bitmapSize grayscale bitmap that is represented as a 1D array. The float at index i represents the grayscale value at pixel [i%bitmapSize, i/bitmapSize]

temporalSampling

added in API level 8
public static float[] temporalSampling (GestureStroke stroke, 
                int numPoints)

Samples a stroke temporally into a given number of evenly-distributed points.

Parameters
stroke GestureStroke: the gesture stroke to be sampled

numPoints int: the number of points

Returns
float[] the sampled points in the form of [x1, y1, x2, y2, ..., xn, yn]