public abstract class FastMarcherBase
extends java.lang.Object
| Constructor and Description | 
|---|
| FastMarcherBase(int dataSize,
               FastMarcherUtility utility)Creates a FastMarcher object for a given data size, and uses the
 supplied utility object to connect to data for finding neighbours and
 computing distances | 
| Modifier and Type | Method and Description | 
|---|---|
| void | clear()Removes internal distance and voronoi arrays so they will be re-created on
 the next call to @{link  march(int) | 
| static IndexedBinaryHeap | createDistanceHeap(double[] distance)Creates a binary heap that is useful for finding the farthest point
 in the supplied array of distances. | 
| double[] | getDistance()Retrieves a vector of the current distances | 
| IndexedBinaryHeap | getDistanceHeap()Retrieves an associated distance binary heap. | 
| int | getFarthest()Gets the index of the farthest point, -1 if distances are not
 initialized | 
| int[] | getVoronoi()Gets the voronoi region assignments. | 
| void | initializeArrays()Creates distance and voronoi arrays if required, and fills them with their
 default values (distance=infinity, voronoi=-1). | 
| void | march(int start)Performs the fast marching algorithm starting at data point with index
  start. | 
| void | march(int[] start)Performs the fast marching algorithm starting at points with indices given
 in  start. | 
| void | march(int[] start,
     int[] voronoi,
     double[] distance)Performs the fast marching algorithm starting at data points with indices
 given by  start, using the supplied voronoi and distance arrays
 instead of this object's internal version. | 
| void | march(int start,
     int[] voronoi,
     double[] distance)Performs the fast marching algorithm starting at data point with index
  start, using the supplied voronoi and distance arrays instead of
 this object's internal versions. | 
| void | reset()Creates and/or re-initializes internal set of distance and voronoi arrays | 
| void | setDistance(double[] d)Sets the distance vector to use | 
| void | setDistanceHeap(IndexedBinaryHeap distHeap)Useful for farthest point sampling, sets a heap to be updated every time a
 distance value is assigned. | 
| void | setVoronoi(int[] v)Sets the vector to be used to hold voronoi indicies | 
| void | startmarch(int start) | 
| void | startmarch(int[] start)Performs the fast marching algorithm starting at data points with indices
 given by  start, using the supplied voronoi and distance arrays
 instead of this object's internal version. | 
| int | step() | 
public FastMarcherBase(int dataSize,
                       FastMarcherUtility utility)
public static IndexedBinaryHeap createDistanceHeap(double[] distance)
public void setDistanceHeap(IndexedBinaryHeap distHeap)
distHeap - distance heappublic IndexedBinaryHeap getDistanceHeap()
public int getFarthest()
public double[] getDistance()
public void setDistance(double[] d)
public int[] getVoronoi()
public void setVoronoi(int[] v)
v - voronoi index vectorpublic void initializeArrays()
public void march(int[] start)
start.public void march(int start)
start.public void march(int start,
                  int[] voronoi,
                  double[] distance)
start, using the supplied voronoi and distance arrays instead of
 this object's internal versions.public void march(int[] start,
                  int[] voronoi,
                  double[] distance)
start, using the supplied voronoi and distance arrays
 instead of this object's internal version.public void startmarch(int start)
public void startmarch(int[] start)
start, using the supplied voronoi and distance arrays
 instead of this object's internal version.public int step()
public void clear()
march(int)public void reset()