Boulder Laboratory for 3-Dimensional Electron Microscopy of Cells

XYZPROJ(1)							     XYZPROJ(1)

NAME
  xyzproj - to project volume at a series of tilts around the X, Y, or Z axis

SYNOPSIS
  xyzproj

DESCRIPTION
  This program will compute projections of a 3-dimensional block of an
  image file at a series of tilts around either the X, the Y or the Z
  axis.  The block may be any arbitrary subset of the image file.  In addition
  to projecting a fixed block of data, it can project a rectangle of data in
  each X/Y image plane that is aligned with the angle of projection, which is
  useful for common line analysis.
  
  A projection along a ray line is simply the average of the pixels in
  the block along that line.  However, rather than taking the values of
  the pixels that lie near the ray, interpolation is used to sample
  density at points evenly spaced at one pixel intervals along the ray.

  When the input images are a tilt series and any one of the options are
  entered to provide the tilt angles for each image (e.g., -tiltfile), the
  program operates differently.  It automatically produces projections at
  angles around the Z axis, i.e., within the plane of each image.  The
  projections are within a rectangular box that is rotated so its sides are
  parallel to the projection rays.  The size of the box is constrained so that
  it is completely within the image area on the zero-degree view, or within
  the area specified by the -xminmax and -yminmax options.  In addition, the
  box will be made smaller in the direction of projection for images at higher
  tilts by the cosine of the tilt angle, so that it will contain approximately
  the same image features in the different images being projected at a given
  angle.  This tilt foreshortening can be suppressed with the -full option.
  
  Xyzproj uses the PIP package for input (see the manual page for pip)
  and can still take sequential input interactively.  The following options
  can be specified either as command line arguments (with the -) or one per
  line in a command file or parameter file (without the -):

 -input OR -InputFile   File name
    Input image file to project.  If this option is not entered, the first
    non-option argument will be used for the input file.

 -output OR -OutputFile   File name
    Output file for projection.  If this option is not entered, the second
    non-option argument will be used for the output file.

 -axis OR -AxisToTiltAround   Text string
    Axis to tilt around (X, Y, or Z)

 -xminmax OR -XMinAndMax   Two integers
    Starting and ending X index coordinates of block to project (numbered from
    0).  The default is the whole extent in X.

 -yminmax OR -YMinAndMax   Two integers
    Starting and ending Y index coordinates of block to project (numbered from
    0).  The default is the whole extent in Y.

 -zminmax OR -ZMinAndMax   Two integers
    Starting and ending Z index coordinates of block to project (numbered from
    0).  The default is the whole extent in Z.

 -angles OR -StartEndIncAngle   Three floats
    Starting, ending, and increment tilt angle.  Enter the same value for
    starting and ending angle to get only one image.

 -mode OR -ModeToOutput   Integer
    Mode of output file (0 for byte, 1 for integer, 2 for real).  The default
    is mode 1 for input mode 0 or 1, mode 2 for input mode 2.

 -width OR -WidthToOutput   Integer
    Width of output file (default is same as width of input coordinates)

 -addmult OR -AddThenMultiply   Two floats
    Factors to add then multiply by (default 0,1)

 -fill OR -FillValue   Floating point
    Value to fill empty areas with (default is mean)

 -constant OR -ConstantScaling
    Scale all projection sums by the same amount, by dividing by the thickness
    of the slab being projected.  The default is to divide each projection sum
    by the number of pixels along the projection ray.  Constant scaling is
    more appropriate when projecting a largely empty volume.

 -tiltfile OR -TiltFile   File name
    File with tilt angles for input images from a tilt series.  Use this
    option if tilt angles are in a file, one per line.

 -first OR -FirstTiltAngle   Floating point
    Tilt angle of first view, in degrees, for images from a tilt series.  Use
    this option together with TiltIncrement.

 -increment OR -TiltIncrement   Floating point
    Increment between tilt angles, in degrees, for input images from a tilt
    series.  Use this option together with FirstTiltAngle.

 -tangles OR -TiltAngles   Multiple floats
    Use this option to enter the tilt angles for each view individually, in
    degrees, for input images from a tilt series.
    (Successive entries accumulate)

 -full OR -FullAreaAtTilt
    Use this option to keep the projection box the same size on all images of
    a tilt series, rather than making it smaller at higher tilt.  The box will
    thus include new material at each higher tilt.

 -param OR -ParameterFile   Parameter file
    Read parameter entries as keyword-value pairs from a parameter file.

 -help OR -usage
    Print help output

  -StandardInput
     Read parameter entries from standard input.


  If there are no command-line arguments, Xyzproj takes sequential input
  the old way, with the following entries:

  Input image file
  
  Output image file
  
  Index coordinates (with numbering starting from 0 in X, Y and Z) of
  the starting and ending X, Y then Z coordinates of the block.  The
  default is the whole image file.  The Z coordinates may be entered
  in inverted order (e.g. 56,34) and should be so entered if the input
  stack is a tomogram that was built in inverted order.

  Axis to tilt around for projections.  Enter X, Y or Z.  The Z axis
  passes perpendicular to the sections in the file.
  
  Starting tilt angle, ending tilt angle, and increment to apply
  between these limits.  All angles are allowed.
  
  Width (x dimension) of the output images.  An appropriate default may
  be selected with /
  
  Data mode for output file.
  
  Scaling factors to apply to the average pixel values: a factor to be
  added to the values, then a factor to multiply by after the addition.
  The default is 0,1, for no scaling.
  
  Value to fill parts of the output image that have no points in the
  block projecting to them  The scaling factors are applied to this
  value.  The default is the mean of the input file.
  
  
  The user must determine the proper scaling in order to output data
  most efficiently (mode 0).  The user must also set the header
  information properly to get the coordinate system to correspond
  to that of the input image file.  This program does not set up the
  header to indicate that the output file is a tilt series.

HISTORY
  Written by David Mastronarde  10/13/89
  Converted to PIP, 6/19/06