In this work, the idea of a search for the optimal global solution is retained, but a relatively fast search algorithm is adopted and the search area may be restricted interactively by selecting a window on the image which includes the required feature.
The problem of finding a minimum cost path between two points is one of several related graph problems that appear in the literature. Although they have not been used extensively in image analysis, they have been widely explored elsewhere and efficient algorithms have been proposed. These algorithms are expressed in terms of a cost function which is usually used to calculate the incremental cost of moving between two adjacent nodes.
Dijkstra [1] originally devised an algorithm that is guaranteed to find the minimum cost path between two points. It splits the network nodes into two sets, those for which the minimum cost from the start node is known and those for which it is not known. The algorithm proceeds by transferring nodes from the second set to the first by examining the neighbours of each node in the first set. When the cost to get to the destination node is known, the algorithm can terminate. Several improvements have been made to Dijkstra's algorithm to improve its efficiency [2,3].
Moore's algorithm [4] is similar to Dijkstra's but instead of considering two sets of nodes it uses a queue of nodes whose costs have yet to be finally determined. Queue members are removed from the front of the queue and their neighbouring nodes are examined and added to the back of the queue to have their costs determined. When the queue is eventually empty the algorithm terminates and the minimum cost path from the start node to every other node has been calculated. The cost to the destination node will be among these.
An improvement to Moore's algorithm, which has been attributed to d'Esopo [] and developed by Pape [5], uses a more complicated strategy for adding nodes to either the front or back of the queue, depending on whether they have been processed before. This improves the performance of the algorithm, allowing the solutions to be computed in fewer iterations, on average. In the following sections we refer to this as the d'Esopo algorithm.
Hislop [] has compared the performance of four optimal algorithms (dynamic programming, Dijkstra's algorithm, d'Esopo's algorithm and a branch and bound algorithm) for path finding applications on a regular grid, analogous to the type resulting from the formulation for images which we describe below. He found that the d'Esopo algorithm was the fastest with measured time complexity, O(n), where n is the number of nodes in the graph. The space complexity for the d'Esopo algorithm is also O(n).