clipmodel(1)                                                      clipmodel(1)

       clipmodel - to clip a MT model by location or object number

       clipmodel  [options]  input_file  output_file

       Clipmodel will clip out a portion of a model and output either a new
       model file, or a simple list of point coordinates.  It can either
       include only points within a defined rectangular block of 3- dimen-
       sional coordinate space, or exclude points within such a block.  This
       process of inclusion or exclusion may be invoked repeatedly.  The pro-
       gram can also eliminate an entire IMOD object.

       To specify a rectangular block of coordinate space, one enters the min-
       imum and maximum X, Y and Z coordinates of the block.  The default val-
       ues for the minimum and maximum X and Y coordinates are very large num-
       bers, so one can select the default if one wants no limitation on
       either the X, the Y, or both coordinates.  A point on the edge of the
       block (i.e. with one coordinate exactly equal to one of the lower or
       upper limits) is treated as if it is inside the block.  The Z limits
       are extended by 0.005 to help this work as expected even if Z values
       differ slightly from integers; for example, limits of 117,117 will
       retain the point at Z = 117.

       The coordinates that you enter should correspond to the index coordi-
       nates in the image display from which the model was last saved.  If you
       last saved the model from an 3dmod display of a subset of the image
       stack, then you need to refer to coordinates within that subset.  If
       this is a problem, reload the model onto the full image stack (or a
       subset starting at 0,0,0) and save it again. Index coordinates are num-
       bered from zero, so your Z values should be 1 less than the section
       number shown in 3dmod.

       The program does not create new contours.  This limitation means that
       if there is more than one segment of a contour inside a block being
       included (or more than one segment outside a block being excluded), you
       have two options.  The program either can truncate the contour to be
       the longest such segment, discarding any other segments, or it can clip
       all of the points out of the contour that are in the region being
       excluded, connecting the remaining segments with straight lines.

       If an object consists of scattered points, then all points in the
       region being included will be included, regardless of which clipping
       option you choose for clipping contours.

       When you choose to retain all segments in the region being included,
       the program will sum and report the total length of cut edges, so that
       the cut surface can be subtracted from a computed surface area.  For
       objects consisting of closed contours, this total will include an edge
       between the starting and ending points of a clipped contour, if points
       were clipped off at those ends of the contour.  For open contour
       objects, this edge will not be included.

       Clipmodel uses the PIP package for input (see the manual page for
       pip) and can still take input interactively if a sequence of opera-
       tions is needed that cannot be achieved with the PIP options.  The fol-
       lowing 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 parentheses.

       -input (-i) OR -InputFile      File name
              Input model file to be clipped

       -output (-ou) OR -OutputFile   File name
              Name of output file, which can be either an IMOD model file or
              text file with a list of point coordinates.

       -point (-po) OR -PointOutput   Integer
              Enter 1 to make a point output file instead of a model output
              file.  Nearest integer coordinates will be output; use
              Model2point to get more flexible point list output.  Enter -1
              to get a point list with corner points added each time a new Z
              value is encountered; in this case -xminmax and -yminmax must be

       -xminmax (-x) OR -XMinAndMax   Two floats
              Starting and ending X index coordinates to include or exclude,
              numbered from 0.  Enter a / to take the default, which is to
              have no selection based on X coordinate.  (Successive entries

       -yminmax (-y) OR -YMinAndMax   Two floats
              Starting and ending Y index coordinates to include or exclude,
              numbered from 0.  Enter a / to take the default, which is to
              have no selection based on Y coordinate.  (Successive entries

       -zminmax (-z) OR -ZMinAndMax   Two floats
              Starting and ending Z coordinates to include or exclude, num-
              bered from 0.  Enter a / to take the default, which is to have
              no selection based on Z coordinate.  Starting and ending will be
              adjusted down and up by 0.005, respectively, so whole numbers
              can be entered; e.g., 16,18 will clip out sections 16 through
              18.  (Successive entries accumulate)

       -bound (-b) OR -BoundaryObjects     List of integer ranges
              List of model objects with contours enclosing a volume to
              include or exclude.  If coordinate limits are also entered, then
              the intersection of the regions inside those limits and the
              interior of the contours will be used as the volume to include
              or exclude.  Objects must be closed contour objects.  There can
              be more than one contour on each section, and contours do not
              need to be drawn on every section included in the volume.
              Points are tested for whether they are inside the boundary con-
              tours on the nearest section with such contours, unless the
              -coplanar option is given.  Points beyond the minimum and maxi-
              mum Z values of the boundary contours are considered outside the
              volume.  The listed objects will be excluded from the clipping
              operations; not even coordinate limits are applied to them.  If
              multiple operations are specified, the boundary contours are
              applied only on the first operation.

       -coplanar (-c) OR -CoplanarBoundary
              Boundary contours apply only on the planes where they are drawn;
              thus, to be considered inside the volume, a point must be on the
              same plane as, and inside, some boundary contour.

       -exclude (-ex) OR -ExcludeOrInclude      Multiple integers
              1 to exclude or 0 to include points within specified coordinate
              block.  Multiple values can be entered for a sequence of opera-
              tions.  The number of -xminmax, -yminmax, and -zminmax entries
              must each be equal to the number of values entered here, unless
              an option is not entered at all for that dimension.  If any
              coordinate limits are entered, the default for this entry is a
              single 0; in other words, you can omit this entry if you are
              just clipping out coordinates inside one coordinate block.

       -longest (-l) OR -LongestContourSegment
              Retain only the longest segment of a contour that is within the
              volume being included, instead of all segments.

       -keep (-k) OR -KeepEmptyContours
              Keep contours that have no points, so that contours have their
              original numbers in the output model.  This was the behavior
              before IMOD 4.6.18.  The default is now to remove empty con-

       -objects (-ob) OR -ObjectList       List of integer ranges
              List of model objects to remove or clip endpoints from.  This
              option cannot be entered together with any of the options for
              clipping by coordinates.  If -ends is entered, points will be
              removed from endpoints of contours; otherwise whole objects will
              be removed.

       -ends (-en) OR -ClipFromStartAndEnd      Two integers
              Number of points to clip from start and end of contours for the
              objects specified by -objects; the latter must be entered.

       -values (-v) OR -ValuesInOrOutOfRange    Integer
              Use this option to delete contours or points that have stored
              values inside of or outside of a defined range.  Enter 1 or -1
              to delete contours, 2 or -2 to delete points, or 3 or -3 to
              delete both, with a positive or negative number to delete if
              values are inside or outside the range, respectively.  For exam-
              ple, if a model is produced by Imodfindbeads with the default
              storage option, contours with values below threshold can be
              removed with "clipmodel -values 1 input_file output_file".

       -range (-r) OR -RangeForValues      Two floats
              Lower and upper values of the range used to decide whether a
              point or contour is to be deleted.  If this option is not
              entered, the default range for each object is all values below
              the lower threshold stored in the model by Imodfindbeads,
              Findbeads3d, 3dmod, or other programs.  In 3dmod, this
              threshold appears in the Bead Fixer dialog and also as the Black
              slider setting in the Values panel of the Edit-Objects dialog of
              the Model View window.

       -update (-up) OR -UpdateObjectMinMax
              Update the stored minimum and maximum values of each object
              based on the stored values of all contours and points in the
              object.  These minimum and maximum values determine the range of
              the Black/White sliders in the Values panel of the Edit-Objects
              dialog of the Model View window.  This option cannot be used
              together with -keep.

       -param (-pa) OR -ParameterFile      Parameter file
              Read parameter entries as keyword-value pairs from a parameter

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

              Read parameter entries from standard input.

       In interactive mode, entries to the program are:

       Name of input model file

       Name of output file for clipped model

       0 to output a model file, 1 to output a file with a simple list of
          integer point coordinates, or -1 to output such a point list with
          two additional corner points preceding the points on any given
          section.  Such a file could be used as a set of teaching points
          for MTTEACH and MTDETECT; but beware of the need for each "zone"
          to be contained within a single piece in a montaged image file.

       0 to retain only the longest segment of a contour included in a
          volume (if the contour passes through the volume more than once),
          or 1 to retain all segments included in the volume.

       0 to include points in the rectangular coordinate block to be
          specified next, or 1 to exclude points in such a block, or -1 to
          exclude whole IMOD objects, or -2 to clip points off of one end
          of all contours in selected IMOD objects.

       IF you entered 0 or 1, next specify the coordinates as follows:

          Minimum and maximum X, minimum and maximum Y coordinates of the
            block.  / selects the defaults of no limits

          Minimum and maximum Z of the block

       BUT IF you entered -1, enter instead a list of the numbers of the
          objects to be excluded.  For data from a WIMP model file, use
          256 minus the WIMP object color (e.g. 1 for color 255), or the
          negative of this value to refer to WIMP objects that are turned
          off.  Ranges may be entered (e.g. 1-3,6).

       OR IF you entered -2, enter the number of points to clip off of the
          start, and the number of points to clip off of the end, of
          contours in selected objects.  Next enter a list of the numbers of
          the objects to be clipped in this fashion, where WIMP objects may
          again be referred to by 256 minus their color, or the negative of
          this value if they are turned off.  Ranges may be entered.

       0 to store the current result, or 1 to loop back and specify a new
          block to include or exclude (or objects to exclude or clip)

       Written by David Mastronarde, 1/11/90
       Modified for IMOD 4/24/97
       Compute cut edges and handle coordinates better, 10/24/00
       Converted to PIP input, July 2012.

       Email bug reports to mast at colorado dot edu.

IMOD                                 4.9.3                        clipmodel(1)