Home ||
Architecture ||
Video Search ||
Visual Search ||
Scripts ||
Applications ||
Important Messages ||
OGL ||
Src
-
Package diagram
-
Array Package
-
Persistency
-
Training
-
Class diagrams
The diagram below provides a design overview of the packages within Impala. You may check the design by inspecting the automatically generated dependencies on the dirs pages of the source section. The source section also contains an automatically generated list of namespaces.
The Core::Array package resides at the heart of Impala. Basically, it is a light-weigth incarnation of the C++ library for image and video processing from the Horus project.
Practially all numerical processing is done using functions in the Impala::Core::Array namespace. In principle, all functions should instantiate "Pat*" function(s) from Impala::Core::Array::Pattern with elements of Impala::Core::Array::Trait to arrive at the desired functionality with maximal code re-use. As a additional benefit, the operation may then be executed in a data parallel fashion on a cluster of computers without further effort by the user.
The Impala::Persitency layer is based on the notion of Locators and Repositories. For each class of objects that can be made persistent there is a corresponding locator. A Locator contains just enough information to designate the object of interest. You may think of a locator as a URI. The repository for a specific class performs the basic CRUD (create, read, update, and delete) operations on data objects. E.g. one may retrieve an object of class Aclass by calling the Get operation of the AclassRepository passing an AclassLocator as argument to designate the desired instance. Depending on the protocol specified in the locator, the AclassRepository will pass the request to either the AclassRepositoryInFile or the AclassRepositoryInMonet and thus retrieve the instance from the file system or the Monet DBMS.
Class diagram repository (using segmentation as example):
In general, a repository will treat a data object as a single entity in performing its operations. For example, a get operation will read the whole object. However, some objects do not fit that profile (at least not in the current implementation) and therefore employ a slightly different mechanism. An ImageArchive is such an object. One still retrieves the object by providing a locator to the repository, but the ImageArhive specialization maintains a reference to its origin to be able to get individual images later on.
Class diagram image archive repository:
Class diagram training:
Window and View hierarchy
Generated on Tue Mar 30 13:39:01 2010 for ImpalaDoc by
1.5.1