Python API

The VERA Database for finger verification

bob.db.verafinger.get_config()[source]

Returns a string containing the configuration information.

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')
gender_display()[source]

Returns a representation of the client gender

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 unique finger name in the database given a model_id

genders()[source]

Returns a list of all supported gender values

groups()[source]

Returns a list of all supported groups

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 to dev. 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:

list

objects(protocol=None, groups=None, purposes=None, model_ids=None, genders=None, sides=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
  • 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:

list

protocol_names()[source]

Returns a list of all supported protocols

purposes()[source]

Returns a list of all supported purposes

sessions()[source]

Returns a list of all supported session values

sides()[source]

Returns a list of all supported side values

class bob.db.verafinger.File(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 001-M/001_L_1 (i.e. <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 database installation. This is the path leading to files named DDD-G where D‘s correspond to digits and G to the client gender. For example 032-M.
Returns:
A 2D array of unsigned integers corresponding to the input
image for this file in (y,x) notation (Bob-style).
Return type:numpy.ndarray
model_id
path
roi()[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.

Returns:
A 2D array of 8-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')
unique_finger_name

Unique name for a given finger in the database

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')
side_display()[source]

Returns a representation of the finger side

class bob.db.verafinger.Protocol(name)[source]

Bases: sqlalchemy.ext.declarative.api.Base

VERA protocols

id
name
class bob.db.verafinger.Subset(protocol, group, purpose)[source]

Bases: sqlalchemy.ext.declarative.api.Base

VERA protocol subsets

files
group
group_choices = ('train', 'dev')
id
protocol
protocol_id
purpose
purpose_choices = ('train', 'enroll', 'probe')