Documentation for Python or C++ Programmers
Introductory concepts
EMAN2 Python Programming Style Guide
EMAN2 python programming quickstart
Image Formats in EMAN2
EMAN2 data storage & format conversion
Using NumPy with EMAN2
EMAN2 JSON file access from Python
Parameters/Metadata appearing in EMData attributes (and stored on disk with the image), accessed with get_attr and set_attr
Limited Table of translations from EMAN1 functions -> EMAN2
Modifying the EMAN2 projectmanager workflow
Specific object types
Using the Transform object (python) (arbitrary 2-D and 3-D transformations)
Using Reconstructor classes
Intermediate Concepts
EMAN2 C++ programming quickstart
Using FTGL in python/EMAN2
Using the EMScene3D widget (3-D object display)
How to write an new Item3D widget for the EMScene3D widget
Customizing the projectmanager workflow
Tutorial for adding an e2program to projectmanager
Adding a Wizard to projectmanager
Programming e2projectmanager.py
Advanced Topics
The EMData class and CUDA
Abstract factories in python/EMAN2
(Modular classes, like processors, projectors, reconstructors, etc.)
Build System
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