Name

sxfind_struct - use the "common line" algorithm to assign initial values of phi, theta, psi to 2D average projections.

Usage

Usage in command lines:

sxfind_struct.py prj_stack outdir --ir --ou --delta --dpsi --lf --hf --rand_seed --maxit --debug --noweights --trials --given --first_zero --weights --MPIGA --pcross --pmut --maxgen --MPI --trials

Usage in python programing:

sxfind_struct(stack, out_dir, ir, ou, delta, dpsi, lf, hf, rand_seed, maxit, given = False, first_zero = False, flag_weights = False, debug = False, trials = 1)

Example:

sxfind_struct.py ave_15.hdf voronoi --ou=26 --delta=8 --lf=0.05 --hf=0.25 --rand_seed=10 --maxit=30

Note: the 2D input images have to be centered. The program does not determine translation parameters, it only finds the Eulerian angles.

Input

prj_stack
projection stack file
outdir
output directory
  • The parameters preceded with -- are optional and default values are given in parenthesis.

  • ir
    inner radius used to the circle mask applied to the projections (default 1)
    ou

    outer radius used to the circle mask applied to the projections, ou is also used to set the length of 1D line projection =2*ou+1 (default ou=nx/2-1, where nx is the width of 2D image projection)

    delta

    accuracy of the angular search. Delta accuracy will define a set of quasi-evenly distributed projections directions to be used in the program (distribution 'P' of even_angles)

    dpsi
    accuracy of sinogram, dpsi refert to the angle step used to create the sinograms from the projections (default 1)
    lf

    for each 1D line projection only frequencies between minimum and maximum will be used, lf define the low frequency (default 0.0)

    hf

    for each 1D line projection only frequencies between minimum and maximum will be used, hf define the high frequency (default 0.5)

    random_seed
    the seed used for generating random numbers (set to random)
    maxit
    maximum number of iterations, each iteration will refine all angles for all projections (default 20)
    trials
    Number of trials for the MPI version
    MPIGA
    MPI version (Genetic algorithm)
    pcross
    Cross-over probability (set to 0.95)
    pmut
    Mutation probability (set to 0.05)
    maxgen
    Maximum number of generations (set to 10)
    given

    if present, set the initial angles of projections according the angles included in the header of each projection as objects xform.projection (default False)

    first_zero
    if present, set to zero the angles of the first projection, and keep them as zeroes for all iterations (default False)
    noweights
    do not use Voronoi weights (default False, i.e., the weights will be used)

    Output

    outdir/angles_000
    this file contains Eulerian angles fount in trial #000 (if there were more trials requested, there will be more files numbered 001, 002, and so on)
    outdir/plot_agls_000.hdf

    this image in the hdf format contains visualization of the distribution of projections found during trial #000 (see also sxplot_projs_distrib)

    outdir/structure_000.hdf

    copy of the stack of 2D projections with Eulerian angles found at trial #000 set in the header. In order to examine the structure, one has to do the 3D reconstructions sxrecons3d_n.py outdir/structure_000.hdf myvol.hdf

    outdir/structure.hdf
    for multiple trials, it is a copy of the stack of 2D projections with Eulerian angles found at the best trial set in the header.

    Description

    Method

    As described in the reference paper below, with modification of a full 2D Voronoi diagram on a sphere.

    How to use the function sxfind_struct:

    If the input stack contain already angles information (phi, theta, psi) for each projection, copy your file to a backup, because the program will overwrite the parameter xform.proj. In order to select the accuracy of the angle search delta, some examples below show the number of angles used in the list according the delta value:

    To get a quick view of the structure found, use this function (sxrecons3d_n) to reconstruct the volume:

    The structure found depends on the random initialization of the program, controled by the option value random_seed. To improve the structure run many times the algorithm with different seed values. Select the best structure according the criterion Discrepancy wrote in the logfile. A lower criterion mean a better structure.

    Reference

    Penczek, P., Zhu, J. and Frank, J.: A common-lines based method for determining orientations for N>3 particle projections simultaneously. Ultramicroscopy 63:205-218, 1996.

    Author / Maintainer

    Julien Bert

    Keywords

    category 1
    APPLICATIONS

    Files

    applications.py

    See also

    Maturity

    stable
    works for most people, has been tested; test cases/examples available.

    Bugs

    sxfind_struct (last edited 2013-07-01 13:13:02 by localhost)