PSearchList Class Reference

Detailed Description

The PSearchList class represents a watchlist optimised for searching; for example, it is used Face Recognition to quickly find matches for a unknown face.

To create a search-list, you need to load it from a PStore object, see PSearchList::Connect().

Definition at line 35 of file PSearchList.h.

#include <PSearchList.h>

Constructor & Destructor Documentation

◆ PSearchList() [1/4]

PSearchList::PSearchList ( )

Constructs an empty search list.

◆ PSearchList() [2/4]

PSearchList::PSearchList ( const PWatchlist watchlist,
const PGuid describerId 
)

Constructs a search list from a PWatchlist object.

Collect only descriptors with the specified describerId.

◆ PSearchList() [3/4]

PSearchList::PSearchList ( const PList watchlist,
const PGuid describerId 
)

Constructs a search list from a PList of descriptions.

Collect only descriptors with the specified describerId.

◆ PSearchList() [4/4]

PSearchList::PSearchList ( const PSearchList other)
default

Constructs a shared copy of other.

◆ ~PSearchList()

PSearchList::~PSearchList ( )
overridedefault

Destroys this object.

Member Function Documentation

◆ BatchSearch()

PResult PSearchList::BatchSearch ( const PList unknowns,
papillon::int32  topN,
float  threshold,
PList results 
) const

Searches for the specified unknown descriptions in this watchlist and attempts to make them known.

The unknown descriptions are compared with each subject present in this watchlist; the N best results (topN) with a match score greater or equal to the specified threshold are returned in the specified PIdentifyResults object.

  • 'unknowns' is a list of PDescription objects, each one representing a subject to identify
  • 'topN' parameter should typically be in the range: 1 .. NUMBER_OF_SUBJECTS_IN_THE_WATCHLIST
  • 'threshold' parameter should typically be in the range: 0 .. 1
  • 'results' (output) is a list of PIdentifyResults objects representing the results of identification. There is 1 PIdentifyResults for each input PDescription; results are stored in the same order than input data. The 'results' list is first cleared.

Returns PResult::C_OK if success, another result otherwise.

◆ Connect()

PResult PSearchList::Connect ( const PStore store,
const PGuid describerEngineId 
)

Connects (loads) the specified store to this search-list.

Only one store can be linked to a search-list.

◆ GetDescribeId()

const PGuid& PSearchList::GetDescribeId ( ) const

Returns the id of the describe engine used by this search-list.

◆ GetNumDescriptors()

papillon::int32 PSearchList::GetNumDescriptors ( ) const

Returns the number of descriptors contained in this search-list.

◆ GetSize()

papillon::int32 PSearchList::GetSize ( ) const

Returns the number of descriptions contained in this search-list.

When used for FaceRecognition, GetSize() returns the number of subjects held in the search-list.

◆ IsDescriptionId()

bool PSearchList::IsDescriptionId ( const PGuid descriptionId) const

Returns true if the specified description is in this search list, false otherwise.

◆ operator=()

PSearchList& PSearchList::operator= ( const PSearchList other)
default

Performs a shared copy of other to this object.

◆ Search()

PResult PSearchList::Search ( const PDescription unknown,
papillon::int32  topN,
float  threshold,
PIdentifyResults results 
) const

Searches for the specified unknown description in this watchlist and attempts to make it known.

The unknown description is compared with each subject present in this watchlist; the N best results (topN) with a match score greater or equal to the specified threshold are returned in the specified PIdentifyResults object.

  • 'topN' parameter should typically be in the range: 1 .. NUMBER_OF_SUBJECTS_IN_THE_WATCHLIST
  • 'threshold' parameter should typically be in the range: 0 .. 1

Returns PResult::C_OK if success, another result otherwise.