GPURECON is a client application that contacts one or more remote servers to have the servers perform a reconstruction calculation. The current servers use graphics cards to accelerate the calculation, thus the name GPURECON. GPURECON generates reconstructions in a non-flipped (x, y, and then z) orientation rather than the flipped orientation (x, z, and then y) produced by the stand-alone reconstruction applications, EWBP and TAPIR.
The actual reconstruction calculations can use one of three algorithms. You select which one to use with the "Method" menu. The backprojection algorithm is similar to the algorithm used by EWBP. The backprojection weight, backprojection Hamming, and particle size options in the special parameters dialog affect the output of the backprojection algorithm. The sart and em algorithms are iterative algorithms. You should set the number of iterations to perform. You may also specify an initial guess for those two algorithms. The sart algorithm with a block size of one and a convergence factor of one is similar to the algorithm used by TAPIR.
Use the server fields to supply the names of the servers to contact. Initially those fields are set from the RGEMT_SERVER_LIST environment variable. When you specify multiple servers, GPURECON will split the reconstruction among the servers and then combine the results.
Here's a sample command file for GPURECON to have three servers perform a reconstruction similar to what TAPIR would produce:
(time gpurecon \
/home/eric/sample.MnAln \
/home/eric/sample.xyz \
-istrfile=/home/eric/sample_orig.xyz \
-reconxz=1024:300 -iy=0:1023 -method=sart -cycles=10 \
-block=1 -server=169.230.30.118 -server=169.230.30.119 \
-server=169.230.30.120 ) \
> /home/eric/emrecon.log
Aligned series | Reconstruction | NX:NY:NV | Output XZ size | Y range | Method | Initial guess | Cycles | Blocks | Convergence | Server | Backprojection weight | Backprojection Hamming | Particle size | Resolution | Resolution scale | Add multires | Guess resolution
Priism | Alignment and reconstruction | MASSNORM | APPL_PRM | EWBP | TAPIR | Alignment with markers
This is the name of the input file which contains the mass normalized and aligned projection series created by APPL_PRM. On the command line, the name of the file with mass-normalized and aligned data is the first argument.
Return to the list of parameters
This is the name of the file that will contain the data for the reconstructed volume. On the command line, the name of for the output image data is the second argument.
Return to the list of parameters
The first two values are, respectively, the x and y dimensions of the data in the input projection series. The last value is the number of projections in the series.
Return to the list of parameters
These two values set the x and z dimensions, in pixels, of the reconstructed volume. If the initial reconstruction guess is supplied as an input (with the initial guess parameter), then these dimensions should match the x and z dimensions of that file.
On the command line, use
-reconxz=nx:nz to set
the x and z dimensions of the reconstruction. When nx is not set,
the x dimension of the reconstructed volume is the same as the x dimension of
the input data. When nz is not set, the z dimension of the
reconstructed volume is one fourth of the x dimension of the input data.
Return to the list of parameters
These two values set the range of y pixels from the aligned tilt series to use in the reconstruction. The first is the first index (running from 0 to the number of y pixels minus one) to use, and the second is the last possible index to use. If you supply an initial guess, the y dimension of the guess must match that specified with these values.
On the command line, Use
-iy=start_index:last_index
to set the y range. If you do not specify a range, all y pixels are used:
start_index is set to zero and last_index is set to
the number of y pixels minus one.
Return to the list of parameters
You have three choices for the reconstruction algorithm when you use GPURECON. The choices are:
-method=backprojection,
to select this method.
-method=sart, to select
this method.
-method=em, to select this method.
For the sart and em algorithms, you can use the "Cycles" field to specify the number of iterations to use, the "Blocks" field to select a simultaneous form for the algorithm (one block) or a block-iterative form (two or more blocks) of the algorithm, and the "Initial guess" field to supply the file name of an initial guess. The sart algorithm is affected by your choice for the convergence factor; the backprojection and em algorithms are not.
Return to the list of parameters
This is the name of a file containing the initial reconstruction guess; GPURECON only uses the initial guess if you do not select the backprojection method. The initial guess is optional; when none is used as the file name, it is assumed that there is no initial guess available.
If the initial guess is supplied, its dimensions must match the dimensions of the output reconstruction as set by the output XZ size and y range input parameters. The initial guess must also be in the same unflipped orientation as the output reconstruction.
To set the file name for the initial guess on the command line, use
-istrfile=filename. If you do not specify a
-istrfile option, GPURECON will assume that no initial guess
is available.
Return to the list of parameters
This parameter sets the maximum number of iterations that are performed for the sart or em algorithms.
On the command line, use -cycles=n to perform
n iterations. If you do not supply a -cycles option,
GPURECON will perform one iteration.
Return to the list of parameters
GPURECON's sart and em algorithms can be run in a simultaneous mode or block-iterative mode. In the simultaneous mode, each iteration considers all the measurements at once. In the block-iterative mode, the measurements are broken into subsets. At each iteration the subsets are processed in turn; once all the measurements have been taken into account, the next iteration begins. The "Blocks" field sets the number of subsets to use: a value of one in that field selects the simultaneous mode.
On the command line, use -block=n to have GPURECON
use n subsets for the sart or em algorithms. If you do not supply a
-blocks option, GPURECON will use one block.
Return to the list of parameters
The convergence factor is the scalar by which corrections computed in
the sart algorithm are multiplied. Convergence factors
greater than zero and less than or equal to two are accepted by GPURECON.
You can set the convergence factor from the graphical user interface by
editing the value in the field labeled "Convergence". To set the convergence
factor from the command line, use -convf=f where
f is the value you want to use for the convergence factor.
Return to the list of parameters
GPURECON will contact one or more servers to perform the reconstruction. As long as GPURECON is able to contact one server, it will proceed with reconstruction. When GPURECON is able to contact multiple servers, it will divide the work among them. The addresses of the servers that GPURECON will use are shown in the "Server 1" through "Server 8" fields. The initial values in those fields are drawn from the RGEMT_SERVER_LIST environment variable. You may edit the values to change the servers contacted. An address is usually just the host name (for instance, msg.ucsf.edu) or IP number (for instance, 169.230.20.46) of the server to contact. If the server does not use the default port number, 20248, you should add a colon followed by the port number to use at the end of the address (as an example, msg.ucsf.edu:20000, would contact port 20000 on msg.ucsf.edu). The address may also contain a specification of the protocol to use immediately before the host name or IP number. Currently two protocols are understood:
On the command line, include one -server=address
option for each server you want to contact where you replace address
with the address of the server. When no -server options are included on the
command line, GPURECON will look at the environment variable RGEMT_SERVER_LIST.
The value of that variable should be a comma-separated list of the addresses
to use.
Return to the list of parameters
For the backprojection reconstruction algorithm, there are five available choices for how to filter the projections to compensate for the fact that an average of the backprojected measurements without filtering will overemphasize the low frequency components from the measurements. Those choices are:
On the command line, use
-bpfilter=f
to set the type of filtering done. f must be none,
elliptical, elliptical-square, rstar,
or rstar-hamming. If you do not include a -bpfilter option
when using the command line, the reconstruction will be performed without
filtering the projections.
Return to the list of parameters
If you use the backprojection reconstruction method
and use a weighting function different
than "none", then you may specify that a Hamming filter (a one-dimensional
local smoothing filter) be applied to the projections as well prior to the
backprojection. To turn on the Hamming filter from the graphical user
interface, turn on the "Backprojection Hamming" toggle button in the special
parameters dialog. To turn on the filter from the command line include
-bphamming in the options.
Return to the list of parameters
If you use the backprojection reconstruction method with the elliptical or elliptical square weighting function, the weighting function uses the particle size to account for the approximate spatial bounds of the object to reconstruct. The first particle size parameter is the extent in x, and the second particle size parameter and the second is the extent in z. Both have units of pixels. By default, the particle size parameters are set to the same size as the reconstruction bounds.
On the command line, include
-bpparticle=x:z
in the options to set the particle size to be x pixels in x and
z pixels in z.
Return to the list of parameters
The resolution parameter selects which resolution to process from the input tilt series. Normally, the tilt series has been preprocessed with apply parameters, and the highest resolution in the tilt series corresponds to the resolution you want. In those situations, you would set the resolution parameter to zero (the default value) to select the highest resolution from the tilt series.
On the command line, use
-res=i
to have the reconstruction use the ith resolution from the tilt series. When run from the command line and no resolution is selected, the reconstruction will use the highest resolution present in the input tilt series.
Return to the list of parameters
The resolution scale parameter controls the scale factor applied to the reconstruction size parameters. In the typical case where you select a resolution level to process from the main dialog of EMTAR, the graphical interface will automatically fill in the resolution scale correctly. In the case where you are running the reconstruction directly on a downsampled tilt series but still specify the reconstruction size in terms of the full resolution, you should set the resolution scale to be the same as the downsampling factor (if the data is scaled down by a factor of four set the resolution scale parameter to four).
On the command line, use
-rscale=i
to set the resolution scale to be i. When run from the command line without the -rscale option, GPURECON will use a scale factor equal to two raised to the power of the resolution level selected with -res.
Return to the list of parameters
Turn on the "Add multires" toggle button to cause GPURECON to add lower resolutions to the reconstruction if the x and y dimensions of the reconstruction are large enough. Turn off the "Add multires" toggle button to cause GPURECON to generate a reconstruction with a single resolution.
On the command line, include
-multires
in the command-line options for GPURECON to cause GPURECON to add lower resolutions to the reconstruction if the x and y dimensions of the reconstruction are large enough.
Return to the list of parameters
The guess resolution parameter allows you to select which resolution to use from the file containing the initial guess. The dimensions of the resolution you select must be compatible with the dimensions you've specified for the reconstruction.
On the command line, use
-gres=i
in the command-line options for GPURECON to use the ith resolution from the initial guess file. When run from the command line without the -gres option, GPURECON will use the highest resolution present in the initial guess file.
Return to the list of parameters