Differences between revisions 5 and 25 (spanning 20 versions)
Revision 5 as of 2007-02-27 22:12:58
Size: 762
Editor: SteveLudtke
Comment:
Revision 25 as of 2009-06-30 18:11:24
Size: 1472
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]
=== Documentation for Python or C++ Programmers ===
 * [[Eman2ProgQuickstart|EMAN2 python programming quickstart]]
 * [[Eman2CProgQuickstart|EMAN2 C++ 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]]
 * [[EMAN2ImageFormats|Image Formats in 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
Line 5: Line 21:
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.
{{attachment:sphere_cylinder_dist_grey_c.png}}

Documentation for Python or C++ Programmers

sphere_cylinder_dist_grey_c.png

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