Differences between revisions 6 and 7
Revision 6 as of 2012-04-17 21:36:12
Size: 1505
Editor: JohnFlanagan
Comment:
Revision 7 as of 2012-04-17 21:36:34
Size: 1501
Editor: JohnFlanagan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
''self.tree_stacked_widget.addWidget(self.makeTreeWidget(os.getenv("EMAN2DIR")+'/lib/pmconfig/myjsonfile.json', 'name'))'' self.tree_stacked_widget.addWidget(self.makeTreeWidget(os.getenv("EMAN2DIR")+'/lib/pmconfig/myjsonfile.json', 'name'))

This page illustrates the working of e2projectmanager.py

The new GUI for EMAN2 is known as e2projectmanager.py and is mainly used to organize electron microscopy projects, and execute e2programs. The projectmanager can be run in two modes, SPR(single particle reconstruction) and tomo (tomogramphic). Other modes can be added and this page describes how to do that. Each mode has a JSON file describing the workflow of a mode. The workflow is a tree that describes a flow of data from raw to final form, and traversing this tree describes the data flow(approximately, as some deviations are allowed). These JSON files can be easily modified to allow workflow modification without needing to touch the source code(a vast improvement over e2workflow.py).

Design of e2projectmanager.py

The projectmanager itself is implemented as a class named: EMProjectManager that inherits from QtGui.QMainWindow This class is quite large and has many methods.

  1. method: makeStackedWidget(), this adds tree widgets to the workflow widget stack(the SPR and tomo workflow trees are inserted into a QWidgetStack). If you want to add a new mode to the projectmanager, add to this method the line:

   1 self.tree_stacked_widget.addWidget(self.makeTreeWidget(os.getenv("EMAN2DIR")+'/lib/pmconfig/myjsonfile.json', 'name'))

where myjsonfile.json is the JSON file for this mode and name is the name of this mode(will be displayed in the mode combobox).

Eman2ProgramingPM (last edited 2012-04-17 22:47:15 by JohnFlanagan)