Interpolator Plugin Help


--------------------------

This plugin allows for rapid segmentation of surfaces by automatically generating "interpolated" contours between the "key" contours which you have manually drawn. Each time you add a new contour, press [Enter] (instead of [n]) and the program will generate interpolated contours between connected key contours on either side of the contour you have just added or modified.
Contours are "connected" if they are within "Z Bridge" slices of each other and the program considers them part of the same surface as determined by the selected "surface method". The shape of interpolated contours depends on which "interpolation type" you have selected.

As of IMOD 4.12.28, the plugin can correctly interpolate nested contours, ones fully inside other ones, if the option to analyze for nested contours is selected in the dialog opened with the More Actions button. The plugin determines a "nesting level" for each contour, and then considers only contours at the same level to be in the same surface. To use this feature, you should either model the key contours for all levels on each slice to be connected, or model from the outside in. For example, if you have an inner and an outer contour on one slice, step to another slice, model the outer contour, and interpolate, it will connect the new contour correctly to the outer contour on the previous slice. However, if you draw just the inner contour and interpolate, it will appear to be an outer contour and be connected to the outer one on the previous slice. Modeling from the outside in is essential if you are going to use different sized gaps for outer and inner structures; in this case there needs to be an interpolated contour outside of an inner key contour so that it is recognized as inner. Up to 15 levels of nesting are allowed.

Click here to see the video tutorial
Click here to see Andrew Noske's IMOD page


List of Interpolation Types
--------------------------

  1. None - lets you use normal contour drawing behavior.
  2. Linear - generates interpolated contours with straight lines between key contours, connecting the current contour to one key contour above and one key contour below.
  3. Spherical - generates interpolated contours in the profile of a sphere, and does not deal with branching. All key contours in the same surface are connected.
  4. Smooth - generates interpolated contours such they form a smooth, curved surfaces. The current contour is connected to as many key contours both above and below as are specified in the Max gaps to fill spin box.
  5. Smooth Pts - as previous, but more sensitive to changes on different sides of the contour, and only connecting up to two key contours above and two key contours below.

Note that if you repeatedly step up to a new slice, add one contour, and interpolate, then some slices below will be reinterpolated except when using "Linear": all slices with "Spherical", 2 slices with "Smooth Pts", and up to the number of slices in Max gaps to fill for "Smooth". If "Smooth" gives slow performance, try reducing that maximum.
Hot Key Summary
---------------------
[Enter] Interpolate selected contour and start new contour
[n] Start new contour (without interpolating current contour)
[u] Toggle current contour between key and interpolated. When the option to analyze for nested contours is on, this hot key will work only to change contours from interpolated to key.
[;] Open dialog to change the marking of contours in a selected range from interpolated to key, or vice-versa. The way to get contours drawn with solid lines is to mark them as key. When the option to analyze for nested contours is on, contours can be changed only from interpolated to key, not back to interpolated.
   
[g] Find next gap or isolated contour (NOTE: to toggle ghosting, press [ctrl+shift+G])
[h] Find next large hole between key contours (ie. a large region of consecutive interpolated contours)




Tips
---------------------

If you are not happy with the shape of interpolated contours you can either undo [Ctrl+Z], add/modify more contours, or change the interpolation options and type. Select 'Clear all Interp' to delete all interpolated contours and Regenerate Interp to regenerate interpolations between all key contours using the currently selected type.

All of these interpolation types are intended for use with closed contours and so may give undesirable results for open or scattered point objects which span multiple slices.

Interpolation can become sluggish for objects with numerous contours. To improve performance you should consider adding an extra object and then use 'edit > object > move' to merge the contours into the desired object periodically.

To segment compartments even faster, try using this "Interpolator" plugin in unison with the "Drawing Tools" plugin.

The best settings to use depend on the size, shape and complexity of the surfaces you are segmenting. For relatively round/simple medium-to-large surfaces I suggest 'Spherical' interpolation with a Z Bridge of maybe 40. If your surfaces are highly branched you may want to change the surface method to 'touching', branching to 'merge conts', reduce Z Bridge and use either 'Linear' or 'Smooth' interpolation. In the end, trial and error is the only way to find the best settings - don't forget you can fine-tune some of these settings by clicking the 'More Settings' button. Note also you can force linear interpolation between the current contour and the last contour you interpolated with [shift+enter], regardless of Z Bridge.

For more information on what each button/option does hover your mouse over it.

---------------------

This plugin was created by Andrew Noske (andrew.noske<at>gmail<dot>com).
If you encounter bugs please e-mail me before e-mailing the IMOD group (to reduce traffic).
In your e-mail please tell me exactly how and when the problem occurred and attach the model file you were using with enough information that I can replicate the error/crash.

NOTE: Maintaining this plugin is part of the "SLASH segmententation" initiative. Please contact me for citation information.


Acknowledgements: Brad Marsh at the Institute for Molecular Bioscience (www.imb.uq.edu.au) for helping encourage this work - without this nor any of my other plugins would exist. Mark Ellisman and the The National Center for Microscopy and Imaging Research (www.ncmir.ucsd.edu) for ongoing support and funding of these expedited segmentation tools. David Mastronarde and the team at The Boulder Lab for 3-D Electron Microscopy (bio3d.colorado.edu) for their wonderful support of all my plugins.