Im2Learn Code Architecture

Im2Learn code is decomposed into several components such as Im2Learn core, Im2Learn extensions (re-usable plugins), Im2Learn main (custom configuration files), test routines, and custom code driven by specific projects. This document will primarily focus on ‘Im2Learn core’ and ‘Im2Learn extensions’ components. The ‘Im2Learn main’ component allows us to distribute code configurations according to the needs of researchers, for example, bio-medical plugins belong to a different configuration than geo-spatial analysis plugins. The test routines are an integrated part of code testing in addition to auto-builds performed every night. Finally, the custom code is a repository of Im2Learn plugins that are funded by private industry or use libraries that do not allow code distribution.