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

---
 model_server/accessors.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/model_server/accessors.py b/model_server/accessors.py
index 7183036a..9a53da17 100644
--- a/model_server/accessors.py
+++ b/model_server/accessors.py
@@ -4,6 +4,7 @@ from pathlib import Path
 from typing import Dict
 
 import numpy as np
+from skimage.io import imread
 
 import czifile
 import tifffile
@@ -114,6 +115,17 @@ class TifSingleSeriesFileAccessor(GenericImageFileAccessor):
     def __del__(self):
         self.tf.close()
 
+class PngFileAccessor(GenericImageFileAccessor):
+    def __init__(self, fpath: Path):
+        super().__init__(fpath)
+
+        try:
+            arr = imread(fpath)
+        except Exception:
+            FileAccessorError(f'Unable to access data in {fpath}')
+
+        self._data = np.expand_dims(arr, 3)
+
 class CziImageFileAccessor(GenericImageFileAccessor):
     """
     Image that is stored in a Zeiss .CZI file; may be multi-channel, and/or a z-stack,
-- 
GitLab