SNAKES, or active contours, are curves defined within an image domain that can move under the influence of internal forces coming from within the curve itself and external forces computed from the image data. The internal and external forces are defined so that the snake will conform to an object boundary or other desired features within an image.
The concept of active contour was first introduced by Kass, et al.? A lot of research has been done to overcome various difficulties the technique may encounter in applications.? GFV, introduced by researchers from John Hopkins University, appeared to be successful in extending the capture range and forcing the active contours into concave regions.? GFV was further refined by GGFV and …
The following paper presented an in depth discussion of GFV as well as brief overview of active contour:
<[login to view URL]>
This project will be divided into three phases.? Phase one is to implement the classical active contour as introduced by Kass, et al in a C/C++ library.? The algorithm used to evolve the active contour should be the one presented in section A.1 (p. 103) of the following publication:
<[login to view URL]>
Phase two of the project will be to calculate GFV from a gray scale image and use it as the external force for the algorithm developed in phase one.
Phase three of the project is to implement GGFV and beyond.
This bid request is for phase one only.? The coder, however, must present a framework so the following phases can be build upon the outcome of this phase.? Unless the coder proposes a better solution, the algorithm is expected to be implemented as a class tempate:
template<class IMG, class CNT> ActiveContour{};
the coder? may assume array IMG, representing image,? can be address (e.g.? boost::multi_array)? by
img[column][row], and/or img(row, column)
## Deliverables
This bid is for phase one only but the coder should present a framework that will allow the following phases to be easily incorporated in.? The library must be efficient.? The coder? must be proficient in developing C++ class template and design? an extensivable? frame work with proper balance between the use of class template and the use of polymorphism.