diff --git a/src/robofish/evaluate/evaluate.py b/src/robofish/evaluate/evaluate.py index 7db6569b6d52c26091ca219a4a1d3d7b7bd2749d..fedefc76fdef3735a3af266e31022a027575e587 100644 --- a/src/robofish/evaluate/evaluate.py +++ b/src/robofish/evaluate/evaluate.py @@ -650,8 +650,8 @@ def evaluate_tracks( # Iterate all paths for k, files_in_path in enumerate(files_per_path): - random.shuffle(files_in_path) + # Iterate all files for i, file_path in enumerate(files_in_path): with robofish.io.File(file_path, "r") as file: diff --git a/src/robofish/io/file.py b/src/robofish/io/file.py index d57c7bf89ceb99508f1a4c09f14824c5b244b0c3..b29a54659b48e49fa3314d3c789ffcba5e330459 100644 --- a/src/robofish/io/file.py +++ b/src/robofish/io/file.py @@ -67,6 +67,7 @@ class File(h5py.File): *, # PEP 3102 world_size_cm: List[int] = None, validate: bool = False, + validate_when_saving: bool = True, strict_validate: bool = False, format_version: List[int] = default_format_version, format_url: str = default_format_url, @@ -143,6 +144,7 @@ class File(h5py.File): """ self.path = path + self.validate_when_saving = validate_when_saving if open_copy: assert ( @@ -256,7 +258,9 @@ class File(h5py.File): def __exit__(self, type, value, traceback): # Check if the context was left under normal circumstances if (type, value, traceback) == (None, None, None): - if self.mode != "r": # No need to validate read only files (performance). + if ( + self.mode != "r" and self.validate_when_saving + ): # No need to validate read only files (performance). self.validate() super().__exit__(type, value, traceback)