smoothsurf(1)                                                    smoothsurf(1)



NAME
       smoothsurf - to smooth a surface defined by model contours

SYNOPSIS
       smoothsurf  [options]  input_file  output_file

DESCRIPTION
       This program will smooth a surface defined by model contours, adjusting
       the positions of points in each contour as needed.  At each point on
       the surface, it fits a 3-D polynomial to all points within a defined
       range of Z-levels and within a specified distance of the central point.
       That point's position is then replaced by the fitted position from the
       polynomial.  After this surface smoothing operation, each contour is
       independently smoothed by local fitting to 2-D (ordinary) polynomials.

       The default values for the number of Z levels (sections or slices) and
       for the maximum distance in 3D should give a good starting point for
       smoothing models drawn on tomographic reconstructions.  Increase or
       decrease these two numbers together to increase or decrease the smooth-
       ing.  Because the default values give a big disparity between the total
       extent in Z versus X and Y (7 versus 30), the Z range should be
       increased more than the distance.  For example, try "-nz 11 -dist 20"
       and "-nz 15 -dist 25" for progressively more smoothing.  If you want to
       experiment more broadly with the parameters, you can try changing the
       balance between these two numbers, as well as omitting the independent
       contour smoothing with "-cont 0".

       For serial section reconstructions, note that the Z scaling is NOT
       taken into account in computing 3D distances, so the maximum distance
       corresponds more closely to distance in the X/Y planes than to true 3D
       distance.  The default parameters may be a good starting point, but
       here it may be appropriate to increase the maximum distance more rela-
       tive to the number of sections (e.g., start with "-dist 25").

       Smoothsurf moves only the contours, not the points in any existing
       meshes.  To see the resulting surface, you need to rerun imodmesh.

OPTIONS
       Smoothsurf uses the PIP package for input (see the manual page for
       pip).  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 -).  Options can be abbreviated to unique letters;
       the currently valid abbreviations for short names are shown in paren-
       theses.


       -input (-i) OR -InputFile      File name
              Input model file.

       -output (-ou) OR -OutputFile   File name
              Output model file.

       -objects (-ob) OR -ObjectsToSmooth       List of integer ranges
              A list of the objects to smooth (ranges are allowed, e.g.
              1,2,5-7).  The default is to do all closed-contour objects, and
              open contours that lie in one plane.

       -nz (-n) OR -NumberOfSections       Integer
              Number of sections or slices in Z to include in the fit.  Higher
              numbers smooth more.  The default is 7.

       -distance (-d) OR -MaximumDistance       Floating point
              Maximum distance from the central point being smoothed, for
              points to be included in fits.  Higher distances smooth more.
              The default is 15 pixels.

       -contorder (-c) OR -ContourOrder    Integer
              Order of the polynomials fit to contours to smooth them after
              smoothing the surface, or 0 to omit this smoothing.  Higher
              orders smooth less.  The default is order 2; order 1 (linear)
              will probably oversmooth and contract the contours.

       -surforder (-su) OR -SurfaceOrder   Integer
              Order of the polynomials fit to the surface.  Higher orders
              smooth less.  The default is order 3.  Note that a second-order
              polynomial has 5 terms and a third-order has 9 terms.

       -sort (-so) OR -SortSurfaces   Integer
              This option controls whether the program uses surface assign-
              ments of contours to keep from including points from contours
              that belong to different surfaces in a surface fit.  With the
              default value of 1, the program will analyze the object mesh, if
              any, to sort contours into surfaces (see ImodSortSurf(1)).
              Enter -1 to have the program use existing surface values of the
              contours, or 0 to ignore surface information.

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

       -StandardInput
              Read parameter entries from standard input.


HISTORY
       Written by David Mastronarde, 9/9/97
       6/17/04: Converted to PIP input with default values, fixed bug in contour
       smoothing, made it work properly with pixel sizes in image file header

BUGS
       Email bug reports to mast at colorado dot edu.



BL3DEMC                              4.7.3                       smoothsurf(1)