patchcrawl3d(1)                                                patchcrawl3d(1)

       patchcrawl3d - Search for displacements between local patches from two

       patchcrawl3d xsize ysize zsize nx ny nz xlo xhi ylo yhi \
               zlo zhi max_shift filea fileb output_file \
               [transform_file original_fileb borders_in_b] [boundary_model]

       patchcrawl3d will determine the 3-D displacement between the two image
       volumes in filea and fileb, at a regular array of positions.  It com-
       putes border sizes from the lower and upper coordinates entered as
       arguments, optionally adjusting these borders to account for transfor-
       mations applied to obtain fileb.  It then runs the program corrsearch3d
       to determine the displacement of each patch in fileb relative to the
       patch in filea.

       The program places into output_file an initial line with the total num-
       ber of patches, then one line for each patch, containing the X, Y, and
       Z coordinates of the patch and the displacement between the two files
       in X, Y, and Z.

       The size of the patches in X, Y, and Z is set by the arguments xsize,
       ysize, and zsize.

       The number of patches in X, Y, and Z is set by the arguments nx, ny,
       and nz.

       The lower and upper limits of the region from which patches will be
       extracted are set by xlo and xhi in X, ylo and yhi in Y, and zlo and
       zhi in Z.

       The max_shift argument specifies the maximum displacement that will be
       found by local searching in corrsearch3d; if the search does not yield
       a correlation peak within this limit, then onepatchcorr will be called
       to find the displacement by FFT-based cross-correlation.

       The region to be analyzed can be limited further if fileb was trans-
       formed from an original volume and appreciably shifted by that trans-
       formation.  If the optional arguments transform_file, original_fileb,
       and borders_in_b are included, then the limits of the region for
       patches will be adjusted to exclude domains in fileb that back-trans-
       form to coordinates outside the bounds of the original fileb, or too
       close to the borders of this file.  The borders_in_b argument should
       consist of four numbers separated by commas, giving the size of the
       border to exclude on the lower and upper sides in X and the upper and
       lower sides in Z.

       A final optional argument can be used to indicate a model file bound-
       ary_model with boundary contours specifying which patches to analyze.
       This model can be quite simple, consisting of just a single contour
       enclosing the region where patches are generally good.  This contour
       can be drawn in any Z plane of the flipped tomogram.  However, if the
       good region changes through the depth of the tomogram, you can draw
       contours at several Z levels.  If you have two layers of patches, draw
       two contours, one near the top and one near the bottom of the tomogram;
       if you have three layers, add another contour in the middle, etc.  For
       a given patch, the program will find the contour at the nearest Z level
       and use that one to determine whether to include the patch.

       Patchcrawl3d, Corrsearch3d, and Onepatchcorr replace Patchcorr3d.  The
       latter program used FFT-based 3-D cross-correlation at each patch posi-
       tion.  Computing the correlation directly at each displacement and
       searching for a local peak in the correlation is much faster when the
       approximate displacement is already known.  Patchcrawl3d is written in
       C-shell and is obsolete since Corrsearch3d can be run directly with PIP

       David Mastronarde  <mast at colorado dot edu>

       corrsearch3d, onepatchcorr, patchcorr3d

BL3DEMC                              4.7.3                     patchcrawl3d(1)