Differences between revisions 5 and 21 (spanning 16 versions)
Revision 5 as of 2007-02-27 22:12:58
Size: 762
Editor: SteveLudtke
Comment:
Revision 21 as of 2009-03-05 18:09:45
Size: 1342
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Aside from the autogenerated docs:
 * Here is a [wiki:EMAN1To2Translation Table of translations from EMAN1 functions -> EMAN2]


Programming Internals:

EMAN2 uses [http://www.boost.org/libs/python/doc/ Boost.python] to wrap c++ functions to Python.

 [http://www.boost.org/libs/python/pyste/ Pyste] is a Boost.Python code generator to automate this process.

In EMAN2 there is a script create_boost_python in /eman2/libpyEM directory calls Pyste to create c++ wrapping files libpy***.cpp.

Then the c++ compiler will create libraries which contain all the Python function call of EMAN2. Current release of Pyste has a dificit for the default argument handling. So please replace two of your Pyste files in Python site-packages with attached files.
=== Documentation for Python or C++ Programmers ===
 * [[EMAN2DevFAQ|EMAN2 developer's FAQ]]
 * [[Eman2ProgQuickstart|EMAN2 programming quickstart]]
 * [[Eman2DataStorage|EMAN2 data storage, format conversion and local database]]
 * [[Eman2Metadata|Parameters/Metadata appearing in EMData attributes (and stored on disk with the image), accessed with get_attr and set_attr]]
 * [[Eman2AppMetadata|Parameters/Metadata for applications, not associated with a specific image, stored in bdb:project]]
 * [[Eman2UsingFTGL|Using FTGL in python/EMAN2]]
 * [[Eman2TransformInPython|Using the Transform object in python/EMAN2]]
 * [[Eman2UsingCudaFromC++|The EMData class and CUDA ]]
 * [[Eman2FactoriesInPython| Abstract factories in python/EMAN2]]
 * [[EMAN1To2Translation|Limited Table of translations from EMAN1 functions -> EMAN2]]
 * [[http://blake.bcm.edu/eman2/doxygen_html/|Autogenerated Python/C++ Documentation (Doxygen)]]
  * There are a LOT of classes in the automatic docs. Basic images are represented by the EMData class
  * The EMData methods process, cmp, align, and project are modular methods with many available functions. Use dump_processors(), dump_cmps(), etc.
  * There are a few classes like analyzers and reconstructors which are not methods of EMData
  * Many utility functions are static members of EMUtil

Documentation for Python or C++ Programmers

EMAN2/Library (last edited 2023-01-02 19:26:26 by TunayDurmaz)