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:

  1. Based on C++:
    1. 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.
    2. 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, ...
  2. Specific library support: Xmipp itself is made up of ad hoc designed libraries which simplify image developer's life

xmipp_logo.gif (4792 bytes)