ctfphaseflip(1)             General Commands Manual            ctfphaseflip(1)

       ctfphaseflip - correct tilt series for microscope CTF by phase flipping

       ctfphaseflip  options

       This program will correct the CTF of an input tilt series by simple
       phase flipping.  The user can select a subset of projection views of
       the input tilt series to correct and can specify a defocus value for
       each selected view through a text defocus file.  The output file of
       ctfplotter is usually used as the defocus file.

       Ctfphaseflip corrects each view strip by strip.  A strip is defined as
       an image region whose defocus difference is less than a user specified
       value, but the width is usually limited further to reduce computation
       time.  The strips are vertically oriented and defocus is assumed to be
       the same along a vertical line.  Thus, the tilt series must be aligned
       so that the tilt axis is vertical before applying this correction.

       It can be run in a parallel mode similiar to the Tilt program by
       setting the TotalViews option.  The script Splitcorrection can be
       used to prepare command files for running the program in parallel.

       A sample command file for running the program with "subm" can be found
       in the IMOD/com directory (ctfcorrection.com).

       Originally, the program limited strip widths to 256, but the power
       spectra of low tilt images often showed rings of very low values right
       around the zeros of the CTF.  As of IMOD 4.8.17, the strip width is
       limited dynamically in a way that should minimize this effect.  Making
       the strips wider eliminates or reduces this effect, provided that the
       shift in the position of the first zero across the width of the strip
       is big enough.  At very low tilt, the maximum allowed width is
       increased to a value that would make the first zero shift by 0.6 pixel
       in the Fourier transform.  At higher tilts, the criterion shift is
       reduced by (1 - tan(tiltAngle)).  At zero tilt, the strip width is sim-
       ply half of the image size in X.  The spacing between adjacent strips
       is also adjusted to be larger for wider strips, to keep the computa-
       tional time down (see the -iWidth option below).

       Ctfphaseflip 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.

       -input (-inp) OR -InputStack   File name
              Input stack that will be corrected.  It must be aligned so that
              the tilt axis is vertical.

       -output (-o) OR -OutputFileName     File name
              Name of output file for the corrected views

       -angleFn (-an) OR -AngleFile   File name
              File containing tilt angles for the input stack.  Each line of
              this file is the tilt angle for a view of the input stack.  The
              angles are listed in order starting from view 1.

       -invert (-inv) OR -InvertTiltAngles
              Invert the sign of the tilt angles to compensate for a left-
              handed coordinate system in the microscope.  When the sign of
              the tilt angles and the value of the tilt axis rotation angle
              are such that reconstructions are generated with inverted hand-
              edness, then this option is needed for a proper correction.
              One way to assess this need is to examine the aligned stack
              being corrected, which has its tilt axis vertical.  At positive
              tilt angles, the right side of the images should be more under-
              focused than the left side; if not, then this option is needed.

       -defFn (-defF) OR -DefocusFile      File name
              File with list of tilt angle ranges and defocus values in
              nanometers, such as was output by Ctfplotter.  The full spec-
              ification of the defocus file is given below.  Each line should
              have a starting and ending view number (numbered from 1), a
              starting and ending tilt angle, and a defocus value.  Defocus is
              in nanometers, with positive values for underfocus.  The program
              will assign that defocus value to the midpoint of the range of
              views.  For a view at a given tilt angle, it will find the defo-
              cus either by interpolating between two surrounding midpoint
              angles, if there are such angles, or by taking the nearest defo-
              cus value, if the angle is beyond the range of the available
              midpoint angles.  To correct a tilt series with a single value
              of defocus, supply a file with a single line containing "20 20
              0. 0. defocus_value".  If you prepare a defocus file with more
              than one line, be sure to use the exact angles from the tilt
              angle file specified with the -angleFn option; do not round to
              one decimal place.  Alternatively, add the number "2" as an
              extra value at the end of the first line of the file; this will
              prevent the program from thinking that the view numbers might be
              off by one.  If you use the -invert option, you must do one of
              two things: 1) either invert all the tilt angles in this file,
              2) or start the file with the line "16 0 0.  0. 0 3" to indicate
              that it is a version 3 file in which the angles need to be

       -xform (-x) OR -TransformFile       File name
              File with the linear transformations that were used to align the
              images.  Using this option has two consequences: 1) Astigmatism
              angles found by analyzing the raw stack will be properly rotated
              to the right angles for the aligned stack.  If this option is
              not entered, astigmatism must be found on the aligned stack.  2)
              The program will use the shifts in X to adjust the middle posi-
              tion that is considered to be at the nominal defocus value for
              each image.

       -defTol (-defT) OR -DefocusTol      Integer
              Defocus tolerance in nanometers that limits the width of the
              strips.  An image region with defocus difference less than this
              tolerance is considered to have constant defocus and can be cor-
              rected as one strip. The strip width is either the width of this
              region or the maximum strip width, whichever is smaller; but
              strips will also be constrained to be at least 128 pixels wide.
              Each strip is corrected based on the defocus at the center of
              the strip.

       -maxWidth (-m) OR -MaximumStripWidth     Integer
              Maximum width of strips in pixels.  This entry disables the
              dynamic adjustment of maximum width described above and applies
              a fixed maximum at all tilt angles.

       -iWidth (-iW) OR -InterpolationWidth     Integer
              The distance in pixels between the center lines of two consecu-
              tive strips.  A pixel inside the region between those two center
              lines resides in both strips. As the two strips are corrected
              separately, that pixel will have 2 corrected values. The final
              value for that pixel is a linear interpolation of the 2 cor-
              rected values.  If a value of 1 is entered, there is no such
              interpolation.  For a value greater than one, the entered value
              will be used whenever the strip width is less than 256 (i.e., at
              high tilt), and the value will be scaled proportional to the
              strip width for widths above 256.  This scaling keeps the compu-
              tational time down and is reasonable because the defocus differ-
              ence between adjacent wide strips at wider intervals is still
              less than that between the narrower strips at high tilt.  How-
              ever, strips at constant spacing can still be obtained by enter-
              ing the negative of the desired spacing, which disables the
              scaling of the spacing.

       -pixelSize (-pi) OR -PixelSize      Floating point
              Image pixel size in nanometers

       -volt (-vo) OR -Voltage   Integer
              Microscope voltage in kV

       -cs (-c) OR -SphericalAberration    Floating point
              Microscope spherical aberration in millimeters.  A value of 0
              can be entered; it will be made slightly larger to prevent divi-
              sion by 0 in the CTF equations.

       -ampContrast (-am) OR -AmplitudeContrast      Floating point
              The fraction of amplitude contrast. For Cryo-EM, it should be
              between 0.07 and 0.14.  The value should be the same as was used
              when detecting the defocus.

       -phase (-ph) OR -PhasePlateShift    Floating point
              A fixed value for the phase shift imposed by a phase plate, in
              radians.  It can be entered with either positive or negative
              sign; the absolute value of the entered value will be subtracted
              when computing phase within the program.  This entered value
              will be overridden by the presence of any view-specific phase
              shift values in the defocus file.

       -scale (-s) OR -ScaleByCtfPower     Floating point
              Scale frequency components by calculated CTF to the given power,
              in order to attenuate frequencies near the zeros of the CTF.
              The scaling does not occur below 0.9 times the frequency of the
              first zero, and it is introduced gradually between that point
              and the first zero to avoid a sharp transition in scaling.
              Lower powers give a narrower range of frequencies over which the
              strongest attenuation occurs around each zero.  This is not a
              Wiener filter; it will only attenuate signals and not boost any.

       -views (-vi) OR -StartingEndingViews     Two integers
              The starting view and the ending view to correct in this run of
              the program, numbered from 1.  This is an optional field.  The
              default is to correct all views in the input stack.

       -totalViews (-t) OR -TotalViews     Two integers
              The starting view and the ending view that need to be corrected
              in all parallel runs of the program.  This field is only needed
              when doing parallel runs with direct writing to a single output
              file.  The program is run initially with a StartingEndingViews
              entry of -1,-1 to set up the output file.  Then it is run with
              actual starting and ending views for each parallel run, and each
              run writes to the existing output file.

       -boundary (-b) OR -BoundaryInfoFile      File name
              Name of file with information about boundaries between chunks
              and files in which to write lines at the boundaries, when multi-
              ple runs are writing in parallel to an output file.

       -aAngle (-aA) OR -AxisAngle    Floating point
              This option is not supported.  The tilt axis has to be vertical,
              i.e., to be coincident with the Y axis.  Usually this means the
              input stack has to be the aligned stack.

       -param (-pa) OR -Parameter     Parameter file
              Read parameter entries from this file.

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

              Read parameter entries from standard input

   Defocus File Format
       The defocus file consists of a series of lines, each containing at
       least 5 numbers: starting and ending view numbers for the range of
       views fit to (numbered from 1), starting and ending tilt angles for the
       range of angles fit to, and the defocus value in nanometers (underfocus
       positive). The first line of the file can have a version number at the
       end.  For versions 1 and 2, the first line must have fitting data as
       well.  The typical file currently written by Ctfplotter thus starts
       with lines like
       61      61      -58.94  -58.94    4376  2
       60      60      -56.94  -56.94    4599
       A version 3 file can have columns for astigmatism values, or the phase
       shift from a phase plate, or both.  Past version 2, the first line is a
       header line without data.  Thus a version 3 file should start with
         flags  0 0. 0. 0  3
           where "flags" is the sum of:
              1 if the file has astigmatism values
              2 if the astigmatism axis angle is in radians, not degrees
              4 if the file has phase shifts
              8 if the phase shifts are in radians, not degrees
             16 if tilt angles need to be inverted to match what the
                 program expects (what Ctfplotter would produce)
                 with the -invert option
       The other values on the header line could be used in the future but
       should be 0.  If there are astigmatism values, the lower defocus value
       should be in the standard column for defocus, followed by the higher
       defocus value, then by the angle (counterclockwise positive) of the
       axis with the lower defocus (the long axis of the ellipse in an FFT).
       Either the astigmatism angles must be correct for the aligned stack, or
       the angles must be correct for the raw stack and the -xform option must
       be entered with the file of transforms used to produce the aligned
       stack from the raw one, so that the program can rotate these angles
       appropriately.  A file with just astigmatism values could start with:
       1  0 0. 0. 0  3
       61      61      -58.94  -58.94    4376    4652  -43.2

       If there are phase shifts, they go in a column at the end of the line.
       They can be positive or negative; only the absolute value will be used
       and equations using these shifts subtract the absolute value of the
       number.  A file with just phase shifts in radians could start with:
       12  0 0. 0. 0  3
       61      61      -58.94  -57.94    4376  1.47
       while a file with both astigmatism and phase shifts could start with:
       13  0 0. 0. 0  3
       61      61      -58.94  -57.94    4376    4652  -43.2  1.47
       Ctfplotter will not accept a version 3 file with astigmatism values
       or varying phase shifts, but it will accept one with a phase shift that
       is the same on every line.  In fact, if it is run with the -phase
       option to specify a fixed phase shift, it will output a version 3 file
       with that value, so that the option does not need to be supplied to
       Ctfphaseflip also.

       Quanren Xiong and David Mastronarde


       Prior to IMOD 4.0.29, Ctfplotter had a bug in which the view numbers
       written to the defocus file were numbered from 0, not 1.  When Ctf-
       phaseflip reads in the defocus file, it will do its best to detect this
       situation and adjust all the view numbers up by 1.  If it does detect
       an inconsistency between view numbers and angular ranges, it will issue
       a warning.

       Email bug reports to mast at colorado dot edu.

IMOD                                4.9.10                     ctfphaseflip(1)