Class FaceStateServicesImpl

java.lang.Object
cz.fidentis.analyst.engines.face.impl.FaceStateServicesImpl
All Implemented Interfaces:
FaceStateServices

public class FaceStateServicesImpl extends Object implements FaceStateServices
Services for a single human face.
  • Constructor Details

    • FaceStateServicesImpl

      public FaceStateServicesImpl()
  • Method Details

    • updateKdTree

      public void updateKdTree(HumanFace face, FaceStateServices.Mode mode)
      Manages a k-d tree storing the mesh of given human face.
      Parameters:
      face - Human face
      mode - Operation to be performed
    • updateLeftBalancedKdTree

      public void updateLeftBalancedKdTree(HumanFace face, FaceStateServices.Mode mode)
      Manages a left-balanced k-d tree storing the mesh of given human face.
      Parameters:
      face - Human face
      mode - Operation to be performed
    • updateOctree

      public void updateOctree(HumanFace face, FaceStateServices.Mode mode)
      Manages an octree storing the mesh of given human face.
      Parameters:
      face - Human face
      mode - Operation to be performed
    • updateBoundingBox

      public void updateBoundingBox(HumanFace face, FaceStateServices.Mode mode)
      Manages bounding box of the given human face.
      Parameters:
      face - Human face
      mode - Operation to be performed
    • updateGlyphs

      public void updateGlyphs(HumanFace face, FaceStateServices.Mode mode, PointSamplingConfig.Method method, int maxSamples)
      Manages glyphs of the given human face.
      Parameters:
      face - Human face
      mode - Operation to be performed
      method - Sub-sampling method
      maxSamples - Maximum number of glyphs
    • updateCurvature

      public void updateCurvature(HumanFace face, FaceStateServices.Mode mode)
      Manages curvature values of the given human face.
      Parameters:
      face - Human face
      mode - Operation to be performed
    • updateLandmarksVicinity

      public void updateLandmarksVicinity(HumanFace face, FaceStateServices.Mode mode)
      Computes vicinity of all landmarks of the given human face.
      Parameters:
      face - Human face
      mode - Operation to be performed
    • updateSymmetryPlane

      public void updateSymmetryPlane(HumanFace face, FaceStateServices.Mode mode, SymmetryConfig meshSymmetryConfig)
      Computes symmetry plane from mesh or landmarks.
      Parameters:
      face - Human face
      mode - Operation to be performed
      meshSymmetryConfig - Configuration of the mesh symmetry calculation (when needed). If null, then the symmetry plane is computed from landmarks.
    • measureSymmetry

      public MeshDistances measureSymmetry(HumanFace face, int precision)
      Measures the symmetry by reflecting the mesh over the symmetry plane, (optionally) registering the reflected mesh to the original surface, and then measuring distances of the original mesh towards the reflected mesh (excluding non-overlapping areas).
      Parameters:
      face - Human face with symmetry plane already computed
      precision - A value between 0 and 100. Zero means fast measurement when no registration is performed (only reflection of the mesh). 100 means slow but precise measurement when ICP registration is used without subsampling. The values between use ICP registration with certain level of subsampling.*
      Returns:
      Measured distances between the original mesh and its clone reflected over the symmetry plane and optionally registered using ICP. Non-overlapping areas are excluded from the measurement.
    • computeVicinity

      protected void computeVicinity(HumanFace face)
    • updateFaceFrontalDirection

      public void updateFaceFrontalDirection(HumanFace face, FaceStateServices.Mode mode)
      Computes face frontal direction.
      Parameters:
      face - Human face
      mode - Operation to be performed