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

use the File.load method if possible.

parent 49204f6e
No related branches found
No related tags found
No related merge requests found
......@@ -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))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment