From 647683b87902645a0ce2c55a9f098f2bf8413b19 Mon Sep 17 00:00:00 2001 From: Christopher Rhodes <christopher.rhodes@embl.de> Date: Wed, 27 Sep 2023 16:08:44 +0200 Subject: [PATCH] Move ilastik examples; auto-generate accessor --- extensions/{ => ilastik}/examples/__init__.py | 0 extensions/{ => ilastik}/examples/ilastik3d.py | 0 model_server/accessors.py | 4 +++- tests/test_accessors.py | 6 ++++-- 4 files changed, 7 insertions(+), 3 deletions(-) rename extensions/{ => ilastik}/examples/__init__.py (100%) rename extensions/{ => ilastik}/examples/ilastik3d.py (100%) diff --git a/extensions/examples/__init__.py b/extensions/ilastik/examples/__init__.py similarity index 100% rename from extensions/examples/__init__.py rename to extensions/ilastik/examples/__init__.py diff --git a/extensions/examples/ilastik3d.py b/extensions/ilastik/examples/ilastik3d.py similarity index 100% rename from extensions/examples/ilastik3d.py rename to extensions/ilastik/examples/ilastik3d.py diff --git a/model_server/accessors.py b/model_server/accessors.py index 1a9b6b0b..ae5355f0 100644 --- a/model_server/accessors.py +++ b/model_server/accessors.py @@ -140,7 +140,9 @@ def write_accessor_data_to_file(fpath: Path, accessor: GenericImageDataAccessor) def generate_file_accessor(fpath): - if str(fpath).upper().endswith('.CZI'): + if str(fpath).upper().endswith('.TIF') or str(fpath).upper().endswith('.TIFF'): + return TifSingleSeriesFileAccessor(fpath) + elif str(fpath).upper().endswith('.CZI'): return CziImageFileAccessor(fpath) else: raise FileAccessorError(f'Could not match a file accessor with {fpath}') diff --git a/tests/test_accessors.py b/tests/test_accessors.py index bb5c95cd..da39610a 100644 --- a/tests/test_accessors.py +++ b/tests/test_accessors.py @@ -3,7 +3,7 @@ import unittest import numpy as np from conf.testing import czifile, output_path, tifffile -from model_server.accessors import CziImageFileAccessor, DataShapeError, InMemoryDataAccessor, write_accessor_data_to_file, TifSingleSeriesFileAccessor +from model_server.accessors import CziImageFileAccessor, DataShapeError, generate_file_accessor, InMemoryDataAccessor, write_accessor_data_to_file, TifSingleSeriesFileAccessor class TestCziImageFileAccess(unittest.TestCase): @@ -11,7 +11,9 @@ class TestCziImageFileAccess(unittest.TestCase): pass def test_tiffile_is_correct_shape(self): - tf = TifSingleSeriesFileAccessor(tifffile['path']) + tf = generate_file_accessor(tifffile['path']) + + self.assertIsInstance(tf, TifSingleSeriesFileAccessor) self.assertEqual(tf.shape_dict['Y'], tifffile['h']) self.assertEqual(tf.shape_dict['X'], tifffile['w']) self.assertEqual(tf.chroma, tifffile['c']) -- GitLab