ND morphological contour interpolation
Please use this identifier to cite or link to this publication: http://hdl.handle.net/10380/3563
New: Prefer using the following doi: https://doi.org/10.54294/achtrg
This document describes a new class, itk::MorphologicalContourInterpolator, which implements a method proposed by Albu et al. in 2008. Interpolation is done by first determining correspondence between shapes on adjacent segmented slices by detecting overlaps, then aligning the corresponding shapes, generating transition sequence of one-pixel dilations and taking the median as result. Recursion is employed if the original segmented slices are separated by more than one empty slice. This class is n-dimensional, and supports inputs of 3 or more dimensions. `Slices' are n-1-dimensional, and can be both automatically detected and manually set. The class is efficient in both memory used and execution time. It requires little memory in addition to allocation of input and output images. The implementation is multi-threaded, and processing one of the test inputs takes around 1-2 seconds on a quad-core processor. The class is tested to operate on both itk::Image and itk::RLEImage. Since all the processing is done on extracted slices, usage of itk::RLEImage for input and/or output affects performance to a limited degree. This class is implemented to ease manual segmentation in ITK-SNAP (www.itksnap.org). The class, along with test data and automated regression tests is packaged as an ITK remote module https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation.