ctf3dsetup(1)               General Commands Manual              ctf3dsetup(1)



NAME
       ctf3dsetup

SYNOPSIS
       ctf3dsetup   options   tilt_com_file

DESCRIPTION
       Ctf3dsetup creates command files for a tomographic reconstruction with
       CTF correction in 3-D.  These command files will generate a series of
       aligned stacks corrected for different Z depths in the tomogram, and
       subsets of the tomogram in Z at the corresponding Z depths.  These sub-
       sets are referred to as slabs.  The number of slabs can be entered
       directly, or a maximum slab thickness in nanometers can be entered
       instead.  When processing with the standard command files managed by
       Etomo or Batchruntomo, only the name of the Tilt command needs
       to be entered, but an alternative command file for CTF correction can
       also be entered.

       An uncorrected aligned stack must be available, as specified in the
       command file used for CTF correction, and the defocus file must exist.
       If you wish to apply 2-D filtering (i.e., dose weighting), you can
       apply this to the uncorrected stack without affecting the validity of
       the correction.  If you wish to erase gold beads in the aligned stack,
       you can also apply this in advance, which is not the standard process-
       ing order, or you can use the -erase option to have this step done on
       each corrected stack.  In the latter case, the model for erasing the
       beads must already exist.

       CTF correction and reconstruction can be run on either CPUs or GPUs,
       depending on whether use of a GPU is specified in the command file for
       reconstruction.  A different choice in the command file for correction
       will be ignored.  The jobs will run either on multiple CPUs or multiple
       GPUs, not a mixture of the two, so the number of "processing units"
       referred to next means the number of GPUs when running on GPU.

       This program provides two different computational strategies; the
       choice between them depends on what CPU or GPU resources are available.
       It can produce one command file per slab, each one doing all operations
       for that slab (CTF correction of the full image, optional gold erasing,
       and reconstruction of the full slab.)  These command files are suitable
       for running the slabs in parallel with each other.  The other strategy
       is to do the slabs sequentially, but use parallel processing (if there
       are multiple processing units) in both the CTF correction and recon-
       struction steps.  See the options -parallel and -procs for more
       details.  Running the slabs in parallel is probably more efficient if
       there are multiple processing units but will require more temporary
       storage.  If you are running on the GPU and computing the slabs sequen-
       tially with parallel processing, enter the number of GPUs you expect to
       run it on with the -procs option.  If you have just one GPU, you can
       omit the -procs option unless you want to try loading it with more than
       one job, which may or may not be useful.

       If an X-axis tilt is included in either the reconstruction or correc-
       tion command files, then the program evaluates whether it is similar
       enough in the two operations.  If an X-axis tilt is being applied at
       all during correction, it should closely match the value used for
       reconstruction, otherwise the program gives a warning.  If there is an
       X-axis tilt in reconstruction but not correction, the program will
       determine the maximum difference in defocus produced by the two differ-
       ent X-axis tilt values, which occurs at the extremes of the reconstruc-
       tion in Y.  If this defocus is larger than a certain fraction of the
       slab thickness, the program issues a warning.

OPTIONS
       Ctf3dsetup uses the PIP package for input (see the manual page for
       pip).  Options can be specified either as command line arguments
       (with the -) or one per line in a command file (without the -).
       Options can be abbreviated to unique letters; the currently valid
       abbreviations for short names are shown in parentheses.

       -reccom (-r) OR -TiltCommandFile    File name
              Command file for reconstruction, which can be entered with or
              without its extension of ".com".  If this option is not entered,
              a non-option argument is used for this command file.  This entry
              is required one way or the other.

       -ctfcom (-c) OR -CorrectionComFile       File name
              Command file for CTF correction, which can be entered with or
              without its extension of ".com".  If this option is not entered,
              "ctfcorrection" will be substituted for "tilt" in the name of
              the command file for reconstruction.

       -slabs (-s) OR -NumberOfSlabs       Integer
              Number of reconstructions to make at different depths in Z with
              different corrections for CTF.  Either this option or -thickness
              must be entered, but not both.  This entry must be at least 3.

       -thickness (-th) OR -SlabThicknessInNm   Integer
              The maximum thickness of reconstructions at different depths, in
              nanometers.  This value, if entered, must be less than half of
              the tomogram thickness so that at least 3 three slabs are com-
              puted.

       -parallel (-pa) OR -RunSlabsInParallel
              Make each slab with one processor or GPU by creating a chunk
              file containing both the Ctfphaseflip and Tilt commands.
              This arrangement is the most efficient if there are more slabs
              than GPUs or processors, but requires more storage, as there
              will be as many created aligned stacks as processors.  The
              default is to make each slab sequentially, with parallel pro-
              cessing (if any) used to create the aligned stack then recon-
              struct the slab.  In this case only one corrected aligned stack
              exists at any time.

       -procs (-pr) OR -NumberOfProcessors      Integer
              Use this option to specify the number of processors or GPUs that
              you expect to run the command files on.  It is appropriate only
              when computing slabs sequentially and cannot be entered with the
              -parallel option.  It is passed directly to Splittilt unless
              it is 1, in which case the processing is not divided into
              chunks.  The default is 8 unless the Tilt command file contains
              the option to use the GPU, in which case it is 1.

       -perproc (-pe) OR -ChunksPerProcessor    Integer
              Use this option to set the number of chunks per processor when
              correction and reconstruction are divided into chunks; it will
              be multiplied by the number of processors to give a value for
              the -TargetChunks option to Splittilt and used to determine
              the number of slices to be corrected per chunk in Splitcorrec-
              tion(1).  The default is 3.

       -erase (-e) OR -EraseFiducials
              Run a command file to erase gold after CTF correction of aligned
              stack

       -goldcom (-g) OR -GoldEraserComFile      File name
              Name of command file to use for erasing gold.  If this option is
              not entered, "golderaser" will be substituted for "tilt" in the
              name of the command file for reconstruction.

       -vertical (-v) OR -VerticalSlices
              Do vertical slices with interpolation between slices instead of
              old-style X-axis tilting, regardless of the time penalty.

       -oldstyle (-o) OR -OldStyleXtilting
              Do old-style X-axis tilting, with direct backprojection into
              each output voxel, instead of vertical slices with interpolation
              between slices.

       -tempdir (-te) OR -TemporaryDirectory    Text string
              Directory to use for temporary files.  The default is that the
              temporary files will be placed in the current directory.

       -leave (-l) OR -LeaveTempFiles
              Leave temporary CTF-corrected stacks and reconstructed slabs

       -boundary (-b) OR -BoundaryPixels   Integer
              Set the number of boundary pixels saved in separate files to the
              given value when slabs are computed sequentially and each CTF
              correction and reconstruction is parallelized.  The boundary
              pixels are rewritten to the output file (aligned stack or slab
              reconstruction) after all chunks are done.

       -help (-h) OR -usage
              Print help output

       -StandardInput
              Read parameter entries from standard input


EXAMPLES
       These examples illustrate how to run with various sets of processing
       units.  They assume that 25-nm slabs are wanted and that all command
       files have standard names.

       To run on one GPU, make command files with:

         ctf3dsetup -thick 25 tilt

       These command files will create the slabs sequentially with separate
       files for CTF correction and reconstruction.  They can be run with
       just:

          subm ctf3d*.com

       To run on several GPUs, you almost certainly have space for as many
       temporary stacks as GPUs, so you can make command files to run slabs in
       parallel with:

          ctf3dsetup -thick 25 -parallel tilt

       All of the operations for a slab are within one command file.  If the
       GPUs are on separate machines, you can use the parallel processing
       interface in Etomo or run them with Processchunks with a command
       like:

          processchunks machine1,machine2,machine3,machine4 ctf3d

       If the GPUs are on the local machine, run them with a command like:

          processchunks -G localhost:1:2:3:4 ctf3d

       so that jobs are directed to different GPUs by Processchunks;
       whereas for multiple GPUs per remote machine you can use a command
       like:

          processchunks -G machine1:1:2,machine2:1:2 ctf3d

       You can also run slabs in parallel on multiple CPUs if there is no risk
       of running out of space for temporary files, using the ctf3dsetup com-
       mand above.  You can run them in the Etomo parallel processing inter-
       face, or run them with processchunks using a command like

          processchunks 12 ctf3d

       for the local machine, or

          processchunks machine1:4,machine2:4,machine3:4 ctf3d

       for 4 cores per specified machine.

       If space for temporary files might be limited, generate the slabs
       sequentially, doing parallel processing within each slab, with a com-
       mand like:

          ctf3dsetup -proc 16 -thick 25 tilt

       and run this with the Etomo parallel processing interface or the kinds
       of commands just given for running on CPUs.


FILES
       The command files have the prefix "ctf3d-".  The final reconstruction
       is named with "_3dctf" added to the root of the output file name in the
       reconstruction command file.

AUTHOR
       David Mastronarde

SEE ALSO
       ctfphaseflip, tilt, ccderaser

BUGS
       Email bug reports to mast at colorado dot edu.



IMOD                                4.11.0                       ctf3dsetup(1)