A roadmap for work at Stony Brook

Here are some thoughts for a way to proceed at Stony Brook. We should keep in mind the C coding conventions described in Sec. 1.4. The subroutine libraries can draw inspiration from the code of Anton Barty's 3dmpi program (Sec. 4.2), and Pierre Thibault's retriever (Sec. 4.1) program. Characteristics we'd like to have for our libraries include:

Things to be done:

  1. I think the style in which the first few MPI-enabled routines are written is very important for establishing the standards for the package. If the first routines are well written, then we will be in good shape for building the package further. Therefore we should get Nick D'Imperio to help with tweking the first, simple routines in dm_array.c before going too much farther.

  2. Finish programming and testing the routines for reading and writing assembled diffraction intensity or "/adi" files (Sec. 2.2.2). Add to the documentation of "/adi" files the text strings that are added in to track operations on a file. Jan Steinbrener.

  3. Once this is done, go on and do the same for support mask "/adi", "/spt" (Sec. 2.2.6) files, and iterate amplitude "/itn" files (Sec. 2.2.7). Perhaps Huijie and Xiaojing should each tackle one of these formats to make sure they understand the details of file I/O?

  4. The routine dm_array_test.c in CVS diffmic/c/util/test is meant to exercise dm_array_fft() and verify its output. I don't think the PNG images of slices taken out of the diffraction cube look right. This needs to be looked into.

  5. We need to add the code into dm_array_fft() to properly invoke the Apple dist_fft routines, and test it.

  6. We should have a routine that is the equivalent to shift(array,nx/2,ny/2,nz/2) in IDL. It might already exist in dist_fft?

  7. We want routines like dm_pi_modulus, dm_pi_support, and dm_dmap_delta to calculate the modulus and support constraints, and calculate the difference $\Delta$ in the difference map algorithm. The routine dm_dmap_delta should return the error measure $\epsilon$.

Microscope User 2008-11-25