Python API¶
The VERA Database for finger verification
-
class
bob.db.verafinger.
Client
(id, gender, age)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Unique clients in the database, referred by a single integer
-
age
¶
-
gender
¶
-
gender_choices
= ('M', 'F')¶
-
id
¶
-
-
class
bob.db.verafinger.
Database
(original_directory=None, original_extension=None)[source]¶ Bases:
bob.db.base.SQLiteDatabase
The dataset class opens and maintains a connection opened to the Database.
It provides many different ways to probe for the characteristics of the data and for the data itself inside the database.
-
finger_name_from_model_id
(model_id)[source]¶ Returns the first unique finger name in the database given a
model_id
-
model_ids
(protocol=None, groups=None)[source]¶ Returns a set of models for a given protocol/group
Parameters: - protocol (
str
,list
, optional) – One or more of the supported protocols. If not set, returns data from all protocols - groups (
str
,list
, optional) – One or more of the supported groups. If not set, returns data from all groups. Notice this parameter should either not set or set todev
. Otherwise, this method will return an empty list given we don’t have a test set, only a development set.
Returns: A list of string corresponding model identifiers with the specified filtering criteria
Return type: - protocol (
-
objects
(protocol=None, groups=None, purposes=None, model_ids=None, genders=None, sides=None, sizes=None, sources=None, sessions=None)[source]¶ Returns objects filtered by criteria
Parameters: - protocol (
str
,list
, optional) – One or more of the supported protocols. If not set, returns data from all protocols - groups (
str
,list
, optional) – One or more of the supported groups. If not set, returns data from all groups - purposes (
str
,list
, optional) – One or more of the supported purposes. If not set, returns data for all purposes - model_ids (
str
,list
, optional) – If set, limit output using the provided model identifiers - genders (
str
,list
, optional) – If set, limit output using the provided gender identifiers - sides (
str
,list
, optional) – If set, limit output using the provided side identifier - sizes (
str
,list
, optional) – If set, limit output using the provided size identifier - sources (
str
,list
, optional) – If set, limit output using the provided source identifier - sessions (
str
,list
, optional) – If set, limit output using the provided session identifiers
Returns: A list of
File
objects corresponding to the filtering criteria.Return type: - protocol (
-
-
class
bob.db.verafinger.
File
(size, source, finger, session)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
,bob.db.base.File
Unique files in the database, referred by a string
Files have the format
full/bf/001-M/001_L_1
(i.e. <size>/<source>/<client>-<gender>/<client>_<side>_<session>)-
finger
¶
-
finger_id
¶
-
id
¶
-
load
(directory=None, extension='.png')[source]¶ Loads the image for this file entry
Parameters: - directory (str) – The path to the root of the dataset installation. This
is, normally, the path leading to file named
metadata.csv
and directoriesfull
,cropped
,annotations
andprotocols
, but can be anything else. This behavior makes this function re-usable in the context of preprocessing and feature extraction, where intermediate files may be produced by your processing pipeline and can be reloaded using the same API. - extension (str) – The extension to use for loading the file in question.
If not passed, the default
.png
is used.
Returns: - A 2D array of unsigned integers corresponding to the input
image for this file in (y,x) notation (Bob-style).
Return type: - directory (str) – The path to the root of the dataset installation. This
is, normally, the path leading to file named
-
model_id
¶
-
path
¶
-
roi
(directory)[source]¶ Loads region-of-interest annotations for a particular image
The returned points (see return value below) correspond to a polygon in the 2D space delimiting the finger image. It is up to you to generate a mask out of these annotations.
Parameters: directory (str) – The path to the root of the dataset installation. This is, forcebly, the path leading to file named metadata.csv
and directoriesfull
,cropped
,annotations
andprotocols
.Returns: - A 2D array of 16-bit unsigned integers corresponding to
- annotations for the given fingervein image. Points are loaded in (y,x) format so, the first column of the returned array correspond to the y-values while the second column to the x-values of each coordinate.
Return type: numpy.ndarray
-
session
¶
-
session_choices
= ('1', '2')¶
-
size
¶
-
size_choices
= ('full', 'cropped')¶
-
source
¶
-
source_choices
= ('bf', 'pa')¶
-
-
class
bob.db.verafinger.
Finger
(client, side)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Unique fingers in the database, referred by a string
Fingers have the format
003_L
(i.e. <client>_<finger>)-
client
¶
-
client_id
¶
-
id
¶
-
side
¶
-
side_choices
= ('L', 'R')¶
-
unique_name
¶ Unique name for this finger in the database
-
-
class
bob.db.verafinger.
PADDatabase
(original_directory=None, original_extension=None)[source]¶ Bases:
bob.db.base.SQLiteDatabase
The dataset class opens and maintains a connection opened to the Database.
It provides many different ways to probe for the characteristics of the data and for the data itself inside the database.
-
objects
(protocol=None, groups=None, purposes=None, genders=None, sides=None, sizes=None, sources=None, sessions=None)[source]¶ Returns objects filtered by criteria
Parameters: - protocol (
str
,list
, optional) – One or more of the supported protocols. If not set, returns data from all protocols - groups (
str
,list
, optional) – One or more of the supported groups. If not set, returns data from all groups - purposes (
str
,list
, optional) – One or more of the supported purposes. If not set, returns data for all purposes - genders (
str
,list
, optional) – If set, limit output using the provided gender identifiers - sides (
str
,list
, optional) – If set, limit output using the provided side identifier - sizes (
str
,list
, optional) – If set, limit output using the provided size identifier - sources (
str
,list
, optional) – If set, limit output using the provided source identifier - sessions (
str
,list
, optional) – If set, limit output using the provided session identifiers
Returns: A list of
File
objects corresponding to the filtering criteria.Return type: - protocol (
-
-
class
bob.db.verafinger.
PADProtocol
(name)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
VERA presentation attack detection protocols
-
id
¶
-
name
¶
-
-
class
bob.db.verafinger.
PADSubset
(protocol, group, purpose)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
VERA protocol subsets for presentation attack detection
-
files
¶
-
group
¶
-
group_choices
= ('train', 'dev', 'eval')¶
-
id
¶
-
protocol
¶
-
protocol_id
¶
-
purpose
¶
-
purpose_choices
= ('real', 'attack')¶
-