2 Replies Latest reply on Jul 14, 2015 1:57 PM by george.profenza

    Questions for the Intel RealSense SDK Java/Processing wrapper




      I've just started playing with the F200 camera and I have a few initial questions as I began with the Java Wrapper:

      1. Is the Processing Wrapper the same thing as the Java library ? (It appears this way, but I could use a confirmation)
      2. How can I retrieve the Face landmarks using Java ? (snippet bellow)
      3. Can I use the heart rate features in Java ? If so, how ?
      4. Can I use the BlobModule in Java ? If so, how ? (snippet bellow)
      5. Where can I get an updated documentation (including what's currently supported or not in Java) ?


      For Issue 2, retrieving facial landmarks, I've tried using both the non-grouped and grouped methods:

      int npoints = detectData.QueryNumPoints();
                  PXCMFaceData.LandmarkPoint[] points=new PXCMFaceData.LandmarkPoint[npoints];

      This returns an empty list, similar to retrieving grouped points (which returns true):

      int numPtsLE = detectData.QueryNumPointsByGroup(LandmarksGroupType.LANDMARK_GROUP_LEFT_EYE);
                  LandmarkPoint[] ptsLE = new LandmarkPoint[numPtsLE];
                  boolean hasLEPoints = detectData.QueryPointsByGroup(LandmarksGroupType.LANDMARK_GROUP_LEFT_EYE,ptsLE);
                    for(int le = 0; le < numPtsLE; le++){
                    if(ptsLE[le] != null) ellipse(ptsLE[le].image.x,ptsLE[le].image.y,3,3);



      [0] null
      [1] null
      [2] null
      [3] null
      [4] null
      [5] null
      [6] null
      [7] null
      [8] null

      When setting up, I've enabled landmark using the PXCMFaceConfiguration instance:

      faceConfig.landmarks.isEnabled = true;


      For issue 3, using hearRate, calling QueryPulse as the documentation suggests

      // cfg is a PXCMFaceConfiguration instance

      ends up with a NullPointerException

      Exception in thread "Animation Thread" java.lang.NullPointerException
        at intel.rssdk.PXCMFaceConfiguration$PulseConfiguration.Enable(PXCMFaceConfiguration.java:335)


      I was expecting to write something like

      faceConfig.pulse.isEnabled = true;

      but pulse doesn't appear to be a property of PXCMFaceConfiguration


      For issue 4, using the Blob Algorithm, I tried following the documentation:

      // Create an instance of the SenseManager
      PXCMSenseManager sm = PXCMSenseManager.CreateInstance();
      // Enable the blob module
      // Get an instance of PXCMBlobModule 
      PXCMBlobModule blobModule = sm.QueryBlob();

      but EnableBlob() isn't present. I'm guessing EnableModule(int,ImplDesc) might work,

      but I'm not sure what arguments to pass. Again, QueryBlob() is missing (perhaps QueryModule(int) should be used) ? If so, how ?


      Regarind issue 5, I'm trying to use as the SDK as much I can, but it would be a huge time saver

      knowing what I can an can not use for now (and when to expect currently unsupported features).


      I am using the latest Intel RealSense Drivers and SDK AFAIK:

      Intel RealSense Depth Camera Manager F200

      Intel RealSense SDK 2014

      on Windows 8 (version 6.2, build 9200)


      Thank you,