Abstract

In the last decade, level-set methods have been actively developed for applications in image registration, segmentation, tracking, and reconstruction. However, the development of a wide variety of level-set PDEs and their numerical discretization schemes, coupled with hybrid combinations of PDE terms, stopping criteria, and reinitialization strategies, has created a software logistics problem. In the absence of an integrative design, current toolkits support only specific types of level-set implementations which restrict future algorithm development since extensions require significant code duplication and effort. In the new NIH/NLM Insight Toolkit (ITK) v4 architecture, we implemented a level-set software design that is flexible to different numerical (continuous, discrete, and sparse) and grid representations (point, mesh, and image-based). Given that a generic PDE is a summation of different terms, we used a set of linked containers to which level-set terms can be added or deleted at any point in the evolution process. This container-based approach allows the user to explore and customize terms in the level-set equation at compile-time in a flexible manner. The framework is optimized so that repeated computations of common intensity functions (e.g., gradient and Hessians) across multiple terms is eliminated. The framework further enables the evolution of multiple level-sets for multi-object segmentation and processing of large datasets. For doing so, we restrict level-set domains to subsets of the image domain and use multithreading strategies to process groups of subdomains or level-set functions. Users can also select from a variety of reinitialization policies and stopping criteria. Finally, we developed a visualization framework that shows the evolution of a level-set in real-time to help guide algorithm development and parameter optimization. We demonstrate the power of our new framework using confocal microscopy images of cells in a developing zebrafish embryo.

Highlights

  • The automated identification of anatomical structures found in medical and microscopy images is an important step in any imaging-based quantitative analysis pipeline

  • To overcome the disadvantages associated with simple heuristic methods, a class of methods for contour evolution known as geometric active contour models, or level-sets, have been actively developed (Osher and Sethian, 1988; Sethian, 1999)

  • The scalar constants α, β, and γ weight the relative influence of each of the terms on the movement of the interface. Based on this prevalent model in the early 2000s, level-sets were implemented in the NIH/NLM Insight Toolkit (ITK) v3

Read more

Summary

METHODS

The goal of the new inheritance framework is to permit the implementation of a variety of level-set methods with minimal code-duplication and allow end-users to explore and customize the method to their data. The level-set equation, term, and evolution classes are independent of the underlying domain representation which facilitates the implementation of a wide variety of level-set methods. Depending on the computing environment, one cannot evolve more than tens of level-set functions without running into memory problems To address this problem, our new framework handles level-set functions defined on a subset of the input image domain ( ). The term class stores a level-set function identifier to supply the computed update to the evolution of the corresponding level-set function in the container. The term base class is templated using two parameters, namely, the input image type and a container of level-set functions (Figure 3C): template< class TInputImage, class TLevelSetContainer > class LevelSetEquationTermBase : public Object.

INTRODUCTION
BACKGROUND
REGION-BASED LEVEL-SETS
REINITIALIZATION AND STOPPING CRITERION
CONTAINER-BASED DESIGN
IMPLEMENTATION AND DISCUSSION
ADAPTABILITY TO USER-CUSTOMIZATIONS AND DATASET VARIATIONS
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call