Volume Correlation

This document is to serve as the how-to-use file for the group of SPIDER procedure files pertaining to volume correlation. This includes VolCorr.bat, VCWH.bat, and hc.bat. This document is arranged as follows:
  1. User level documentation - how to use this group of programs on a daily basis.
  2. General Explanation - theory on partitions and why things are why they are
  3. Programmer level documentation - in depth explanation of code, for ease of modification
  4. Acknowledgements
  1. User level documentation OR: How I Learned to Stop Worrying And Use 688 Lines Of Code


  2. General Explanation - Partitions, Search Regions, and Jump Values (Oh My!)
    1. After many iterations of this program, I realized that a point-centric model was the most efficient way to determine and maintain the multiple spaces that are needed. The term point-centric pertains to the method of creating and locating the search regions in their respective partitions. The method determines the center of a search region or partition, and then expands from this central point, to create the space. This is instead of SPIDER's inherent system of defining the upper-left corner, then expanding from that. For variables x77-9 the term divisions is used. The easiest way of visualizing divisions is to imagine a cake. Each variable describes how many divisions in a particular dimension will be made. If x77 = 3, then there will be two cuts made. Resulting in three slices, or divisions, of cake in the X direction. This same thought process can be used for Y and Z dimensions as well. It follows that if there is 3,5,and 7 divisions in the X,Y, and Z dimensions that there will be 3*5*7=105 pieces of cake, or partitions. In order for the point-centric model to be useful, there must be one point, or voxel, that is the center of each partition. To insure this, there are tests to force each division, and therefor each partition, height to be an odd number. This central voxel of the partition is also the center point of a search region. Using the variables that are responsible for "cube size", the search cube is developed by expanding out from the center voxel. If x80 = 11, the X size of the search cube is (central point's x value minus five) to (central point's x value plus five). In this way, the point-centric method forces the search cube, and it's respective partition, to be co-centric.
    2. With the coordinates of the search region defined, it is copied out from the secondary volume and transformed into Fourier space. Then the respective partition is copied out of the primary volume and also changed into Fourier space. They are then compared to each other, and the distance between their best fit's are calculated. This distance is returnedas the output. A simple test is to compare a file to itself. The two points should be identical, as long as there is a minimum of white noise, and therefore a distnce of 0 returned.
  3. Programmer level documentation

    What follows is a VERY rough, line-by-line account of what is going on, and why.

    VolCorr.bat



    VCWH.bat
    WARNING due to the many incarnations of this program, some comments in VCWH may refer to similar things with different terminology than used in this ReadMe. The process is correct, but the objects affected may be different than how I describe them here. I wrote this ReadMe to be the diffinitive explanation, it SHOULD supersede any description in VCWH, but "caveat programmtor".



  4. Acknowledgements - Requiem For A ReadMe

    Heartfelt thanks to Dr. Joachim Frank and Dr. ArDean Leith, for giving me the chance to prove my mettle. With their help, I have proven how well a bioengineer with 3 programming classes can code.

    Alan Roseman whose paper found in Ultramicroscopy, Vol 94, Issues 3-4, (2003), 225-236) first developed and proved the efficacy of the algorithm.

    Bimal Rath, who first developed Roseman's paper into a viable SPIDER procedure file. His program is discussed here.

    VolCorr, VCWH, hc, and this ReadMe written by Jamie LeBarron. Please keep in mind, bad jokes are better than none at all. In regards to the length, I rated usefullness over compactness. 12/29/03