TAPIR

Overview

TAPIR (Tomographic Alternating Projecting Iterative Reconstruction) uses a constrained iterative reconstruction algorithm. Its goal is to minimize the difference between the reconstruction and the tilted projections. The constraints are compact support, positivity and smoothness of the reconstruction. In each cycle of refinement, this algorithm simply calculates the difference between the reprojection of the reconstruction and its corresponding projection, and the difference is applied to the reconstruction by backprojection.

The improvement of TAPIR over weighted backprojection (WBP) is dramatic if the object is sparsely distributed. It can remove the backprojection strips around isolated features with the positivity constraint being a strong information source (it is always applied in TAPIR). The strip-like artifacts are mainly due to the missing wedge problem, i.e., we can only collect data up to tilt of +-75 degree (in contrast, a tilt range of +-90 degree avoids the problem).

The unique feature of TAPIR is that it tries to minimize the so-called limited detector problem. This is achieved by excluding the peripheral projection regions which are plagued with limited detector problem. The degree of such exclusion is set by the input parameter limD_problem.

The origin of the limited detector problem is that the specimen section is larger than the detector (CCD in our case). In the case there is a limited detector problem, specimen structures from outside the reconstruction volume contribute to the projections, which in turn contribute to the results for the reconstructed volume. Such indirect contributions to the reconstruction are inconsistent, that is, there are no contributions from the 0 degree tilt projection, while there can be a lot from a projection of high tilt. This would cause artifacts in the reconstruction (stronger towards the x boundary, but in principle the whole reconstruction volume can be contaminated, contrary to intuition). When the user indicates that the limited detector problem is severe, all peripheral areas of projections that could possibly have the limited detector problem are excluded during the reconstruction, while half of such area is excluded when the user indicates that the limited detector problem is slight.

On the other hand, if we exclude data on the periphery, the corresponding voxels will have a more severe missing wedge problem. So all available "clean" projection areas should be used if we can identify such areas on all projections (this can be judged by inspecting the projection stack in movie mode) while making the guarantee that the limited detector problem is maximally avoided.

Here's a sample command file for TAPIR:

    (time tapir \
     /mama/weiping/prog/junk.MnAln \
     /mama/weiping/prog/junk.xzy \
     -istrfile=/mama/weiping/prog/junk.xzyw \
     -reconxz=128: 150 -iy=0: 127:1 -dlim=1 -smooth=.9 \
     -cycles=3 -moderec=2 -positivity=1 -proj_pos=1 ) \
     > /mama/weiping/emrecon.log

Parameters

IdatFile | OrecFile | NX:NY:NV | IStrFile | reconXZ | iY | limD_problem | smooth | cycles | modeRec positivity | proj_pos

Related Priism Topics

Priism | Reconstruction | MASSNORM | APPL_PRM | EWBP | Alignment


IdatFile

This is the name of the input file which contains the mass normalized and aligned projection series created by APPL_PRM.

Return to the list of parameters


OrecFile

This is the name of the file that will contain the data for the reconstructed volume.

Return to the list of parameters


NX:NY:NV

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


IstrFile

This is the name of a file containing the initial reconstruction guess; the file could be created by EWBP. 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 reconXZ and iY input parameters.

To set the file name for the initial guess on the command line, use -istrfile=filename. If the -istrfile option is not supplied, it is assumed that no initial guess is available.

Return to the list of parameters


reconXZ

These two values set the x and z dimensions, in pixels, of the reconstructed volume (the volume is written as slices parallel to the xz plane so these values are the dimensions of a single slice). If the initial reconstruction guess is supplied as an input (with the IstrFile parameter), then these dimensions should match the x and z dimensions of that file. Otherwise, the z dimensions should be set to be at least twice the specimen thickness to limit contamination of the TAPIR reconstruction by the volatile projection direct components.

On the command line, the dimensions of the reconstruction are set with -reconxz=nx:ny. When the dimensions are not set, nx and nz are taken to be 128; if only nx is set, nz will have the same value as nx.

Return to the list of parameters


iY

These three values set which projections in the input file, IdatFile, are used in the reconstruction. The first is the first index (running from 0 to the number of projections minus one) to use, the second is the last possible index to use, and the third is the index step. The y dimension of the reconstruction is also controlled by the first two values: it is the second value minus the first plus one. If you supply an initial guess with the IstrFile parameter, the y dimension of the guess must match that specified with these values.

The range of indices used is set on the command line with -iy=start_index:last_index:step. When the range of indices is not set, the whole projection series is used: start_index is set to zero, last_index is set to the number of projections minus one, and step is one.

Return to the list of parameters


limD_problem

This parameter sets how TAPIR tries to correct for the limited detector problem. There are three possible settings:

LimD Problem: No!
TAPIR assumes there is no problem caused by the limited detector size and uses all relevant parts of the input projection series.
LimD Problem: Slight
TAPIR tries to mitigate the artifacts caused by the limited detector size by excluding half of the peripheral areas of the projections that could be subject to the limited detector problem.
LimD Problem: Severe
TAPIR tries to mitigate the artifacts caused by the limited detector size by excluding all peripheral areas of the projections that could be subject to the limited detector problem.

On the command line, use -dlim=0 to have TAPIR assume that there are no problems due to the limited detector size, -dlim=1 to have TAPIR assume that the limited detector problem is slight, and -dlim=2 to have TAPIR assume a severed limited detector problem. If none of these options are set, TAPIR assumes that there are no problems due to the limited size of the detector.

Return to the list of parameters


smooth

This parameter constrains how smooth the reconstruction should be. This is achieved by smoothing the reconstruction after every round of correcting it by how it compared with the projection data. Smoothing is normally used to minimize the interpolation error and/or quantum noise. The smoothing is done by applying a Gaussian filter (restricted to a five by five region and renormalized) to the reconstructed data. The smoothing parameter sets the sigma for this Gaussian filter; a value of 0.9 works well.

On the command line use -smooth=sigma to set the smoothing constant. If is not set, no smoothing is done.

Return to the list of parameters


cycles

This parameter sets the maximum number of iterations that are performed.

On the command line use -cycles=n to set the number of iterations. If -cycles is not supplied, one iteration is done.

Return to the list of parameters


modeRec

Use this switch to set the data type used to represent the values in the reconstructed volume. You have the choice of using a four byte floating-point representation (Mode=2: Real*4) or a two byte signed integer representation (Mode=1: Int*2).

To set the output data type from the command line, use -moderec=2 for the floating-point representation or -moderec=1 for the signed integer representation. If neither is set, the floating-point representation is used.

Return to the list of parameters


positivity

When this toggle is on, the pixel values in the reconstruction are forced to be non-negative. This a priori constraint is a powerful way to improve the reconstruction so it isn't generally useful to turn off the positivity constraint.

From the command line, the positivity constraint is turned on by specifying -positivity=any value. If this is omitted, no positivity constraint is applied.

Return to the list of parameters


proj_pos

When this toggle is on, the values from the mass-normalized projection data are forced to be non-negative (negative values are set to zero). This is almost always the right thing to do.

From the command line, the positivity condition is imposed on the input data by specifying -proj_pos=any value. If this is omitted, no positivity condition is applied.

Return to the list of parameters