Chapter 1. Conceptual Overview

Table of Contents

1.1. Overview
1.2. Principles
1.3. ML Classes - Overview
1.3.1. Classes for Module Development
1.3.2. Administrative Classes
1.3.3. Image Classes
1.3.4. Helper Classes
1.3.5. APIs and Classes for Interfaces and Voxel Type Extensions
1.3.6. Component Groups
1.3.7. The ML Module Database

Chapter Objectives

By reading this chapter, you will get to know

1.1. Overview

The MeVis Image Processing Library (called ML in the following) represents a general approach to image processing. It is based on the following principal ideas:

  • Image processing algorithms are represented by modules (sometimes also called operators or nodes).

  • Modules are mainly arranged in a directed graph that represents the flow of image data.

  • Modules implement a unified image processing interface.

  • Modules are self-descriptive by exporting their parameters as fields (field interface).

  • Image data is processed in fractions, i.e., page by page (paging).

  • Pages can be processed in parallel if supported by a module (multithreading).

  • Image processing is performed on a request-oriented basis (pull model, processing on demand).

  • Images can have up to six dimensions.

  • Image pixels (called voxels in this document) can be single scalars or structures (e.g vectors, complex values or matrices).

  • Platform independence, pure C++ code running on Windows, Linux and Mac OS X.

  • A C interface of the ML is available for applications that do not use C++.