IJB-C Database¶
This is the Bob database entry for the IJB-B database.
-
class
bob.db.ijbc.
Annotation
(annots)[source]¶ Bases:
object
Annotations for a File of the IJB-C dataset
-
class
bob.db.ijbc.
Database
(original_directory=None, check_valid=True)¶ Bases:
bob.db.base.Database
The database 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.
-
annotations
(file)[source]¶ Returns the annotations for the given
File
object as a dictionary, seeAnnotation
for details.
-
check_parameter_for_validity
(parameter, parameter_description, valid_parameters, default_parameter=None)¶
-
check_parameters_for_validity
(parameters, parameter_description, valid_parameters, default_parameters=None)¶
-
client_ids
(groups='dev', protocol=None)[source]¶ Returns a list of client ids (aka. subject_id) for the specific query by the user.
Keyword Parameters:
- groups
- Ignored; ‘dev’ is asssumed.
- protocol
- One of the protocols of the dataset; identical for all protocols starting with
1:
Returns: A list containing all the client ids which have the desired properties.
-
convert_names_to_highlevel
(names, low_level_names, high_level_names)¶
-
convert_names_to_lowlevel
(names, low_level_names, high_level_names)¶
-
file_names
(files, directory, extension)¶
-
get_client_id_from_model_id
(protocol, model_id)[source]¶ Returns the client_id attached to the given model_id
Keyword Parameters:
- protocol
- One of the protocols of the dataset; identical for all protocols starting with
1:
- model_id
- The model id (i.e., the template id of a gallery template) to consider
Returns: The client_id attached to the given model_id
-
get_model_ids_from_client_id
(protocol, purpose, client_id)[source]¶ Returns the model ids (templates) for the given client_id
Keyword Parameters:
- client_id
- The client id
Returns: The list of model ids (template ids) of the client
-
model_ids
(groups='dev', protocol='1:1')[source]¶ Returns a list of model ids for the specific query by the user.
Keyword Parameters:
- groups
- Ignored;
'dev'
is assumed - protocol
- One of the protocols of the dataset; identical for all protocols starting with
1:
Returns: A list containing all the model ids.
-
object_sets
(groups='dev', protocol=None, purposes='probe', model_ids=None)[source]¶ Using the specified restrictions, this function returns a list of
Template
objects.Keyword Parameters:
- groups : str or [str]
- Only the ‘dev’ group is accepted.
- protocol : str
- One of the available protocol names, see
protocol_names()
. - purposes
- Ignored;
'probe'
is assumed. - model_ids : int or [int] or
None
- If given, the probe templates belonging to the given model ids are returned.
-
objects
(groups='dev', protocol=None, purposes=None, model_ids=None)[source]¶ Using the specified restrictions, this function returns a list of
File
objects.Keyword Parameters:
- groups
- Ignored;
'dev'
is assumed - protocol : str or
None
- One or more of the available protocol names, see
protocol_names()
. If not specified, all protocols will be assumed. - purposes : str or [str] or
None
- One or several purposes for which files should be retrieved (‘enroll’, ‘probe’). Note: this field is ignored for group ‘world’.
- model_ids : int or [int] or
None
- If given (as a list of model id’s or a single one), only the files belonging to the specified model id is returned. For ‘probe’ purposes, the probe images belonging to the given model ids are returned.
-
original_file_name
(file, check_existence=True)[source]¶ Returns the original image file name with the correct file name extension. To be able to call this function, the
original_directory
must have been specified in theDatabase
constructor.Keyword parameters:
- file :
File
- The
File
object to get the original file name from. - check_existence : bool
- If set to True (the default), the existence of the original image file is checked, prior to returning the files name.
- file :
-
original_file_names
(files)¶ Returns the full path of the original data of the given File objects.
Parameters: files (list of bob.db.base.File
) – The list of file object to retrieve the original data file names for.Returns: The paths extracted for the files, in the same order. Return type: list of str
-
protocol_names
()[source]¶ Returns all registered protocol names, including
['1:1', 'Covariates', '1:N-Mixed']
-
provides_file_set_for_protocol
(protocol)[source]¶ Returns
True
for 1:1 and 1:N-… protocols, otherwiseFalse
Keyword Parameters:
- protocol
- The protocol to evaluate.
-
sort
(files)¶
-
-
class
bob.db.ijbc.
File
(subject_id, path, annotation=None)¶ Bases:
bob.db.base.File
IJB-C File class
Different from its ascendant class, this one as input
-
load
(directory=None, extension='.hdf5')[source]¶ Loads the data at the specified location and using the given extension. Override it if you need to load differently.
Parameters: Returns: The loaded data (normally
numpy.ndarray
).Return type:
-
make_path
(directory=None, extension=None, add_client_id=True)[source]¶ Wraps the current path so that a complete path is formed. By default, the file name will be a unique file name, as there might be several
File
objects with the same path. To get the original file name, please set theadd_client_id
flag toFalse
.Keyword parameters:
- directory : str or
None
- An optional directory name that will be prefixed to the returned result.
- extension : str or
None
- An optional extension that will be suffixed to the returned filename.
The extension normally includes the leading
.
character as in.jpg
or.hdf5
. - add_client_id : bool
- By default, the client_id is added to generate a unique path. If set to false, the client_id will not be added.
Returns a string containing the newly generated file path, which by default is unique.
- directory : str or
-
save
(data, directory=None, extension='.hdf5', create_directories=True)[source]¶ Saves the input data at the specified location and using the given extension. Override it if you need to save differently.
Parameters: - data (object) – The data blob to be saved (normally a
numpy.ndarray
). - directory (
str
, optional) – If not empty or None, this directory is prefixed to the final file destination - extension (
str
, optional) – The extension of the filename - this will control the type of output and the codec for saving the input blob. - create_directories (
bool
, optional) – Whether to create the required directories to save the data.
- data (object) – The data blob to be saved (normally a
-
-
class
bob.db.ijbc.
Protocol
¶ Bases:
object
The list of protocols and their according files
-
class
bob.db.ijbc.
Template
(template_id, subject_id, files=None)¶ Bases:
object
A
Template
contains a list ofFile
objects belonging to the same subject (there might be several templates per subject).These are listed in the
self.files
field.A
Template
can serve for training, model enrollment, or for probing.Each template belongs specifically to a certain protocol, as the template_id in the original file lists might differ for different protocols.
The protocol purpose can be obtained using
self.protocol_purpose
after creation of the database.Note that the
template_id
corresponds to the template_id of the file lists, while theid
is only used as a unique key for querying the database.For convenience, the template also contains a
path
, which is a concatenation of theFile.media_id
of the first file, and theself.template_id
, making it unique (at least per protocol).