Interface FaceRegistrationServices


public interface FaceRegistrationServices
Services for registering (mutually align) faces.
  • Method Summary

    Modifier and Type
    Method
    Description
    alignFeaturePoints(HumanFace staticFace, HumanFace transformedFace, boolean scale)
    Transforms the second face so that its feature points best fit the position of corresponding feature points of the first face.
    static void
    alignMeshes(HumanFace transformedFace, IcpConfig icpConfig)
    Superimpose given face to the face included in the ICP configuration object.
    static void
    alignSymmetryPlanes(HumanFace staticFace, HumanFace transformedFace, boolean preserveUpDir)
    Transforms one face so that its symmetry plane fits the symmetry plane of the other face.
    static void
    transformFace(HumanFace face, javax.vecmath.Vector3d rotation, javax.vecmath.Vector3d translation, double scale)
    Transform the face "manually".
    static Plane
    transformPlane(Plane plane, Quaternion rot, javax.vecmath.Vector3d translation, double scale)
    Deprecated.
  • Method Details

    • alignMeshes

      static void alignMeshes(HumanFace transformedFace, IcpConfig icpConfig)
      Superimpose given face to the face included in the ICP configuration object.
      Parameters:
      transformedFace - A face to be transformed.
      icpConfig - ICP configuration
    • transformFace

      static void transformFace(HumanFace face, javax.vecmath.Vector3d rotation, javax.vecmath.Vector3d translation, double scale)
      Transform the face "manually".
      Parameters:
      face - Face to be transformed.
      rotation - Rotation vector denoting the rotation angle around axes X, Y, and Z.
      translation - Translation vector denoting the translation in the X, Y, and Z direction.
      scale - Scale factor (1 = no scale).
    • alignSymmetryPlanes

      static void alignSymmetryPlanes(HumanFace staticFace, HumanFace transformedFace, boolean preserveUpDir)
      Transforms one face so that its symmetry plane fits the symmetry plane of the other face. Symmetry planes must be computed in advance!
      Parameters:
      staticFace - a human face that remains unchanged
      transformedFace - a human face that will be transformed
      preserveUpDir - If false, then the object can be rotated around the target's normal arbitrarily.
      Throws:
      NullPointerException - if the symmetry planes are missing.
    • alignFeaturePoints

      static PrTransformation alignFeaturePoints(HumanFace staticFace, HumanFace transformedFace, boolean scale)
      Transforms the second face so that its feature points best fit the position of corresponding feature points of the first face.
      Parameters:
      staticFace - a human face that remains unchanged
      transformedFace - a human face that will be transformed
      scale - Whether to scale faces as well
    • transformPlane

      @Deprecated static Plane transformPlane(Plane plane, Quaternion rot, javax.vecmath.Vector3d translation, double scale)
      Deprecated.
      Transforms the whole plane, i.e., its normal and position. TO DO: Remove or move to appropriate interface.
      Parameters:
      plane - plane to be transformed
      rot - rotation
      translation - translation
      scale - scale
      Returns:
      transformed plane