diff --git a/mesmerize_core/caiman_extensions/common.py b/mesmerize_core/caiman_extensions/common.py index 6f0ffb0..7f6e67c 100644 --- a/mesmerize_core/caiman_extensions/common.py +++ b/mesmerize_core/caiman_extensions/common.py @@ -7,6 +7,7 @@ import numpy as np import pandas as pd +import pims from ..batch_utils import ( COMPUTE_BACKENDS, @@ -17,10 +18,11 @@ PathsSeriesExtension, HAS_PYQT, ) -from ..utils import validate_path, IS_WINDOWS, make_runfile +from ..utils import validate_path, IS_WINDOWS, make_runfile, warning_experimental if HAS_PYQT: from PyQt5 import QtCore +from caiman import load_memmap def validate(algo: str = None): @@ -254,7 +256,6 @@ def run( return self.process - @validate() def get_input_movie_path(self) -> Path: """ Returns @@ -265,6 +266,17 @@ def get_input_movie_path(self) -> Path: return self._series.paths.resolve(self._series["input_movie_path"]) + @warning_experimental() + def get_input_movie(self) -> Union[np.ndarray, pims.FramesSequence]: + extension = self.get_input_movie_path().suffixes[-1] + + if extension in ['.tiff', '.tif', '.btf']: + return pims.open(str(self.get_input_movie_path())) + + elif extension in ['.mmap', '.memmap']: + Yr, dims, T = load_memmap(str(self.get_input_movie_path())) + return np.reshape(Yr.T, [T] + list(dims), order="F") + @validate() def get_correlation_image(self) -> np.ndarray: """ diff --git a/requirements.txt b/requirements.txt index 416949a..b944286 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,5 @@ matplotlib click psutil PyQt5 +pims +