Commit 11a7e229 authored by Amir MOHAMMADI's avatar Amir MOHAMMADI
Browse files

use the File.load method if possible.

parent 49204f6e
......@@ -110,6 +110,10 @@ class FileSelector:
"""Returns the list of original data that can be used for preprocessing."""
return self.database.original_file_names(self.database.all_files(groups=groups))
def original_data_list_files(self, groups = None):
"""Returns the list of original data that can be used for preprocessing."""
return (self.database.all_files(groups=groups), self.database.database.original_directory, self.database.database.original_extension)
def annotation_list(self, groups = None):
"""Returns the list of annotations objects."""
return self.database.all_files(groups=groups)
......
......@@ -42,7 +42,7 @@ def preprocess(preprocessor, groups = None, indices = None, allow_missing_files
fs = FileSelector.instance()
# get the file lists
data_files = fs.original_data_list(groups=groups)
data_files, original_directory, original_extension = fs.original_data_list_files(groups=groups)
preprocessed_data_files = fs.preprocessed_data_list(groups=groups)
# select a subset of keys to iterate
......@@ -60,12 +60,16 @@ def preprocess(preprocessor, groups = None, indices = None, allow_missing_files
# iterate over the selected files
for i in index_range:
preprocessed_data_file = preprocessed_data_files[i]
file_name = data_files[i]
file_object = data_files[i]
file_name = file_object.make_path(original_directory, original_extension)
# check for existence
if not utils.check_file(preprocessed_data_file, force, 1000):
logger.debug("... Processing original data file '%s'", file_name)
data = preprocessor.read_original_data(file_name)
if hasattr(file_object, 'load'):
data = file_object.load(original_directory, original_extension)
else:
data = preprocessor.read_original_data(file_name)
# create output directory before reading the data file (is sometimes required, when relative directories are specified, especially, including a .. somewhere)
bob.io.base.create_directories_safe(os.path.dirname(preprocessed_data_file))
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment