***** Auto3dem (1) Employ more intelligent algorithms for updating the angular and spatial step sizes used in the orientation and origin refinement, respectively. (2) Extend to symmetries other than icosahedral (3) Add improved diagnostic and warning messages (4) Allow auto3dem to die when one of the underlying parallel codes crashes (5) Add random model computations (New version only; old version already has this functionality) (6) Add unbiased model computations (New version only) ***** CTF (1) Apply CTF correction on a per particle basis (2) Refine defocus levels at each iteration of auto3dem (3) Multiply model by CTF rather than dividing images by CTF (4) Allow the use of highly astigmatic images ***** PO2R (1) Investigate different ways of searching orientation space during refinement. These may include: (a) Tracking particle histories and use local search for particles that don't move from iteration to iteration (b) Replacing search over grid of (theta, phi, omega) values with more intelligent approach employing either simulated annealing or Powell's method. (2) Improve parallel algorithm to achieve better load balancing. ***** PPFT (1) Extend program to handle non-spherical particles (2) Allow symmetries other than icosahedral ***** Memory usage (1) Take advantage of icosahedral symmetry to reduce the memory required to store the 3D FT of the map. This can be done in the following stages (a) Use three mutually perpendicular twofold axes together with the Friedel condition to store only 1/8 of the 3D FT (b) Consider rotations about threefold axis to further reduce storage requirements to 1/24 of the 3D FT (c) Use the full symmetry of the icosahedron to reduce memory usage to 1/30 or 1/60 of the 3D FT ***** General (1) Continue cleanup of all source code o modernization to fortran 90 o removal of unused variables o improved comments o renaming of variables and routines to reflect purpose and/or usage o specification of argument intents o address remaining portability issues o rewrite convoluted logic (2) Write improved documentation for all codes (3) Develop shared memory parallel versions of all codes. (4) Add preprocessor directives so that parallel codes can be run on serial machines that do not have MPI library