diff --git a/aliby/io/image.py b/aliby/io/image.py
index dfd7a1b44ea55f1f257100f9ee1a25e4862f8538..2e2adec4854c7279963da1122080a094b5fd7615 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):
         """