fiberpitch(1)                                                    fiberpitch(1)



NAME
       fiberpitch - measure pitch of fibers and position relative to an axis

SYNOPSIS
       fiberpitch

DESCRIPTION
       Fiberpitch measures the angle of fibers relative to a central axis and
       their distance from the axis.  The pitch is resolved into radial and
       tangential components.  Several fiber bundles in a model may be ana-
       lyzed separately by drawing contours around them.  The central axis may
       be specified by a model contour; otherwise it will be assumed to be
       located at the centroid of the fibers and oriented either vertically or
       along the average trajectory of the fibers.  Measurements can be made
       from fibers in a subset of the model in Z.  The program can analyze
       several models and output the results to a single file.

       To use the program, the fibers should be modeled as open contours in an
       Imod model.  These contours can be in more than one object. The pitch
       for a fiber will be measured from the vector connecting the starting
       and ending points of the contour.  The position of the fiber is charac-
       terized by a single point for the purposes of measuring the distance
       from the central axis, resolving the pitch into radial and tangential
       components, and determining whether a fiber is a member of a bundle.
       This point can be either the starting point, ending point, or middle of
       the contour; the same kind of point is used for every contour in an
       object.  If the middle is chosen, the program finds the point in the
       contour that is halfway along the length of the contour between the
       starting and ending points.  If a subset of Z is chosen for analysis,
       then the starting and ending points for all of these purposes are the
       first and last points inside the specified Z range, respectively.

       If separate bundles are to be analyzed, include an object with separate
       closed contours that surround the fibers in each bundle.  These con-
       tours should be drawn in an X/Y plane and may be drawn at any desired
       Z-level.  The X and Y coordinates of the characteristic point for each
       contour are used to determine whether it is inside a given boundary
       contour.

       To define the central axes of bundles, include another object with open
       contours that describe the trajectories of the axes.  Only two points
       are needed for each axis.  The first point should be placed at about
       the same Z level as the characteristic points for the fibers.  The
       direction in Z will affect the angles and should be chosen appropri-
       ately (see below).  If no central axis object is used, or if there is
       no central axis contour inside the contour specifying a particular bun-
       dle, then the program will assume that the axis for that bundle is
       located at the centroid of the characteristic points for all of the
       fibers in that bundle.  You can specify that such an axis will follow
       the mean trajectories of the fibers; otherwise it will be made perpen-
       dicular to the X/Y plane.

       The program includes in its output an identifying number for the model
       (optional), the contour number of the boundary contour (optional), the
       object and contour number of the fiber, the X and Y coordinates of the
       characteristic point relative to the central axis (in a coordinate sys-
       tem achieved after rotating the axis to vertical), the distance from
       the axis to the characteristic point, the angle between the fiber and
       axis, and the radial and tangential components of the pitch.  The coor-
       dinates and distance will be in nanometers, or in pixels if there is no
       scale in the model header.  The overall angle varies from 0 to 180
       degrees and will depend on the direction of the central axis as well as
       that of the fiber.  It is greater than 90 degrees if the fiber forms an
       oblique angle with the axis, with these directions taken into account.
       The radial pitch varies from -180 to 180 degrees; it is positive if the
       fiber is heading away from the axis and negative if the fiber is head-
       ing toward it; its magnitude is greater than 90 the the angle to the
       axis is oblique.  The tangential pitch varies from -90 to 90 degrees
       and is positive or negative depending on whether the fiber follows a
       right-handed or lefted-handed screw thread around the axis.  The pro-
       gram allows options to invert the polarity of all the fibers in an
       object, and to invert the polarity of the axis marker for a particular
       object, so that these angles can all be made to come out right even if
       fibers or the axis marker are not modeled in the right polarity for a
       particular object.  When an axis is derived from the mean trajectory of
       fibers that have mixed polarities, the polarity of the axis is deter-
       mined by which polarity is predominant among the fibers.

       The first three entries to the program apply to the output for all of
       the following models:

       Name of output file, or Return to output to the terminal or log file.

       1 to output an identifying number for each model, or 0 not to.

       1 to output boundary contour numbers, or 0 not 0.

       The following entries are made for each model to be processed:

       Name of model file, or Return to exit the program.

       IF you entered 1 above to output identifying numbers, then enter the
       identifying number for this model; otherwise skip this entry.

       Lower and upper Z levels within which to measure pitches, or 0,0 to
       have no constraints in Z.

       List of objects with fibers to analyze.  Ranges may be entered, e.g.,
       1-3,5,8.

       For each object to be analyzed, enter -1, 0, or 1 to take the charac-
       teristic point for measuring fiber position to be at the start, middle,
       or end of the contour, respectively.

       For each object to be analyzed, enter 1 to invert the polarity of
       fibers and compute their direction using the vector from the end to the
       start, or 0 to use the normal polarity from start to end.

       For each object to be analyzed, enter 1 to invert the polarity of the
       central axis, or 0 not to.

       Object number of object containing boundary contours around bundles of
       fibers, or 0 to treat all fibers as belonging to one bundle.

       Object number of object containing contours marking the central axes,
       or 0 to use a vertical axis through the centroid of the fiber positions
       in X and Y, or -1 to use an axis that follows the mean trajectory of
       the fibers.

HISTORY
       Written by David Mastronarde, 5/3/01

BUGS
       Email bug reports to mast at colorado dot edu.



BL3DEMC                              4.7.3                       fiberpitch(1)