Source code for bob.db.swan.query_pad

#!/usr/bin/env python

from bob.pad.voice.database import PadVoiceFile as VoicePadFile
from bob.pad.face.database import VideoPadFile
from bob.pad.base.database import FileListPadDatabase
from bob.extension import rc
from .common import SwanVideoFile, SwanAudioFile, SwanVideoDatabase


[docs]class SwanAudioPadFile(SwanAudioFile, VoicePadFile): """SwanAudioPadFile are video files actually"""
[docs]class SwanVideoPadFile(SwanVideoFile, VideoPadFile): """SwanVideoPadFile are video files actually"""
[docs]class Database(FileListPadDatabase, SwanVideoDatabase): """Wrapper class for the SWAN database for PAD (http://www.idiap.ch/dataset/swan). """ def __init__(self, original_directory=rc['bob.db.swan.directory'], pad_file_class=SwanAudioPadFile, annotation_directory=rc['bob.db.swan.annotation_dir'], annotation_extension='.json', annotation_type='json', name='swan', **kwargs): # call base class constructor from pkg_resources import resource_filename folder = resource_filename(__name__, 'lists') super(Database, self).__init__( folder, name=name, pad_file_class=pad_file_class, annotation_directory=annotation_directory, annotation_extension=annotation_extension, annotation_type=annotation_type, original_directory=original_directory, training_depends_on_protocol=True, models_depend_on_protocol=True, **kwargs )
[docs] def objects(self, groups=None, protocol=None, purposes=None, model_ids=None, classes=None, filter_samples=None, **kwargs): files = super(Database, self).objects( groups=groups, protocol=protocol, purposes=purposes, model_ids=model_ids, classes=classes, **kwargs) files = self.update_files(files) if filter_samples is None: return files files = list(filter(filter_samples, files)) return files