void DoProcess()
        {
            if (!(owner.Value is OpenCVForUnityPlayMakerActions.BIF))
            {
                LogError("owner is not initialized. Add Action \"newBIF\".");
                return;
            }
            OpenCVForUnity.FaceModule.BIF wrapped_owner = OpenCVForUnityPlayMakerActionsUtils.GetWrappedObject <OpenCVForUnityPlayMakerActions.BIF, OpenCVForUnity.FaceModule.BIF>(owner);

            if (!(image.Value is OpenCVForUnityPlayMakerActions.Mat))
            {
                LogError("image is not initialized. Add Action \"newMat\".");
                return;
            }
            OpenCVForUnity.CoreModule.Mat wrapped_image = OpenCVForUnityPlayMakerActionsUtils.GetWrappedObject <OpenCVForUnityPlayMakerActions.Mat, OpenCVForUnity.CoreModule.Mat>(image);

            if (!(features.Value is OpenCVForUnityPlayMakerActions.Mat))
            {
                LogError("features is not initialized. Add Action \"newMat\".");
                return;
            }
            OpenCVForUnity.CoreModule.Mat wrapped_features = OpenCVForUnityPlayMakerActionsUtils.GetWrappedObject <OpenCVForUnityPlayMakerActions.Mat, OpenCVForUnity.CoreModule.Mat>(features);

            wrapped_owner.compute(wrapped_image, wrapped_features);
        }