Xmipp Programmer's manual
-
Software
model
-
Libraries
-
Error codes
-
Configuration
-
File Formats
-
Conventions
-
Bugs
-
Other
packages used
-
Adding
Functionality
Xmipp has been designed not only with the purpose of providing Electron
Microscopy Image Processing Programs used by biologists, and biochemists
with the final goal of obtaining a 3D reconstruction of the macromolecule,
but with the intention to constitute an OPEN and POWERFUL system where
developers in the field of Electron Microscopy Image Processing can easily
work, concentrating their efforts in the image processing topics instead
of the tedious low-level tasks. For this purpose, a high level programming
language as C++ has been chosen and a powerful set of libraries have been
written specially for the management of electron microscopic images. The
covered topics range from file I/O, image processing basics, geometrical
reletionships, matrix and vector operations, histogram operations, error
and time handling, ... up to phantom definitions, grid and blob specifications,
2D projections from different kind of volumes, principal components analysis,
pattern recognition and classfication, ...
The main advantages of this system as a developing environment could
be summarized as:
-
Based on C++:
-
Large library support: you may take advantage
of any graphical library, mathematical library, or any other kind of library
available for C++ which is a quite spread programming language.
-
Object oriented environment: the object oriented
programming philosphy has proved to be a very powerful tool in the development
of huge systems for several reasons: reusability of the code, high modularity,
clear module interfaces, ...
-
Specific library support: Xmipp itself is
made up of ad hoc designed libraries which simplify image developer's
life