raw.img | the image file for raw particles |
proj.img | the image file for complete projections in Icosahedral asymmetric unit |
[inort=<input_orient_center_for_proj>] | the input parameter text file for orientation/center of projections, format is same as Hong Zhou's. default to use orientations stored in file header |
[outort=<res_orient_center_for_raw>] | the output parameter text file for orientation/center of raw particles, same format. default not to output |
[ignorerefid] | ignore the best matched projection ID stored in image header, to start from scratch and avoid formal wrong result, default is to honor it and speed up |
[ignorecen] | ignore the center offsets stored in image header, to start from scratch and avoid formal wrong result, default is to honor it and speed up |
[usemyangle] | start from the Euler angles stored in the header, only search neighbor angular region, will force "ignorerefid" set |
[precen[=<rot-avg image>]] | if the rotation avegraged image is given, then the raw particles will be centered with it by CCF (this will cause center parameters in header ignored at the same time), or if set without rotation averaged file, then assume the raw particle is already centered, the default is to treat particles not centered at all and do a full center refinement |
[angrange=<degree>] | the minimal angular range in degree around the intermediate best orientation to search for next round, default is 2.5 of the angular step size for Icosahedral projections |
[mask=<pixels>] | mask radius in pixel, the center of mask will move to particle center if center shift found. default to nx/2 |
[maxshift=<pixels>] | maximaml number of pxiels allowed for center alignment determination, default for P22 at 3.5Angstrom/pixel to shift to touch edge |
[first=<n0>] | the first image to process in the file, default to 0 |
[last=<n1>] | the last image to process in the file, default to the last in the file |
[frac=<0 to d-1>/<d>] | for runpar parallelization, set this thread to only work on certain fraction of images of all images in the file, default to 0/1 (all images in the file) |
[verbose] | if set, output some intermediate results |
[showlist] | if set, output the list of projection IDs that corresponding projections searched at each cycle, to reflect the dynamic nature of this algorithm |
WaveOrtCen raw.hed proj.hed inort=Icos_projectOrtCenter.dat outort=res-ort.dat
WaveOrtCen raw.hed proj.hed inort=Icos_projectOrtCenter.dat outort=res-ort.dat frac=0/1 ignorerefid ignorecen verbose frac=3/6 precen=proj-rotav.img
This program tries to find the best matched icoshedral projection to set the 3 Euler angles, and the center offset from image center for each raw particle image in the file, then store the 5 parameters to image header without any modification of the actual image data to minimize the interpolation errors, the final reconstruction step should translate each image accordingly before actual 3D reconstruction.
The algorithm is classified as projection matching, but with Wavelet transform of both the raw images and the projection images before the matching search starts. The reference projections would be treated as already Wavelet transformed if the size is half of the raw image size, otherwise it must be the same size as the raw image size and will be Wavelet transformed. Ask Ali Saad for detailed explanation for Wavelet transform.
The 3 Euler and 2 center parameters are determined iteratively until all are converged or 8 cycles to signal a possible bad particle, if this happens, then the corresponding image header will set to obvious value, specially the score will be set to ZERO. Only the first cycle searches for all projections, the in the later cycles, only projections within certain range of the current best projection are searched to avoid unneccesarry waste of computing time on remote projections. To be conservative (avoid being trapped in the wrong local minimum), the range is dynamic modulated by the amount of center offset(~offset^2*anglerange, anglerange is set in command line or default to 2.5 * Icosahedral projection step size, but the range is always larger than the anglerange).
Warning: the centering algorithm is not perfect yet, sometime it will be trapped in wrong location, wait for improvement