Differences between revisions 1 and 36 (spanning 35 versions)
Revision 1 as of 2007-02-10 18:07:33
Size: 471
Editor: gtang
Comment:
Revision 36 as of 2012-04-25 16:49:30
Size: 2273
Editor: JohnFlanagan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
EMAN2 use Boost.python to wrap c++ function to Python. Pyste is a Boost.Python code generator. In EMAN2 there is a script create_boost_python in /eman2/libpyEM directory to create c++ wrapping file linpy***.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 ===
==== Introductory concepts ====
 * [[EMAN2PythonStyleGuide|EMAN2 Python Programming Style Guide]]
 * [[Eman2ProgQuickstart|EMAN2 python programming quickstart]]
 * [[EMAN2ImageFormats|Image Formats in EMAN2]]
 * [[Eman2DataStorage|EMAN2 data storage & format conversion]]
 * [[Eman2BdbStorage|EMAN2 BDB access from Python]]
 * [[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]]
 * [[EMAN1To2Translation|Limited Table of translations from EMAN1 functions -> EMAN2]]
 * Specific object types
  * [[Eman2TransformInPython|Using the Transform object (python) (arbitrary 2-D and 3-D transformations)]]
  * [[Eman2Reconstructors|Using Reconstructor classes]]

==== Intermediate Concepts ====
 * [[Eman2CProgQuickstart|EMAN2 C++ programming quickstart]]
 * [[Eman2ProgOverview|How to add new capabilities to EMAN2 in C++]]
 * [[Eman2New3DItem|How to write an new Item3D widget for the EMScene3D widget]]
 * [[Eman2UsingFTGL|Using FTGL in python/EMAN2]]
 * [[Eman2Using3DWidget|Using the EMScene3D widget (3-D object display)]]
 * [[Eman2ProgramingPM|Programming e2projectmanager.py]]
 * [[EMAN2PMWorkflow|Modifying the EMAN2 projectmanager workflow]]

==== Advanced Topics ====
 * [[Eman2UsingCudaFromC++|The EMData class and CUDA]]
 * [[Eman2FactoriesInPython|Abstract factories in python/EMAN2]] (Modular classes, like processors, projectors, reconstructors, etc.)

==== Detailed Documentation on all Classes/Methods/Functions ====
 * [[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

{{attachment:sphere_cylinder_dist_grey_c.png}}

Documentation for Python or C++ Programmers

Introductory concepts

Intermediate Concepts

Advanced Topics

Detailed Documentation on all Classes/Methods/Functions

  • 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

sphere_cylinder_dist_grey_c.png

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