Quick Start Guide for developers¶
NEFI2 is built with MVC pattern, so you will find familiar directories like “model” and “view” (we removed “controller” in latest versions) inside the project repository.
There are 3 main components in NEFI2 that you need to know about: Pipeline, Categories and Algorithms. Pipeline contains Categories which in turn contain Algorithms. Category is a collection of algorithms that fulfill specific image processing task.
Basically, the most important files you need to know are:
model/pipeline.py model/ext_loader.py view/controller.py view/MainView.ui
The core of NEFI2 is the Pipeline class which controls how data is processed. Whenever an algorithm produces a result, the Pipeline passes the result to the next Algorithm in a queue. Intermediate results are saved on disk.
The idea behind Extension Loader class which resides in
ext_loader.py is to search and instantiate Categories during startup.
The Categories, in turn, will instantiate all Algorithms (each category instantiates only the algorithms that belong to it). Once the Algorithms are instantiated controller creates the necessary widgets for Algorithm settings in the UI.
This is it so far, if you wanna dig further, continue to read the CodeBase.
Keep in mind that this project is in its early stages and even though we tried our best it has bugs, so don’t be shy add report bugs on our `Github page <http://www.github.com/???`_.