Source code for Loader

# CellTracking.py
# By MW, Jun 2013
# GPLv3+
#
# This package provides an interface to load movies

# ==== Importations
import imp, logging, glob, sys, cv2, numpy

sys.path.append('./bin/Movies/Loader/')
import load_list_files   # Charger tous les modules (mettre ici, faute de mieux).
logging.debug("Modules loaded!")
[docs]class Loader : def __init__(self) : self.loaders_list = {'list_files' : load_list_files} self.img_paths = []
[docs] def load(self, inp, loader_name) : """Function that load the video files inside the Loader""" if self.img_paths != [] : logging.error("Loader already initialized") return self.img_paths if loader_name in self.loaders_list.keys() : self.img_paths = self.loaders_list[loader_name].Load(inp) return self.img_paths else : logging.error("The requested loader '%s' does not exist", loader_name) return self.img_paths
[docs] def get_frame_nb(self) : return len(self.img_paths)
[docs] def get_frame(self, index) : if (index < 0) or (index>len(self.img_paths)-1) : logging.error("The requested frame has an invalid index (%s)", str(index)) else : m = cv2.imread(self.img_paths[index]) m.dtype=numpy.uint8 return m
[docs] def get_size(self) : if len(self.img_paths) > 0 : im = cv2.imread(self.img_paths[0]) return im.shape else : logging.error("No movie has been instanciated in the Loader")