From 01d698a9fd350f9632ff67a562a83bf9ffdf60ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <amuoz@ed.ac.uk>
Date: Wed, 3 Aug 2022 17:44:39 +0100
Subject: [PATCH] feat(image): add from_h5 builder

---
 aliby/io/image.py | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/aliby/io/image.py b/aliby/io/image.py
index dfd7a1b4..2e2adec4 100644
--- a/aliby/io/image.py
+++ b/aliby/io/image.py
@@ -6,6 +6,7 @@ from pathlib import Path, PosixPath
 
 import dask.array as da
 import xmltodict
+from agora.io.writer import load_attributes
 from dask.array.image import imread
 from tifffile import TiffFile
 
@@ -209,6 +210,30 @@ class Image(Argo):
         # images from OMERO
         self._image_wrap = None
 
+    @classmethod
+    def from_h5(
+        cls,
+        filepath: t.Union[str, PosixPath],
+    ):
+        """Instatiate Image from a hdf5 file.
+
+        Parameters
+        ----------
+        cls : Image
+            Image class
+        filepath : t.Union[str, PosixPath]
+            Location of hdf5 file.
+
+        Examples
+        --------
+        FIXME: Add docs.
+
+        """
+        metadata = load_attributes(filepath)
+        image_id = metadata["image_id"]
+        server_info = metadata["parameters"]["general"].get("server_info", {})
+        return cls(image_id, **server_info)
+
     @property
     def image_wrap(self):
         """
-- 
GitLab