From cd844a6ae90421c13b3f11a830a48ce5fdcad1c8 Mon Sep 17 00:00:00 2001 From: Jerzy Kowalski Date: Tue, 28 Jun 2022 10:34:57 +0200 Subject: [PATCH] check whether data is a bigtiff candidate to save execution time --- apeer_ometiff_library/io.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/apeer_ometiff_library/io.py b/apeer_ometiff_library/io.py index 956b537..3f11c1b 100755 --- a/apeer_ometiff_library/io.py +++ b/apeer_ometiff_library/io.py @@ -231,11 +231,8 @@ def write_ometiff(output_path, array, omexml_string = None, compression=None): if omexml_string is None: omexml_string = gen_xml(array) - try: - tifffile.imwrite(output_path, array, photometric = "minisblack", description=omexml_string, metadata=None, - compress=compression) - except struct.error: - tifffile.imwrite(output_path, array, photometric = "minisblack", description=omexml_string, metadata=None, - compress=compression, bigtiff=True) - - + data_limit_nbytes = 2 ** 32 + tiff_metadata_nbytes = 2 ** 25 + bigtiff = array.nbytes > data_limit_nbytes - tiff_metadata_nbytes + tifffile.imwrite(output_path, array, photometric="minisblack", description=omexml_string, metadata=None, + compress=compression, bigtiff=bigtiff)