38class CSOLiveWireGraphBase;
46 CSOLiveWireGraph(
float* imageData,
unsigned int sizex,
unsigned int sizey,
bool useCostsDirectly,
float voxelSizeX=1.0f,
float voxelSizeY=1.0f);
61 void setWeights(
float weightGradient,
float weightLaplace,
float weightDirection);
#define MLCSO_EXPORT
Defines export symbols for classes, so they can be used in other DLLs.
The class maintains a graph for applying a shortest path algorithm on.
void getShortestPathToStart(VoxelPos endPos, std::vector< VoxelPos > &intermediatePositions, CSOLiveWireNeighborhoodMode neighborhoodMode, bool reverse=true)
Computes the shortest path from the given endPos to the graph's internal start position.
CSOLiveWireGraph(float *imageData, unsigned int sizex, unsigned int sizey, bool useCostsDirectly, float voxelSizeX=1.0f, float voxelSizeY=1.0f)
Constructor that takes an array with image values and the image's size as arguments.
void setWeights(float weightGradient, float weightLaplace, float weightDirection)
Sets the weights for individual costs (only used if useCostsDirectly == false).
CSOLiveWireGraphBase * _impl
void setStartPosition(VoxelPos startVoxelPos)
Sets the starting position.
~CSOLiveWireGraph()
Standard destructor.
CSOLiveWireNeighborhoodMode
The neighborhood modes for the graph search.
@ CSO_LIVE_WIRE_8_NEIGHBORHOOD
8 neighborhood (main directions and the diagonals).
@ CSO_LIVE_WIRE_4_NEIGHBORHOOD
4 neighborhood (just the main directions).
Structure holding a 2D voxel position.