Skip to content
Adrian Quintana edited this page Dec 11, 2017 · 1 revision

reconstruct_art

Purpose

This program allows you to generate 3D reconstructions from projections using the ART algorithm (even with SIRT). All file formats are Xmipp (same as SPIDER). You must give the projections to be used in a selection file and a root filename to generate the reconstruction and a history of the process. You can also give symmetry elements to specify different points of view reusing the projections you have. The reconstruction is performed using some basis (blobs or voxels) in different grids (BCC (by default), FCC or CC).

Usage


$ reconstruct_art ...


Parameters

Input / Output

  • `` This file contains all the images that are to build the 3D reconstruction
  • `` If you don't supply this parameter, the same as the input selection one is taken without extension. If you give, for instance,-o art0001 the following files are created:
    • art0001.vol 3D reconstruction in voxels
    • art0001.basis 3D reconstruction in basis (if thesave_basis option is enabled). The grid parameters are also stored in the same file
    • art0001.hist History and information about the 3D reconstruction process.
  • -start [starting basis volume""] = It should be a basis volume, the reconstruction is performed in the same grid as the one in which the basis volume was stored (any-FCC or-CC or grid size value are useless).
  • -sym [symmetry file""] = The symmetry file should give symmetry elements, ie, rotational axis, symmetry planes or whatever such that new points of view can be obtained. The structure of the symmetry file is detailed below
  • `` Skip projection with absolute tilt angle greater than number. The definition of_greater_ is a bit peculiar:[number]40= means only images with tilt angle between`0-40`,`140.220` and`320-0` will be processed (projection tilt angle are forced to be in the range`0-360`)
  • `` Creates a bunch of extra projections related by symmetry. This option forces the trial volume to be symmetric aftern*[number] projections
  • `` This option is used to avoid the generation of the symmetry subgroup
  • `` This option is used in combination with-sym and`-force_sym`.`-sym` provides a symmetry file. At this point two actions are possible, either symmetrize the projections, the volume, or both. By default, the projections are symmetrized unless this option is specified. To force the volume symmetrization use`-force_sym`.
  • `` This option defines the size of the output volume. The reconstruction size is taken from the projection size. However, the output size can be different, if the output volume is bigger, then the volume is zero padded. Use the option-fill_space when reconstructing crystals if you want to repeat the unit cell all over the volume
  • `` The shift of each image header is automatically applied when the image is read. Use this option to disable this feature
  • `` If this parameter is given, the algorithm will perform two reconstructions. One with the input data, and another one with pure noise images applying exactly the same procedure as to the signal projections. This reconstruction is further used by the SSNR program in order to calculate the VSSNR or the SSNR itself. Several files are created:
    • [fn_root]_noise.vol Reconstruction of the pure noise
    • [fn_root]_noise_proj.sel Selection file with the pure noise images
    • [fn_root]_signal_proj.sel Selection file with the signal images (a reordered version of the input(-i) selfile)
    • [fn_root]_noise_proj?????.xmp Pure noise images used for the reconstruction

Basis parameters

Using blobs (by default)

  • -r [blob_radius2] = This values have been optimized for a BCC structure.
  • -m [blob_order2] =
  • -a [blob_alpha10.4] =
  • `` This is a short form for-r 2 -m 2 -a 10.4 -g 1.41
  • `` This is a short form for-r 2 -m 2 -a 3.6 -g 2.26
  • `` This is a short form for-r 2.4 -m 2 -a 13.3633 -g 1.41
  • -ray_length [l-1] = Ray length is the length of the ray in basis units that will be projected onto the image plane

Using voxels

  • ``

Debugging options

  • `` Show the error commited at each projection
  • `` Show some statistics at each step of the algorithm, they might be useful to see how the process is going. The mean squared error for each projection is shown by default
  • `` This option allows deep debugging as it save all projections and volumes involved in the reconstruction process. After each step you are asked to press a key, so that you could inspect carefully the results. The names for these files are:
    • PPPtheo Theoretical projection from the volume the reconstruction process
    • PPPread Projection read from disk
    • PPPdiff Difference between the preceeding two projections
    • PPPcorr Correction image applied to the volume
    • PPPbasis.basis Resulting volume in basis
    • PPPvol.vol Resulting volume in voxels
  • `` Save 3D reconstruction after processing n projections. If no 'n' is provided, volumes are stored at each iteration and this parameter must be used at the end of the command to prevent errors. The names for these volumes are:
    • [filename root]it[it_no].vol Ex:art0001it0.vol
    • [filename root]it]it_no].basis If the-save_basis option is enabled
  • `` Save also the 3D reconstruction in basis each time that you have to save the reconstructed volume
  • `` You are prompted to give the number of the following projection to be presented to the algorithm
  • `` Skips all those projections generated by symmetry
  • `` Prints the equation system corresponding to each projection. The format is Equation system (Ax=b) ---------------------- pixel=

    --> <a1> <a2> ... </verbatim>I.e., for the pixel =p (pixels are numbered lexicographically) with experimental value`b`, the equation`ax`b= is set.`a` is the corresponding row of matrix`A`. The coefficient`a_i` is equal to the contribution of the basis i to pixel`p`.`x` is the number of basis

Volumetric constraints

  • `` Mask for the surface constraint. It says where the volume is known to be 0. See Surface for more details
  • -surface_freq [surface_freq1] = Apply the surface restriction every 1, 2, ... projections.
  • `` Impose that the resulting volume must be positive.
  • `` The volume is cut down to this mass, ie, the highest[mass] voxels are kept while the rest are set to 0
  • -force_sym [times1] = Force the reconstructed volume to be symmetric. This restriction is imposed[times] times after each projection is presented
  • `` Remove external zero-valued bands created by the alignment of tomograms, these values will not be considered for reconstruction.
  • `` All values in the projections below the given threshold are considered to come from gold beads and they are masked. These values will not be considered for reconstruction.

Alignement Refinement

  • -ref_trans_after [after0] = Refines the translational alignement after[after] projections has been presented (must be integer)
  • -ref_trans_step [step0.] = Maximun shift when translationally refining (this number is a double)

Iteration parameters

  • -l [lambda0.01] = Lambda is a relaxation parameter which controls the convergence speed. A recommended range is between0 and0.1, although the optimal lambda should be found for each particular case.
  • -n [no_iterations1] = The number of times that the whole set of images will be presented to the algorithm
  • `` This is the total number of projections after which we want the algorithm to stop. For instance, if there are 100 images, with two iterations and we want to stop at the half of the second iteration, then you must set it to 150
  • `` By default the algorithm applied is ART but you can also specify to apply SIRT using this option
  • `` By default the algorithm sorts projections in the most orthogonally possible way. Using this option projections are presented randomly to the algorithm
  • -sort_last <N2> = By default the algorithm sorts projections in the most orthogonally possible way. The most orthogonal way is defined as choosing the projection which maximizes the dot product with the N previous inserted projections. IfN-1= then all previous projections are used
  • `` The number of threads to be used when processing the projections and when converting blobs volumes into voxel volumes (NOTE: multithreading does only work with blobs at this moment).
  • `` By default the algorithm applied is ART but you can also specify to apply CAV using this option
  • `` When using ART by blocks, you may update the volume with an ARTK strategy (by default) or CAVK
  • `` When using ART by blocks, you may update the volume with an ARTK strategy (by default) or CAVARTK (Component averaging Variant of ART with blocks)

Grid parameters

  • -g <grid_relative_size1.41> = This relative size is the length of the measuring unit in the grid lattice. By default, a unit in the grid system equals 1.41 units in the Universal System. This value is optimized for a BCC structure. If you introduce -1 then 2^1/2 is taken and -2 is translated into 2^1/3.
  • __OR__ These options specify a Face Centered Cube or a Cubic grid respectively. By default, a Body Centered Cubic grid is used. If you use them be careful to modify the rest of basis and grid parameters
  • -ext [proj_ext0] = In order to avoid the box effect (those voxels near the volume borders are brighter than the rest), you can extent your projections resulting in a slower reconstruction but more accurate. Recommended values to avoid the box effect go from 5 to 10
  • -R [interest radius-1] = If this option is provided ART runs twice faster since only the sphere with this radius (in pixel units) is reconstructed
  • -sampling [number1] = Sampling rate, (unit/voxel edge), affects to-r,-g,-R and-ref_trans_after. Also to-mod_a andmod_b when processing crystals

Crystal parameters

  • `` Activate crystal reconstruction mode
  • `` First crystal lattice vector magnitude
  • `` Second crystal lattice vector magnitude
  • `` Angle from crystal vector a to b
  • -ang_x2a_deg [angle0] = Angle from x axis to a vector__NOT IMPLEMENTED YET__
  • `` Repeat the unit cell as many times as necessary as to fill the output volume size.

Examples and notes

  • Basis volume definiton: The basis volume is defined internally such that it should cover the space cube corresponding to(-Xdim/2,-Xdim/2,-Xdim/2) to(X dim /2,Xdim/2,Xdim/2) where Xdim is the X dimension of the projections
  • Voxel volume definiton: The final reconstructed volume is defined in such a way that it covers the whole basis volume. For these two definitions and the fact that the basis has got some radius (normally 2) the final reconstructions are a little wider than the original projections (usually2*radius+1)
  • Crystal reconstructions: Crystal projections must be the deformed projections of the deformed volume. I mean, the lattice vectors of the volume to reconstruct need not to lie on a grid point inside the BCC, FCC or CC grid. If we ant to force that they lie on a grid point we have to deform the volume. When he have this deformed volume and we project it, the two 3D lattice vectors project to two different 2D lattice vectors, that in principle there is no relationship between them. We must force this two 2D lattice vectors to align witha(Xdim,0) and =b(0,Ydim)= by deforming the projection. This is the second deformation. This complex projections are either generated from phantoms using the program Project or from lists of Fourier spots coming out from MRC as APH files by applying the programSpots2RealSpace2D
  • Surface constraints: These constraints force the volume to be 0 at known places. This has got the beneficial consequence that mass tends to be compacted where it should be
  • Grids: This program defines three grids for working with data. The typical simple cubic grid, the face-centered grid (fcc) and the body-centered cubic grid (bcc). We define these grids as follows: | Simple Cubic Grid | /image002.gif is a positive real number called sampling distance. SeeGabor H., Geometry of Digital Spaces, Birkhauser, 1998, Massachussets

n the case of the simple cubic grid the voxels are cubes of volume /image013.gif ³. For defining the bcc grid two simple cubic grids are used, it can be seen from the definition for the bcc above that the valid positions for even values ofz,x andy have to be also even, in the case of odd values ofz ,x andy have to be odd. Consequently, the relative size used in the BCC grid is equivalent to 2 /image013.gif above. For defining the fcc grid four simple cubic grids are used, it can be seen from the definition for the fcc above that the valid positions for even values ofz, the sum ofx andy has to be even; in the case of odd values ofz the sum ofx andy has to be odd. Consequently, the relative size used in the FCC grid is equivalent to 2 /image013.gif above.

Here you have several examples of reconstructing commands:


reconstruct_art -i g1t.sel -o art0001
reconstruct_art -i g1t.sel -o art0001 -n 2 -save_basis
reconstruct_art -i g1t.sel -o art0002 -start art0001.basis
reconstruct_art -i g1t.sel -o art0001 -n 5 -SIRT
reconstruct_art -i spi.sel -o edgara -l 0.01 -n 1 -r 3.394212 -m 2 -a 13.3633059 -g 2.0
    -show_error -crystal -mag_a 64.0 -mag_b 64.0 -ang_a2b_deg 90. -ang_x2a_deg 0.
    -random_sort -output_size 129 129 129 -fill_space -sym symmetry.sym
    -save_intermidiate 1 -sym_each 1 -sampling 1 


USER's COMMENTS

flag show_iv is not properly implemented. Either must be followed by a number, if default value is used, be the last flag Main.CarmenSanMartin 08 Jan 2008 - 22:44

--Main.AlfredoSolano - 22 Jan 2007

Clone this wiki locally