Skip to content
Snippets Groups Projects
Commit e177aacb authored by Amir MOHAMMADI's avatar Amir MOHAMMADI
Browse files

Merge branch 'csv_dataset' into 'master'

[csv_dataset] There is no need for CSVToPADSamples

See merge request !102
parents ef0c1128 9699d162
No related branches found
No related tags found
1 merge request!102[csv_dataset] There is no need for CSVToPADSamples
Pipeline #62049 passed
......@@ -4,14 +4,10 @@
from bob.bio.base.database.legacy import check_parameters_for_validity
from bob.pad.base.pipelines.abstract_classes import Database
from bob.pipelines.datasets import CSVToSamples, FileListDatabase
from bob.pipelines.datasets import FileListDatabase
class CSVToPADSamples(CSVToSamples):
"""Converts a csv file to a list of PAD samples"""
def __iter__(self):
for sample in super().__iter__():
def validate_pad_sample(sample):
if not hasattr(sample, "subject"):
raise RuntimeError(
"PAD samples should contain a `subject` attribute which "
......@@ -29,7 +25,7 @@ class CSVToPADSamples(CSVToSamples):
sample.is_bonafide = sample.attack_type is None
if not hasattr(sample, "key"):
sample.key = sample.filename
yield sample
return sample
class FileListPadDatabase(Database, FileListDatabase):
......@@ -45,7 +41,6 @@ class FileListPadDatabase(Database, FileListDatabase):
super().__init__(
dataset_protocols_path=dataset_protocols_path,
protocol=protocol,
reader_cls=CSVToPADSamples,
transformer=transformer,
**kwargs,
)
......@@ -69,6 +64,7 @@ class FileListPadDatabase(Database, FileListDatabase):
(not s.is_bonafide) and "attack" in purposes
)
results = [validate_pad_sample(sample) for sample in results]
results = list(filter(_filter, results))
return results
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment