BP RP - Back Projection - 3D, iterative, Richardson, constrained ||*

(04/12/12)

PURPOSE

Calculates a sample reconstruction from selected projection images using Richardsons constrained method. Only works for square projection images. See: Comparison of 'BP' operations.   Example.

SEE ALSO

BP RP 3 [Back Projection - 3D, iterative, Richardson, constrained ||*]
BP CG [Back Projection - 3D, Iterative, Conjugate Gradients ||*]
BP 3F [Back Projection - 3D, Interpolated in Fourier space ||*]
BP 3D [Back Projection - 3D, using Euler angles ||]
BP W2 [Back Projection - 2D, filtered, weighted ||]

USAGE

.OPERATION: BP RP [niter]

[Optional register variable receives the number of iterations completed during the reconstruction.]

.TEMPLATE FOR IMAGE FILE: PROJ***
[Enter template for projection image input files.]

.FILE NUMBERS OR SELECTION DOC. FILE NAME: 1-700
[Enter image file numbers or the name of a document file which contains the image file numbers in its first register column.]

.RADIUS OF RESTORED OBJECT: 23
[Enter radius of reconstructed object in pixels (smaller than the volume size). The reconstruction is calculated inside the sphere only.]

.ANGLES DOC FILE: ANGLESDOC
[Enter name of the document file which contains Eulerian angles: psi, theta, and phi in the first three registers columns. These angles specify the projection directions.]

.SYMMETRIES ANGLES DOC FILE: ANGSYMDOC
[Enter * if the structure has no symmetries.
Otherwise, enter the name of the document file containing Eulerian angles defining symmetries (psi, theta, phi). The angles should be such that when used in operation 'RT 3D' they transform the volume into itself. The identity operation (angles 0,0,0) MUST be included. The symmetries will be internally enforced on the volume. The reconstruction in this case is calculated as though the projections were multiplied as many times as there are symmetries.]

.RECONSTRUCTED VOLUME FILE: VOLUME1001
[Enter name for the output file.]

.LAMBDA, CORRECTION LIMIT: 1.0e-4, 0.0
[Lambda determines the weight of corrections. Too small a value results in long time of calculations; too large value will terminate the iterations too soon. (Note #2).
Correction limit can be used to terminate the iterations. When the squared correction of the structure becomes smaller than the preset value, the iterations are terminated. When correction limit is set to zero, it will not be used to terminate the program. Iteration limit will be used instead.]

.ITERATION LIMIT, MODE: 25, 8
[Program will terminate after number of iterations given.
Mode determines the constraint(s) used:
0 - No constraints.
1 - Smoothing.
2 - Min constraint.
3 - Smoothing & min constraints.
4 - (No mode 4)
5 - Max constraint.
6 - Smoothing & max constraints.
7 - Min & max constraint.
8 - Smoothing, min, & max constraints.
Any combination of constraints can be used. The mode value should be the sum of any single modes, for example mode=7 activates both min and max constraints, while mode=8 uses all three of them. Constraints are ignored if mode=0, but dummy values should still be entered on the next two lines.]

.MINIMUM, MAXIMUM: 1.77, 1.90
[Values of min and max constraints: i.e., the max and min values of the 2D projection data set. Constraints are ignored if mode=0, but dummy values must still be entered.]

.SMOOTHING CONSTANT (0-0.999): 0.9994
[Smoothing constant determines relative weight of the low-pass filtration. See note #4. Constraints are ignored if mode=0, but a dummy value must still be entered.]

NOTES

  1. If the radius of the reconstructed circle is too large comparing to the size of projections, a warning is printed. The reconstruction is calculated, but it is incorrect along the boundary.

  2. Lambda is used to control the speed of convergence.
    Too small value of lambda will result in a structure that has high frequencies under-represented. The structure will appear very smooth. Moreover, when such structures are used to estimate the resolution (operation 'RF 3') the Fourier Shell Correlation curve, after initial decrease, will increase in high frequencies region. To remedy the problem, the lambda has to be increased (Try: 10 times).
    An ever smaller value of lambda value of lambda will give Fourier Shell Correlation curve that remains abnormally high for a long distance . To remedy this problem, lambda has to be increased (Try: 100-1000 times).
    Too large value of lambda will terminate iterations too soon, earlier than requested number of iterations, usually after the first two or three steps. This can be verified in the output stored in the results file. The resulting structure will be incorrect. To remedy this problem lambda has to be decreased (Try: 2 times) and the operation has to be repeated. If the problem persists, lambda has be decreased again until the requested number of iterations is performed.

  3. The smoothing constant determines relative weight of the low-pass filtration. It has to be larger than zero and smaller than one. In addition the smoothing constant has to be lower than 1/(1+6*lambda). Zero means no smoothing.
    To achieve stronger low-pass filtration effect one can decrease lambda and increase the smoothing constant.
    Approximate frequency response:
    LambdaSmoothing constant Res'n limit (pixels)
    .5E-3 0.990 3
    .5E-3 0.997 5
    .1E-3 0.9994 10

  4. It is assumed that projections are squares (NX=NY), so the output volume will have dimensions NX x NX x NX.

  5. This operation parallelized for use with MPI.

  6. Implemented by: Paul Penczek.

SUBROUTINES

BPRP, RPRQ, ASTA, PREPCUB_S, BCKPJ, PRJCQ, SMT3_Q, DOMIN3_S, DOMAX3_S, DOCORS3_S, BMAX_C, BMIN_C, FMAX_Q, FMIN_Q, HIANG

CALLER

VTIL2