10#include <fsdk/IObject.h> 
   11#include <fsdk/IDetector.h> 
   12#include <fsdk/FSDKError.h> 
   13#include <fsdk/Types.h> 
   19#ifndef DOXYGEN_SHOULD_SKIP_THIS 
   43            : 
distance(std::numeric_limits<float>::infinity())
 
 
 
  241        virtual uint32_t getMaxCount() const noexcept = 0;
 
  247        virtual uint32_t getCount() const noexcept = 0;
 
 
  303                return "Error during reading/writing";
 
  305                return "Internal error";
 
  307                return "Batch is full";
 
  309                return "Descriptor out of range";
 
  311                return "Incompatible descriptor";
 
  313                return "Invalid input";
 
  315                return "Unknown error";
 
 
  435            Span<
float> garbageScoreBatch) const = 0;
 
 
Span. @detail Not owning data view. It incapsulated pointer to the continuous array with one or more ...
Definition Span.h:14
 
#define DECLARE_SMARTPTR(X)
Smart ptr declaration helper macro.
Definition Def.h:56
 
DescriptorType
Descriptor type enum. Determines which type of descriptor to use.
Definition IDescriptor.h:62
 
HumanDescriptorVersion
Human descriptor model versions. Determines which version of human descriptor to use.
Definition IDescriptor.h:80
 
DescriptorVersion
Minimum descriptor model version. Determines which minimum version of descriptor to use.
Definition IDescriptor.h:71
 
@ DT_HUMAN
human descriptor.
Definition IDescriptor.h:64
 
@ DT_FACE
face descriptor.
Definition IDescriptor.h:63
 
@ HDV_PRECISE_V3
precise human descriptor, heavy and slow.
Definition IDescriptor.h:88
 
@ HDV_REGULAR_V3
regular human descriptor.
Definition IDescriptor.h:89
 
@ HDV_REGULAR_HUMAN_DESCRIPTOR_VERSION
regular human descriptor.
Definition IDescriptor.h:83
 
@ HDV_TRACKER_V2
human tracking descriptor, light and fast version.
Definition IDescriptor.h:84
 
@ HDV_PRECISE_V5
precise human descriptor, heavy and slow.
Definition IDescriptor.h:92
 
@ HDV_REGULAR_V5
regular human descriptor.
Definition IDescriptor.h:93
 
@ HDV_PRECISE_V2
precise human descriptor, heavy and slow.
Definition IDescriptor.h:85
 
@ HDV_PRECISE_V4
precise human descriptor, heavy and slow.
Definition IDescriptor.h:90
 
@ HDV_TRACKER_HUMAN_DESCRIPTOR_VERSION
human tracking descriptor, light and fast version.
Definition IDescriptor.h:81
 
@ HDV_REGULAR_V4
regular human descriptor.
Definition IDescriptor.h:91
 
@ HDV_PRECISE_HUMAN_DESCRIPTOR_VERSION
precise human descriptor, heavy and slow.
Definition IDescriptor.h:82
 
@ HDV_REGULAR_V2
regular human descriptor.
Definition IDescriptor.h:86
 
@ HDV_TRACKER_V3
human tracking descriptor, light and fast version.
Definition IDescriptor.h:87
 
@ DV_MIN_FACE_DESCRIPTOR_VERSION
face descriptor.
Definition IDescriptor.h:72
 
@ DV_MIN_HUMAN_DESCRIPTOR_VERSION
human descriptor.
Definition IDescriptor.h:73
 
SDK namespace.
Definition IAGSEstimator.h:8
 
FSDKError
Common SDK error codes.
Definition FSDKError.h:17
 
@ Internal
Internal error.
 
@ InvalidInput
Invalid input.
 
const char * toString(Image::MemoryResidence residence)
Returns a string representation of a MemoryResidence type.
 
Archive interface.
Definition IObject.h:38
 
Data storage object interface helper.
Definition IObject.h:167
 
Descriptor batch interface.
Definition IDescriptor.h:148
 
virtual Result< Error > add(IDescriptor *descriptor) noexcept=0
Add a descriptor to the batch.
 
virtual Result< Error > add(IDescriptorBatch *batch, uint32_t offset=0) noexcept=0
Add a given descriptor batch content to the current batch. Descriptors to copy from the source batch ...
 
Error
Descriptor batch error enumeration.
Definition IDescriptor.h:153
 
@ BatchFull
Batch is full.
 
@ Incompatible
Trying to add an incompatible descriptor.
 
@ OutOfRange
Error while accessing descriptor out of range.
 
@ Internal
An internal processing error (Ex: memopry allocation or misalignment).
 
@ InvalidInput
Invalid input (Ex: null pointer while a valid object is expected).
 
@ IoError
Error while trying open/read/write file.
 
Descriptor interface.
Definition IDescriptor.h:100
 
virtual uint32_t getDescriptorLength() const noexcept=0
return size of descriptor in bytes.
 
virtual DescriptorType getDescriptorType() const noexcept=0
Get type of descriptor.
 
virtual void setDescriptor(const uint8_t *buffer) noexcept=0
Copy descriptor from user providedbuffer.
 
virtual uint32_t getModelVersion() const noexcept=0
Get algorithm model version this descriptor was created with.
 
virtual bool getDescriptor(uint8_t *buffer) const noexcept=0
Copy descriptor data to user provided buffer.
 
Descriptor matcher interface.
Definition IDescriptor.h:451
 
virtual Result< FSDKError > match(const IDescriptor *reference, const IDescriptorBatch *candidates, Span< MatchingResult > results) noexcept=0
Match descriptors 1:M.
 
virtual uint32_t getModelVersion() const noexcept=0
Get algorithm model version this matcher works with.
 
virtual ResultValue< FSDKError, MatchingResult > match(const IDescriptor *first, const IDescriptor *second) noexcept=0
Match descriptors 1:1.
 
Base strong reference counted object interface.
Definition IRefCounted.h:37
 
Serializable object interface.
Definition IObject.h:71
 
Error
Serialization nerror codes.
Definition IObject.h:76
 
Image.
Definition Image.h:38
 
Result of descriptor matching.
Definition IDescriptor.h:35
 
MatchingResult(void) noexcept
Initializes result to default values.
Definition IDescriptor.h:42
 
float distance
distance between descriptor vectors.
Definition IDescriptor.h:36
 
MatchingResult(float distance, float similarity) noexcept
Initializes result.
Definition IDescriptor.h:52
 
float similarity
similarity (normalized in [0..1] range).
Definition IDescriptor.h:37
 
An error structure designed for functions which can return errors from different enum classes.
Definition MultiError.h:14
 
A structure that encapsulates an action result enumeration.
Definition Result.h:27
 
Addon for Result to output some value aside the result. Specialization for copiable types.
Definition ResultValue.h:21