Face Engine SDK  5.27.0
A face detection, recognition and tracking engine.
SDK core interfaces

Common interfaces and macros shared across all SDK objects. More...

Classes

struct  fsdk::IFaceEngine
 Root LUNA SDK object interface. More...
 
struct  fsdk::IFaceEnginePos
 Root LUNA SDK object interface. More...
 
struct  fsdk::IArchive
 Archive interface. More...
 
struct  fsdk::ISerializableObject
 Serializable object interface. More...
 
struct  fsdk::ErrorTraits< ISerializableObject::Error >
 Specialized for ISerializableObject::SerializationError. More...
 
struct  fsdk::IDataStorageObject
 Data storage object interface helper. More...
 
struct  fsdk::IRefCounted
 Base strong reference counted object interface. More...
 
struct  fsdk::ISettingsProvider
 SDK settings provider interface. More...
 
struct  fsdk::ErrorTraits< ISettingsProvider::Error >
 Specialized for ISettingsProvider::ParseError. More...
 

Macros

#define ALIGN_UP(value, align)   (((value) & (align - 1)) ? (((value) + (align - 1)) & ~(align - 1)) : (value))
 
#define ALIGNED(x)   __attribute__((aligned(x)))
 
#define RESTRICT   __restrict__
 
#define FORCE_INLINE   inline __attribute__((always_inline))
 
#define DECLARE_SMARTPTR(X)
 Smart ptr declaration helper macro. More...
 
#define STRINGIFY2(x)   #x
 Stringification helper macro.
 
#define STRINGIFY(x)   STRINGIFY2(x)
 Stringifies it's argument.
 

Functions

FSDK_API Result< FSDKErrorfsdk::activateLicense (ILicense *license, const char *configPath) noexcept
 Makes License activation with some platform specific manner. Network connection is required. More...
 
FSDK_API Result< FSDKErrorfsdk::activateLicense (ILicense *license, ISettingsProvider *settings) noexcept
 Makes License activation with some platform specific manner. Network connection is required. More...
 
FSDK_API ResultValue< FSDKError, IFaceEnginePtr > fsdk::createFaceEngine (const char *dataPath=nullptr, const char *configPath=nullptr, const char *runtimePath=nullptr) noexcept
 Create the LUNA SDK root object. More...
 
FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > fsdk::createSettingsProvider (const char *path) noexcept
 Creates a settings provider. More...
 
FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > fsdk::createSettingsProviderFromString (const char *content) noexcept
 Creates a settings provider from the xml-formatted string. More...
 
virtual ResultValue< FSDKError, IDetectorPtr > fsdk::IFaceEnginePos::createDetector () noexcept=0
 Creates a detector of given type. More...
 
virtual ResultValue< FSDKError, IHeadPoseEstimatorPtr > fsdk::IFaceEnginePos::createHeadPoseEstimator () noexcept=0
 Creates Head pose estimator. More...
 
virtual ResultValue< FSDKError, IMedicalMaskEstimatorPtr > fsdk::IFaceEnginePos::createMedicalMaskEstimator () noexcept=0
 Creates MedicalMask estimator. More...
 
virtual ResultValue< FSDKError, IGlassesEstimatorPtr > fsdk::IFaceEnginePos::createGlassesEstimator () noexcept=0
 Creates Glasses estimator. More...
 
virtual ResultValue< FSDKError, IQualityEstimatorPtr > fsdk::IFaceEnginePos::createQualityEstimator () noexcept=0
 Creates Quality estimator. More...
 
virtual ResultValue< FSDKError, INIRLivenessEstimatorPtr > fsdk::IFaceEnginePos::createNIRLivenessEstimator (const NIRLivenessMode mode=NIRLivenessMode::Default) noexcept=0
 Creates NIRLiveness estimator. More...
 
virtual ResultValue< FSDKError, IDescriptorPtr > fsdk::IFaceEnginePos::createDescriptor (uint32_t version=0) noexcept=0
 Creates Descriptor. More...
 
virtual ResultValue< FSDKError, IDescriptorPtr > fsdk::IFaceEnginePos::createDescriptor (IArchive *archive, uint32_t flags=0) noexcept=0
 Creates and loads Descriptor from Archive. More...
 
virtual ResultValue< FSDKError, IDescriptorBatchPtr > fsdk::IFaceEnginePos::createDescriptorBatch (int32_t size, uint32_t version=0) noexcept=0
 Creates Batch of descriptors. More...
 
virtual ResultValue< FSDKError, IDescriptorExtractorPtr > fsdk::IFaceEnginePos::createExtractor (uint32_t version=0) noexcept=0
 Creates descriptor extractor. More...
 
virtual ResultValue< FSDKError, IDescriptorMatcherPtr > fsdk::IFaceEnginePos::createMatcher (uint32_t version=0) noexcept=0
 Creates descriptor matcher. More...
 
virtual ResultValue< FSDKError, IWarperPtr > fsdk::IFaceEnginePos::createWarper () noexcept=0
 Creates warper. More...
 
virtual FaceEngineEdition fsdk::IFaceEnginePos::getFaceEngineEdition () const noexcept=0
 Get LUNA SDK distribution edition. More...
 
virtual void fsdk::IFaceEnginePos::setDataDirectory (const char *path) noexcept=0
 Sets data directory. More...
 
virtual const char * fsdk::IFaceEnginePos::getDataDirectory () const noexcept=0
 Gets data directory. More...
 
virtual void fsdk::IFaceEnginePos::setSettingsProvider (ISettingsProvider *provider) noexcept=0
 Sets settings provider. More...
 
virtual void fsdk::IFaceEnginePos::setRuntimeSettingsProvider (ISettingsProvider *provider) noexcept=0
 Sets runtime settings provider. More...
 
virtual ISettingsProviderfsdk::IFaceEnginePos::getSettingsProvider () const noexcept=0
 Gets settings provider. More...
 
virtual ISettingsProviderfsdk::IFaceEnginePos::getRuntimeSettingsProvider () const noexcept=0
 Gets runtime settings provider. More...
 
virtual ILicensefsdk::IFaceEnginePos::getLicense () const noexcept=0
 Get current License object, which was set for FaceEngine object. More...
 
FSDK_API ResultValue< FSDKError, IFaceEnginePosPtr > fsdk::createFaceEngineMobile (const char *dataPath=nullptr, const char *configPath=nullptr, const char *runtimePath=nullptr) noexcept
 Create the LUNA SDK root object. More...
 

Detailed Description

Common interfaces and macros shared across all SDK objects.

Macro Definition Documentation

◆ DECLARE_SMARTPTR

#define DECLARE_SMARTPTR (   X)
Value:
struct X; \
using X##Ptr = fsdk::Ref<X>
Smart pointer for reference counted objects.
Definition: Ref.h:26

Smart ptr declaration helper macro.

Function Documentation

◆ activateLicense() [1/2]

FSDK_API Result< FSDKError > fsdk::activateLicense ( ILicense license,
const char *  configPath 
)
noexcept

Makes License activation with some platform specific manner. Network connection is required.

Parameters
[in]licensepointer to the license object which should be activated
[in]configPathpath to license.conf file with licensing settings.
Returns
true if license was successfully activated.
Warning
This function is not thread-safe. Calling it concurrently from multiple threads may lead to undefined behavior.
Parameters
[in]licensepointer to the license object which should be activated
[in]configPathpath to license.conf file with licensing settings.
Returns
Error code;
See also
FSDKError
Warning
This function is not thread-safe. Calling it concurrently from multiple threads may lead to undefined behavior.

◆ activateLicense() [2/2]

FSDK_API Result< FSDKError > fsdk::activateLicense ( ILicense license,
ISettingsProvider settings 
)
noexcept

Makes License activation with some platform specific manner. Network connection is required.

Parameters
[in]licensepointer to the license object which should be activated
[in]providersettings provider.
Returns
true if license was successfully activated.
Warning
This function is not thread-safe. Calling it concurrently from multiple threads may lead to undefined behavior.
Parameters
[in]licensepointer to the license object which should be activated
[in]settingssettings provider.
Returns
Error code;
See also
FSDKError; Ok - if license was successfully activated.
Warning
This function is not thread-safe. Calling it concurrently from multiple threads may lead to undefined behavior.

◆ createDescriptor() [1/2]

virtual ResultValue<FSDKError, IDescriptorPtr> fsdk::IFaceEnginePos::createDescriptor ( uint32_t  version = 0)
pure virtualnoexcept

Creates Descriptor.

Parameters
[in]versiondescriptor version.

face descriptor will created by default, to create human descriptor pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See also
DescriptorVersion
Returns
Error code;
See also
FSDKError and Descriptor if succeed, null if failed.

◆ createDescriptor() [2/2]

virtual ResultValue<FSDKError, IDescriptorPtr> fsdk::IFaceEnginePos::createDescriptor ( IArchive archive,
uint32_t  flags = 0 
)
pure virtualnoexcept

Creates and loads Descriptor from Archive.

Parameters
[in]archiveArchive with descriptor.
[in]flagsArchive flag.
Returns
Error code;
See also
FSDKError and Descriptor if succeed, null if failed.

◆ createDescriptorBatch()

virtual ResultValue<FSDKError, IDescriptorBatchPtr> fsdk::IFaceEnginePos::createDescriptorBatch ( int32_t  size,
uint32_t  version = 0 
)
pure virtualnoexcept

Creates Batch of descriptors.

face descriptor batch will be created by default, to create human descriptor batch you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See also
DescriptorVersion
Parameters
[in]size- amount of descriptors in batch.
[in]version- descriptor version in batch. If 0 - use dafault version from config.
Returns
Error code;
See also
FSDKError and Batch if succeed, null if failed.

◆ createDetector()

virtual ResultValue<FSDKError, IDetectorPtr> fsdk::IFaceEnginePos::createDetector ( )
pure virtualnoexcept

Creates a detector of given type.

Returns
Error code;
See also
FSDKError and detector object if succeeded, null if failed.

◆ createExtractor()

virtual ResultValue<FSDKError, IDescriptorExtractorPtr> fsdk::IFaceEnginePos::createExtractor ( uint32_t  version = 0)
pure virtualnoexcept

Creates descriptor extractor.

Parameters
[in]versiondescriptor version.

face descriptor extractor will created by default, to create human descriptor extractor descriptor you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See also
DescriptorVersion
Returns
Error code;
See also
FSDKError and Descriptor extractor if succeed, null if failed.

◆ createFaceEngine()

FSDK_API ResultValue<FSDKError, IFaceEnginePtr> fsdk::createFaceEngine ( const char *  dataPath = nullptr,
const char *  configPath = nullptr,
const char *  runtimePath = nullptr 
)
noexcept

Create the LUNA SDK root object.

Parameters
[in]dataPath[optional] path to folder with FSDK data. Default: ./data (on windows), /opt/visionlabs/data (on linux)
[in]configPath[optional] path to faceengine.conf file. Default: <dataPath>/faceengine.conf
[in]runtimePath[optional] path to runtime.conf file. Default: <dataPath>/runtime.conf
Returns
ResultValue with error code and IFaceEnginePtr instance.
See also
ResultValue, FSDKError, IFaceEnginePtr

◆ createFaceEngineMobile()

FSDK_API ResultValue<FSDKError, IFaceEnginePosPtr> fsdk::createFaceEngineMobile ( const char *  dataPath = nullptr,
const char *  configPath = nullptr,
const char *  runtimePath = nullptr 
)
noexcept

Create the LUNA SDK root object.

Parameters
[in]dataPath[optional] path to folder with FSDK data. Default: ./data (on windows), /opt/visionlabs/data (on linux)
[in]configPath[optional] path to faceengine.conf file. Default: <dataPath>/faceengine.cong
[in]runtimePath[optional] path to runtime.conf file. Default: <dataPath>/runtime.cong
Returns
Error code;
See also
FSDKError and face engine object if succeeded, null if failed.

◆ createGlassesEstimator()

virtual ResultValue<FSDKError, IGlassesEstimatorPtr> fsdk::IFaceEnginePos::createGlassesEstimator ( )
pure virtualnoexcept

Creates Glasses estimator.

Returns
ResultValue with error code and IGlassesEstimatorPtr instance.
See also
ResultValue, FSDKError, IGlassesEstimatorPtr

◆ createHeadPoseEstimator()

virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> fsdk::IFaceEnginePos::createHeadPoseEstimator ( )
pure virtualnoexcept

Creates Head pose estimator.

Returns
Error code;
See also
FSDKError and Head pose estimator if succeeded, null if failed.

◆ createMatcher()

virtual ResultValue<FSDKError, IDescriptorMatcherPtr> fsdk::IFaceEnginePos::createMatcher ( uint32_t  version = 0)
pure virtualnoexcept

Creates descriptor matcher.

Parameters
[in]versiondescriptor version.

face descriptor matcher will created by default, to create human descriptor matcher you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See also
DescriptorVersion
Returns
Error code;
See also
FSDKError and Descriptor matcher if succeed, null if failed.

◆ createMedicalMaskEstimator()

virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> fsdk::IFaceEnginePos::createMedicalMaskEstimator ( )
pure virtualnoexcept

Creates MedicalMask estimator.

Returns
ResultValue with error code and IMedicalMaskEstimatorPtr instance.
See also
ResultValue, FSDKError, IMedicalMaskEstimatorPtr

◆ createNIRLivenessEstimator()

virtual ResultValue<FSDKError, INIRLivenessEstimatorPtr> fsdk::IFaceEnginePos::createNIRLivenessEstimator ( const NIRLivenessMode  mode = NIRLivenessMode::Default)
pure virtualnoexcept

Creates NIRLiveness estimator.

Parameters
[in]modeis the option to set estimation scenario.
See also
NIRLivenessMode.
Parameters
[in]launchOptionslaunch options for fine grained control over target device resources.
Returns
ResultValue with error code and INIRLivenessEstimatorPtr instance.
See also
ResultValue, FSDKError, INIRLivenessEstimatorPtr, LaunchOptions

◆ createQualityEstimator()

virtual ResultValue<FSDKError, IQualityEstimatorPtr> fsdk::IFaceEnginePos::createQualityEstimator ( )
pure virtualnoexcept

Creates Quality estimator.

Returns
ResultValue with error code and IQualityEstimatorPtr instance.
See also
ResultValue, FSDKError, IQualityEstimatorPtr

◆ createSettingsProvider()

FSDK_API fsdk::ResultValue< fsdk::FSDKError, fsdk::ISettingsProviderPtr > fsdk::createSettingsProvider ( const char *  path)
noexcept

Creates a settings provider.

Create a settings provider.

Parameters
[in]pathconfiguration file path
Returns
Error code;
See also
FSDKError and settings provider object if succeeded, null if failed.
Parameters
[in]pathconfiguration file path.
Returns
Error code;
See also
FSDKError and settings provider object if succeeded, null if failed.

◆ createSettingsProviderFromString()

FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > fsdk::createSettingsProviderFromString ( const char *  content)
noexcept

Creates a settings provider from the xml-formatted string.

Parameters
[in]contentcontent string in xml-format, in a case of nullptr empty config will be created
Returns
Error code and settings provider object if succeeded, null if failed.
See also
FSDKError, ISettingsProvider::save

◆ createWarper()

virtual ResultValue<FSDKError, IWarperPtr> fsdk::IFaceEnginePos::createWarper ( )
pure virtualnoexcept

Creates warper.

Returns
Warper if succeed, null if failed.

◆ getDataDirectory()

virtual const char* fsdk::IFaceEnginePos::getDataDirectory ( ) const
pure virtualnoexcept

Gets data directory.

By default is set to "./data".

Returns
path to data directory.

◆ getFaceEngineEdition()

virtual FaceEngineEdition fsdk::IFaceEnginePos::getFaceEngineEdition ( ) const
pure virtualnoexcept

Get LUNA SDK distribution edition.

Returns
Edition of LUNA SDK instance. Possible values:
  • CompleteEdition - full edition with all function.
  • FrontEndEdition - short edition with excluded descriptor functions. Extractor, matcher, descriptor, batch and index cannot be created.

◆ getLicense()

virtual ILicense* fsdk::IFaceEnginePos::getLicense ( ) const
pure virtualnoexcept

Get current License object, which was set for FaceEngine object.

Returns
pointer to current license object, nullptr if no any license was set to.

◆ getRuntimeSettingsProvider()

virtual ISettingsProvider* fsdk::IFaceEnginePos::getRuntimeSettingsProvider ( ) const
pure virtualnoexcept

Gets runtime settings provider.

Returns
runtime settings provider.

◆ getSettingsProvider()

virtual ISettingsProvider* fsdk::IFaceEnginePos::getSettingsProvider ( ) const
pure virtualnoexcept

Gets settings provider.

Returns
settings provider.

◆ setDataDirectory()

virtual void fsdk::IFaceEnginePos::setDataDirectory ( const char *  path)
pure virtualnoexcept

Sets data directory.

Parameters
[in]pathpath to data directory.

◆ setRuntimeSettingsProvider()

virtual void fsdk::IFaceEnginePos::setRuntimeSettingsProvider ( ISettingsProvider provider)
pure virtualnoexcept

Sets runtime settings provider.

Parameters
[in]providerruntime settings provider.

◆ setSettingsProvider()

virtual void fsdk::IFaceEnginePos::setSettingsProvider ( ISettingsProvider provider)
pure virtualnoexcept

Sets settings provider.

Parameters
[in]providersettings provider.