Python API¶
This is the Bob database entry for the GBU (Good, Bad and Ugly) database.
-
class
bob.db.gbu.
Database
(original_directory=None, original_extension='.jpg')[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.
-
groups
(protocol=None)[source]¶ Returns a list of groups for the given protocol
Keyword Parameters:
- protocol
One or several of the GBU protocols (‘Good’, ‘Bad’, ‘Ugly’), only valid if group is ‘dev’.
Returns: a list of groups
-
clients
(groups=None, subworld=None, protocol=None)[source]¶ Returns a list of clients for the specific query by the user.
Keyword Parameters:
- groups
One or several groups to which the models belong (‘world’, ‘dev’).
- subworld
One or several training sets (‘x1’, ‘x2’, ‘x4’, ‘x8’), only valid if group is ‘world’.
- protocol
One or several of the GBU protocols (‘Good’, ‘Bad’, ‘Ugly’), only valid if group is ‘dev’.
Returns: A list containing all the Client objects which have the desired properties.
-
client_ids
(groups=None, subworld=None, protocol=None)[source]¶ Returns a list of client ids for the specific query by the user.
Keyword Parameters:
- groups
One or several groups to which the models belong (‘world’, ‘dev’).
- subworld
One or several training sets (‘x1’, ‘x2’, ‘x4’, ‘x8’), only valid if group is ‘world’.
- protocol
One or several of the GBU protocols (‘Good’, ‘Bad’, ‘Ugly’), only valid if group is ‘dev’.
Returns: A list containing the ids of all clients which have the desired properties.
-
models
(groups=None, subworld=None, protocol=None, protocol_type='gbu')[source]¶ Returns a list of models for the specific query by the user. The returned type of model depends on the protocol_type:
‘gbu’: A list containing File objects (there is one model per file)
‘multi’: A list containing Client objects (there is one model per client)
Keyword Parameters:
- groups
One or several groups to which the models belong (‘world’, ‘dev’).
- subworld
One or several training sets (‘x1’, ‘x2’, ‘x4’, ‘x8’), only valid if group is ‘world’.
- protocol
One or several of the GBU protocols (‘Good’, ‘Bad’, ‘Ugly’), only valid if group is ‘dev’.
- protocol_type
One protocol type from (‘gbu’, ‘multi’)
Returns: A list containing all the models belonging to the given group.
-
model_ids
(groups=None, subworld=None, protocol=None, protocol_type='gbu')[source]¶ Returns a list of model ids for the specific query by the user. The returned list depends on the protocol_type:
‘gbu’: A list containing file id’s (there is one model per file)
‘multi’: A list containing client id’s (there is one model per client)
Note
for the ‘world’ group, model ids are ALWAYS client ids
Keyword Parameters:
- groups
One or several groups to which the models belong (‘world’, ‘dev’).
- subworld
One or several training sets (‘x1’, ‘x2’, ‘x4’, ‘x8’), only valid if group is ‘world’.
- protocol
One or several of the GBU protocols (‘Good’, ‘Bad’, ‘Ugly’), only valid if group is ‘dev’.
- protocol_type
One protocol type from (‘gbu’, ‘multi’)
Returns: A list containing all the model id’s belonging to the given group.
-
get_client_id_from_file_id
(file_id, **kwargs)[source]¶ Returns the client id (real client id) attached to the given file id
Keyword Parameters:
- file_id
The file id to consider
Returns: The client_id attached to the given file_id
-
get_client_id_from_model_id
(model_id, group='dev', protocol_type='gbu', **kwargs)[source]¶ Returns the client id attached to the given model id. Dependent on the protocol type and the group, it is expected that
model_id is a file id, when protocol type is ‘gbu’
model_id is a client id, when protocol type is ‘multi’ or group is ‘world’
Keyword Parameters:
- model_id
The model id to consider
- group
The group to which the model belong, might be ‘world’ or ‘dev’.
- protocol_type
One protocol type from (‘gbu’, ‘multi’)
Returns: The client_id attached to the given model_id
-
objects
(groups=None, subworld=None, protocol=None, purposes=None, model_ids=None, protocol_type='gbu')[source]¶ Using the specified restrictions, this function returns a list of File objects.
Keyword Parameters:
- groups
One or several groups to which the models belong (‘world’, ‘dev’).
- subworld
One or several training sets (‘x1’, ‘x2’, ‘x4’, ‘x8’), only valid if group is ‘world’.
- protocol
One or several of the GBU protocols (‘Good’, ‘Bad’, ‘Ugly’), only valid if group is ‘dev’.
- purposes
One or several groups for which objects should be retrieved (‘enroll’, ‘probe’), only valid when the group is ‘dev’·
- model_ids
If given (as a list of model id’s or a single one), only the objects belonging to the specified model id is returned. The content of the model id is dependent on the protocol type:
model id is a file id, when protocol type is ‘gbu’
model id is a client id, when protocol type is ‘multi’, or when group is ‘world’
- protocol_type
One protocol type from (‘gbu’, ‘multi’), only required when model_ids are specified
-
-
class
bob.db.gbu.
File
(presentation, signature, path)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
,bob.db.base.File
The file of the GBU database consists of an integral id as well as the ‘presentation’ as read from the file lists. Each file has one annotation and one associated client.
-
id
¶
-
path
¶
-
client
¶
-
annotation
¶
-
client_id
¶
-
-
class
bob.db.gbu.
Client
(signature)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
The client of the GBU database consists of an integral ID as well as the ‘signature’ as read from the file lists.
-
id
¶
-
-
class
bob.db.gbu.
Annotation
(file_id, eyes)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
Annotations of the GBU database consists only of the left and right eye positions. There is exactly one annotation for each file.
-
id
¶
-
file_id
¶
-
re_x
¶
-
re_y
¶
-
le_x
¶
-
le_y
¶
-
-
class
bob.db.gbu.
Subworld
(name)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Base
The subworld class defines different training set sizes. It is created from the ‘x1’, ‘x2’, ‘x4’ and ‘x8’ training lists from the GBU database.
-
subworld_choices
= ('x1', 'x2', 'x4', 'x8')¶
-
id
¶
-
files
¶
-
name
¶
-