EDM: Electron Direct Methods, Version 3.0
Limitations and Bugs
Update Information and News
EDM is a set of programs intended to combine various aspects of image processing and manipulation of high resolution images and diffraction patterns as well as direct methods. The intent is to make available to the general user a relatively simple user-interface mouse driven version of what has been to date research oriented code. The code is Public Domain under the standard GNU license, which means that it is free to use or modify for non-commercial purposes.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Because this program is licensed free of charge, there is no warranty for the program, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the program "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction.
The full functionality of the software is relatively large, and includes:
A listserver has been established to facilitate use, which can be used to ask (or answer) questions such as "How do I do XYZ" as well as general information. You can subscribe to the EDM Listerver by sending an email message to email@example.com with
SUBSCRIBE EDM Firstname Lastname
in the body of the message.
The most current version of the code is 3.0 which is currently only available by anonymous cvs (see below) or as a tar file as edm-3.0.tar.gz. A windows executable edm-3.0.exe is also available. Beware that there are some issues with Visa which have not been fully resolved as yet, and the cvs method is better.
The source code can be compiled using the standard configure/make structure. Please see BUGS, CHANGES and INSTALL for additional information. Note that the BUGS report in this file is more current than what is in the documentation. Full documentation (as full as is currently available) can be found here. Some installation notes windows are here
The Windows version is a self-extracting installer (built using NSIS) which will do a standard install. We have tested that they work on a range of versions (95, 98, ME, 2000, XP), but if you have a slow (e.g. 100MHz) computer with limited RAM (e.g. 64M) you might encounter the famous blue screen -- we are not sure. Please note that the code is designed for unix, so is not optimized for Windows but does run quite fast.
The best method is to download the latest EDM via anonymous cvs:
cvs -d:pserver:firstname.lastname@example.org:/home/cvsroot checkout edm
You can also directly access the cvs on the web at http://www.josephsmith.northwestern.edu/cgi-bin/edmcvs.cgi/and older versions are shown at the web interface
The code is a mixture of C++ (main interfaces), C (some graphic routines and libraries for FFTs and forms) and Fortran 77 (fs98 code) -- you need compilers for these if you are going to build it yourself. Compilation is done via a conventional autoconf/automake approach with a configure file which has reasonably good default values for most architectures. Depending on your computer, this will take anywhere from 10 minutes (linux 1.5GHz) to 30 minutes (HPUX C3000). It will compile and run with a recent version of gcc/g++/g77, but you will get slightly faster operation if you use a native compiler (e.g. ifc, f90) although these tend to be a little picky so we suggest that you try gcc/g++/g77 first. Most f90 or f95 compilers that we have tried also accept f77 code, although earlier versions of ifc (releases earlier than 8) are a bit buggy.
If you compile on a new system for which there is not currently a binary, please let us know if you needed to change any parameters, e.g. CFLAGS, FFLAGS etc so we can incorporate these into the configuration. Any parameters that are better choices than what we currently have is also useful information. We would also be interested in a binary distribution that can be included on the web page or (for linux probably better) an rpm, but please contact us first. Note: specific changes to Makefiles are not that useful since this opens up the Pandora's box of attempting to maintain multiple distributions; changes to flags and options are easy to make. Please also report any errors (not warnings) that you find with native compilers.
Please also see CONTRIBUTE if you are interested in contributing to this project.