5 Replies Latest reply on May 16, 2017 1:52 AM by Talha111

    queryPoints() | alias has value LANDMARK_NOT_NAMED

    Talha111

      Hey everbody,

       

      after calling the function queryLandmarks() and queryPoints(out points) I'm trying to use the Landmark names(alias) to analyse certrain face features. Unfortunately all 78 Landmarks get the name Landmark_Not_Named. According to the documentation only some enum LandmarkTypes which don't have a value are supposed to get Not_Named.

       

      I also found another Question posted last year. Not sure if anything has changed. Does anyone have any further information or a better idea to work around it?

      Bug: LandMarkPointSource::alias has value LANDMARK_NOT_NAMED for all face landmarks (SDK v10)

      [...]
      var ldata = face.QueryLandmarks();
                              PXCMFaceData.LandmarkPoint[] points;
      
      
                              if (ldata != null)
                              {
                                  ldata.QueryPoints(out points);
      
      
                                  if (points != null)
                                  {
                                      DrawLandmark(f);
                                      //fake check
                                      int cntLm = 0;
                                      foreach (PXCMFaceData.LandmarkPoint pnt in points)
                                      {
                                          LandMarkPoint LP = new LandMarkPoint();
                                          LP.ColorImageCoordinate = new IntPoint((int)pnt.image.x, (int)pnt.image.y);
                                          LP.WorldCoordinate = new NamedVector3D() { X = pnt.world.x, Y = pnt.world.y, Z = pnt.world.z, Name = LP.Name };
                                  
                                          if (pnt.source.alias != PXCMFaceData.LandmarkType.LANDMARK_NOT_NAMED)
                                          {
                                              LP.Name = pnt.source.alias.ToString();
                                          }
                                          else
                                          {
                                              cntLm++;
                                              LP.Name = pnt.source.alias.ToString() + "_" + cntLm.ToString();
                                          }
                                          myFaceInfo.Landmarks.Add(LP.Name, LP);
                                      }
      [...]