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")