The set of programs in FS98 are intended to attempt to find the (missing) phase information from a set of diffraction measurements of two-dimensional data, for instance in-plane x-ray diffraction data from a surface or transmission electron diffraction data. They can also be used to extend to higher resolution when you already have some phases from, for instance, a HREM image and transmission electron diffraction data. While they are not guaranteed to work, they will almost without exception do a better job than simply making guesses at the result. To date they have proven to work well with good surface diffraction data to a resolution of about 1 Angstrom [1], and for transmission electron diffraction when the structure of interest projects well into columns of atoms along the viewing direction [4-5]. However, the case of transmission electron diffraction is complicated, and the method will probably only work for rather thin samples (< 20nm).
The basic idea behind this code, and other codes (which go under the general name of Direct Methods [6]) is to exploit the fact that we know as a-priori information the fact that we have atoms in the structure. For N different diffracted beams in principle there are an infinitely large number of permutations of the (unknown) phases. However, only a few different combinations, sometimes only one will satisfy the a-priori information. The fact that we have atoms leads to various probabilistic relationships between the phases of the different diffracted beams which can be considered as a set of simultaneous equations. The task is then to solve these simultaneous equations in some fashion. Unlike, for instance, inverting a matrix there is no analytical method of doing this, so instead one tries various different combinations of phases. The particular combination which best matches to the presence of atoms, gauged numerical by a "Figure of Merit" or FOM is probably correct. Note here the use of probably - we do not get exact answers in the first steps of the analysis, only approximately correct phases. However, if you have more than 50% of the atoms in the structure then it is often relatively simple to find the rest, at least with three-dimensional diffraction data. (Unfortunately it is not so simple with just two-dimensional data.)