About This Document

Table of Contents

1. What This Document Contains
2. What You Should Know Before Reading This Document
3. Suggestions for Further Reading
4. Conventions Used in This Document
5. Quick Start

This document describes nature, contents, usage and ways to enlarge the MeVis Image Processing Library (ML), often also called MeVis Library.

1. What This Document Contains

Chapter 1, Conceptual Overview provides information on the ML itself, its purpose, and its components.

Chapter 2, Detailed Class Overview and Usage gives a detailed survey of the most important ML classes and discusses their purpose and usage.

Chapter 3, Deriving Your Own Module from Module explains in detail how to implement your own image processing module by deriving a new class from the class Module.

Chapter 4, Image Processing Concepts addresses some concepts to find optimal implementation strategies for different algorithm types.

Chapter 5, Debugging and Error Handling gives a detailed introduction into the error and message handling system, as well as in logging and exception handling functionality of the ML.

Chapter 6, The C-API is an introduction to the C programming interface of the ML which can be used by applications and other programming languages.

Chapter 7, Registered Voxel Data Types shows how registered voxel data types work, how they can be used, implemented and registered in the ML.

Chapter 8, Base Objects describes how to (re)store self defined class objects with ML concepts.

Chapter 9, Unicode Support discusses how international/unicoded characters are handled by the ML.

Chapter 10, File System Support describes how files can be managed platform independently with international/unicoded file names.

Appendix A, Basics about ML Programming and Projects discusses some programming and system requirements needed to implement ML modules.

Section A.1, “Creating an ML Project by Using MeVisLab” is a quick start for module development using MeVisLab.

Section A.2, “Programming Examples” gives an overview of ML programming examples available with the MeVisLab software development kit.

Section A.3, “Exporting Library Symbols” discusses how library symbols are exported to other libraries.

Section A.4, “General Rules for ML Programming” addresses some different issues important for ML module programming, especially to avoid some typical traps and pitfalls when programming ML modules.

Section A.5, “How to Document an ML Module” gives some general documentation hints and tips so that your module fits into the ML module database and into MeVisLab

Section A.6, “Updating from Older ML Versions” describes some compatibility problems and solutions.

Section A.7, “Version Control” explains how different ML versions can be detected.

Appendix B, Optimizing Image Processing is a list of hints and approaches to optimize module networks and self implemented ML modules to reach best performance.

Appendix C, Handling Memory Problems discusses how to avoid and handle the "Out of Memory" problem.

Appendix D, Messages and Errors describes which messages and errors are handled by the ML by the class ErrorOutput (Section 5.4, “The Class ErrorOutput and Configuring Message Outputs”).

Appendix E, Improving Quality of ML-Based Software summarizes references to sections which discuss tools, ideas, and classes to improve software quality.

The Glossary is a survey of technical terms used in this document.