Catalano.Imaging.ActiveContour.Ovuscule
Interface IOvusculeSnake2D
-
- All Known Implementing Classes:
- Ovuscule
public interface IOvusculeSnake2DThis interface encapsulates the number-crunching aspect of snakes.- See Also:
OvusculeSnake2DKeeper,OvusculeSnake2DNode
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description doubleenergy()The purpose of this method is to compute the energy of the snake.DoublePoint[]getEnergyGradient()The purpose of this method is to compute the gradient of the snake energy with respect to the snake-defining nodes.OvusculeSnake2DNode[]getNodes()This method provides an accessor to the snake-defining nodes.OvusculeSnake2DScale[]getScales()The purpose of this method is to detemine what to draw on screen, given the current configuration of nodes.voidsetNodes(OvusculeSnake2DNode[] node)This method provides a mutator to the snake-defining nodes.
-
-
-
Method Detail
-
energy
double energy()
The purpose of this method is to compute the energy of the snake.This energy is usually made of three additive terms: 1) the image energy, which gives the driving force associated to the data; 2) the internal energy, which favors smoothness of the snake; and 3) the constraint energy, which incorporates a priori knowledge. This method is called repeatedly during the optimization of the snake. It is imperative that this function be everywhere differentiable with respect to the snake-defining nodes. - Returns:
- Return a number that should attain a minimal value when the snake is optimal. Negative values are admissible.
-
getEnergyGradient
DoublePoint[] getEnergyGradient()
The purpose of this method is to compute the gradient of the snake energy with respect to the snake-defining nodes.This method is called repeatedly during the optimization of the snake. The optimization takes place under the control of the method OvusculeSnake2DKeeper.Optimize().- Returns:
- Return an array that contains the gradient values associated
to each node. They predict the variation of the energy for a
horizontal or vertical displacement of one pixel. The ordering of the
nodes must follow that of
getNodes(). Ifnullis returned, the optimizer within the classOvusculeSnake2DKeeperwill attempt to estimate the gradient by a finite-difference approach. - See Also:
getNodes()
-
getNodes
OvusculeSnake2DNode[] getNodes()
This method provides an accessor to the snake-defining nodes.- Returns:
- Return an array of subpixel node locations. It is expected that the ordering of the nodes and the number of nodes does not change during the lifetime of the snake.
- See Also:
setNodes(Catalano.Imaging.ActiveContour.Ovuscule.OvusculeSnake2DNode[])
-
getScales
OvusculeSnake2DScale[] getScales()
The purpose of this method is to detemine what to draw on screen, given the current configuration of nodes. This method is called repeatedly during the user interaction provided by the methodOvusculeSnake2DKeeper.interactAndOptimize(). The origin of coordinates lies at the top-left corner of thedisplayparameter. Collectively, the array of scales forms the skin of the snake.- Returns:
- Return an array of
OvusculeSnake2DScaleobjects. Straight lines will be drawn between the apices of each polygon, in the specified color. It is not necessary to maintain a constant number of polygons in the array, or a constant number of apices in a given polygon. - See Also:
OvusculeSnake2DScale
-
setNodes
void setNodes(OvusculeSnake2DNode[] node)
This method provides a mutator to the snake-defining nodes. It will be called repeatedly by the methodOvusculeSnake2DKeeper.Optimize().- Parameters:
node- Array of subpixel node locations.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG