diff --git a/model_server/base/accessors.py b/model_server/base/accessors.py index 04daa7a2d540d8f5bb17c40df484d3f0650bffbc..95a0422f64e28a8e3818e41d1f306b2b0f196bd0 100644 --- a/model_server/base/accessors.py +++ b/model_server/base/accessors.py @@ -45,7 +45,7 @@ class GenericImageDataAccessor(ABC): # TODO: no direct calls to self._data outside load/unload methods def is_mask(self): - return is_mask(self._data) + return is_mask(self.data) def can_mask(self, acc): return self.is_mask() and self.shape == acc.get_mono(0).shape @@ -158,7 +158,7 @@ class GenericImageDataAccessor(ABC): @property def shape(self): - return self._data.shape + return self.data.shape @property def shape_dict(self): @@ -227,6 +227,9 @@ class GenericImageFileAccessor(GenericImageDataAccessor): # image data is loaded @property def data(self): + """ + Load from file if not loaded already; return data as 4d with axes in order of Y, X, C, Z + """ if self._data is None: self.load() return self._data @@ -520,9 +523,9 @@ class PatchStack(InMemoryDataAccessor): def get_list(self, crop=True): if crop: - return [self._data[i][self._slices[i]] for i in range(0, self.count)] + return [self.data[i][self._slices[i]] for i in range(0, self.count)] else: - return [self._data[i] for i in range(0, self.count)] + return [self.data[i] for i in range(0, self.count)] @property def pyxcz(self): diff --git a/tests/base/test_accessors.py b/tests/base/test_accessors.py index c70e2d6798e01bca7f9a3538cf4b5b1c5079e94e..2d9e9a6d2e6248021fdacef21e6024a3ca6d26a9 100644 --- a/tests/base/test_accessors.py +++ b/tests/base/test_accessors.py @@ -232,7 +232,7 @@ class TestCziImageFileAccess(unittest.TestCase): acc_cf = generate_file_accessor(data['czifile']['path'], lazy=True) self.assertEqual(acc_cf._data, None) self.assertEqual(acc_cf._metadata, None) - acc_cf.load() + nda = acc_cf.data self.assertIsNotNone(acc_cf._data) self.assertIsNotNone(acc_cf._metadata) self.assertIsInstance(acc_cf._data, np.ndarray)