From cd952c85be8897795e6f57f4d6f84664458dc1e8 Mon Sep 17 00:00:00 2001 From: Christian Kento Rasmussen <christian.kento@gmail.com> Date: Tue, 28 May 2024 14:28:19 +0200 Subject: [PATCH] created load function for dask --- qim3d/io/loading.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/qim3d/io/loading.py b/qim3d/io/loading.py index 1b986b7a..2b33aef5 100644 --- a/qim3d/io/loading.py +++ b/qim3d/io/loading.py @@ -602,6 +602,27 @@ class DataLoader: return vol, dicom_list else: return vol + + + def load_zarr(self, path: str): + """ Loads a Zarr array from disk. + + Args: + path (str): The path to the Zarr array on disk. + + Returns: + dask.array | numpy.ndarray: The dask array loaded from disk. + if 'self.virtual_stack' is True, returns a dask array object, else returns a numpy.ndarray object. + """ + + # Opens the Zarr array + vol = da.from_zarr(path) + + # If virtual stack is disabled, return the computed array (np.ndarray) + if not self.virtual_stack: + vol = vol.compute() + + return vol def check_file_size(self, filename: str): """ @@ -674,6 +695,8 @@ class DataLoader: return self.load_vol(path) elif path.endswith((".dcm", ".DCM")): return self.load_dicom(path) + elif path.endswith(".zarr"): + return self.load_zarr(path) else: try: return self.load_pil(path) -- GitLab