From 735ca41a3a9053d45f553592751573839254d17c Mon Sep 17 00:00:00 2001
From: Christopher Rhodes <christopher.rhodes@embl.de>
Date: Thu, 12 Oct 2023 16:20:37 +0200
Subject: [PATCH] Added support for RGB PNG

---
 conf/testing.py         | 10 ++++++++++
 tests/test_accessors.py | 10 ++++++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/conf/testing.py b/conf/testing.py
index a089ccc5..59d642b8 100644
--- a/conf/testing.py
+++ b/conf/testing.py
@@ -12,6 +12,16 @@ czifile = {
     'z': 1,
 }
 
+filename = 'test_img.png'
+pngfile = {
+    'filename': filename,
+    'path': root / filename,
+    'w': 64,
+    'h': 128,
+    'c': 3,
+    'z': 1
+}
+
 filename = 'zmask-test-stack.tif'
 tifffile = {
     'filename': filename,
diff --git a/tests/test_accessors.py b/tests/test_accessors.py
index da39610a..426afa07 100644
--- a/tests/test_accessors.py
+++ b/tests/test_accessors.py
@@ -2,8 +2,8 @@ import unittest
 
 import numpy as np
 
-from conf.testing import czifile, output_path, tifffile
-from model_server.accessors import CziImageFileAccessor, DataShapeError, generate_file_accessor, InMemoryDataAccessor, write_accessor_data_to_file, TifSingleSeriesFileAccessor
+from conf.testing import czifile, output_path, pngfile, tifffile
+from model_server.accessors import CziImageFileAccessor, DataShapeError, generate_file_accessor, InMemoryDataAccessor, PngFileAccessor, write_accessor_data_to_file, TifSingleSeriesFileAccessor
 
 class TestCziImageFileAccess(unittest.TestCase):
 
@@ -98,3 +98,9 @@ class TestCziImageFileAccess(unittest.TestCase):
         se = fh.series[0]
         fh_shape_dict = {se.axes[i]: se.shape[i] for i in range(0, len(se.shape))}
         self.assertEqual(fh_shape_dict, acc.shape_dict, 'Axes are not preserved in TIF output')
+
+    def test_read_rgb_png(self):
+        acc = PngFileAccessor(pngfile['path'])
+        self.assertEqual(acc.hw, (pngfile['h'], pngfile['w']))
+        self.assertEqual(acc.chroma, 3)
+        self.assertEqual(acc.nz, 1)
-- 
GitLab